curses.h   curses.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. * * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 35 skipping to change at line 35
* sale, use or other dealings in this Software without prior written * * sale, use or other dealings in this Software without prior written *
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/************************************************************************** ** /************************************************************************** **
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> * * and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on * * and: Thomas E. Dickey 1996-on *
************************************************************************** **/ ************************************************************************** **/
/* $Id: curses.h.in,v 1.187 2008/08/30 20:11:29 tom Exp $ */ /* $Id: curses.h.in,v 1.220 2011/01/22 19:47:20 tom Exp $ */
#ifndef __NCURSES_H #ifndef __NCURSES_H
#define __NCURSES_H #define __NCURSES_H
#define CURSES 1 #define CURSES 1
#define CURSES_H 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 compile s */ /* These are defined only in curses.h, and are used for conditional compile s */
#define NCURSES_VERSION_MAJOR 5 #define NCURSES_VERSION_MAJOR 5
#define NCURSES_VERSION_MINOR 7 #define NCURSES_VERSION_MINOR 8
#define NCURSES_VERSION_PATCH 20081102 #define NCURSES_VERSION_PATCH 20110226
/* This is defined in more than one ncurses header, for identification */ /* This is defined in more than one ncurses header, for identification */
#undef NCURSES_VERSION #undef NCURSES_VERSION
#define NCURSES_VERSION "5.7" #define NCURSES_VERSION "5.8"
/* /*
* Identify the mouse encoding version. * Identify the mouse encoding version.
*/ */
#define NCURSES_MOUSE_VERSION 1 #define NCURSES_MOUSE_VERSION 1
/* /*
* Definitions to facilitate DLL's. * Definitions to facilitate DLL's.
*/ */
#include <ncurses/ncurses_dll.h> #include <ncurses/ncurses_dll.h>
skipping to change at line 113 skipping to change at line 107
#define NCURSES_COLOR_T short #define NCURSES_COLOR_T short
/* /*
* Definition used to make WINDOW and similar structs opaque. * Definition used to make WINDOW and similar structs opaque.
*/ */
#ifndef NCURSES_OPAQUE #ifndef NCURSES_OPAQUE
#define NCURSES_OPAQUE 0 #define NCURSES_OPAQUE 0
#endif #endif
/* /*
* The reentrant code relies on the opaque setting, but adds features.
*/
#ifndef NCURSES_REENTRANT
#define NCURSES_REENTRANT 0
#endif
/*
* Control whether bindings for interop support are added.
*/
#undef NCURSES_INTEROP_FUNCS
#define NCURSES_INTEROP_FUNCS 0
/*
* The internal type used for window dimensions. * The internal type used for window dimensions.
*/ */
#undef NCURSES_SIZE_T #undef NCURSES_SIZE_T
#define NCURSES_SIZE_T short #define NCURSES_SIZE_T short
/* /*
* Control whether tparm() supports varargs or fixed-parameter list. * Control whether tparm() supports varargs or fixed-parameter list.
*/ */
#undef NCURSES_TPARM_VARARGS #undef NCURSES_TPARM_VARARGS
#define NCURSES_TPARM_VARARGS 1 #define NCURSES_TPARM_VARARGS 1
skipping to change at line 140 skipping to change at line 147
#define NCURSES_CH_T chtype #define NCURSES_CH_T chtype
#if 0 && defined(_LP64) #if 0 && defined(_LP64)
typedef unsigned chtype; typedef unsigned chtype;
typedef unsigned mmask_t; typedef unsigned mmask_t;
#else #else
typedef unsigned long chtype; typedef unsigned long chtype;
typedef unsigned long mmask_t; typedef unsigned long mmask_t;
#endif #endif
/*
* We need FILE, etc. Include this before checking any feature symbols.
*/
#include <stdio.h> #include <stdio.h>
#include <ncurses/unctrl.h>
/*
* With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
* conflicting) when _XOPEN_SOURCE is 500 or greater.
*/
#undef NCURSES_WIDECHAR
#if defined(_XOPEN_SOURCE_EXTENDED) || defined(_XPG5)
#define NCURSES_WIDECHAR
#endif
#include <stdarg.h> /* we need va_list */ #include <stdarg.h> /* we need va_list */
#ifdef _XOPEN_SOURCE_EXTENDED #ifdef NCURSES_WIDECHAR
#include <stddef.h> /* we want wchar_t */ #include <stddef.h> /* we want wchar_t */
#endif /* _XOPEN_SOURCE_EXTENDED */ #endif
/* X/Open and SVr4 specify that curses implements 'bool'. However, C++ may also /* X/Open 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 confl ict * implement it. If so, we must use the C++ compiler's type to avoid confl ict
* with other interfaces. * with other interfaces.
* *
* A further complication is that <stdbool.h> may declare 'bool' to be a * A further complication is that <stdbool.h> may declare 'bool' to be a
* different type, such as an enum which is not necessarily compatible with * different type, such as an enum which is not necessarily compatible with
* C++. If we have <stdbool.h>, make 'bool' a macro, so users may #undef i t. * C++. If we have <stdbool.h>, make 'bool' a macro, so users may #undef i t.
* Otherwise, let it remain a typedef to avoid conflicts with other #define 's. * 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 nee ded * In either case, make a typedef for NCURSES_BOOL which can be used if nee ded
skipping to change at line 227 skipping to change at line 246
#define COLOR_RED 1 #define COLOR_RED 1
#define COLOR_GREEN 2 #define COLOR_GREEN 2
#define COLOR_YELLOW 3 #define COLOR_YELLOW 3
#define COLOR_BLUE 4 #define COLOR_BLUE 4
#define COLOR_MAGENTA 5 #define COLOR_MAGENTA 5
#define COLOR_CYAN 6 #define COLOR_CYAN 6
#define COLOR_WHITE 7 #define COLOR_WHITE 7
/* line graphics */ /* line graphics */
#if 0 || 0 #if 0 || NCURSES_REENTRANT
NCURSES_WRAPPED_VAR(chtype*, acs_map); NCURSES_WRAPPED_VAR(chtype*, acs_map);
#define acs_map (_nc_acs_map()) #define acs_map NCURSES_PUBLIC_VAR(acs_map())
#else #else
extern NCURSES_EXPORT_VAR(chtype) acs_map[]; extern NCURSES_EXPORT_VAR(chtype) acs_map[];
#endif #endif
#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)]) #define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)])
/* VT100 symbols begin here */ /* VT100 symbols begin here */
#define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */ #define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */
#define ACS_LLCORNER NCURSES_ACS('m') /* lower left corner */ #define ACS_LLCORNER NCURSES_ACS('m') /* lower left corner */
#define ACS_URCORNER NCURSES_ACS('k') /* upper right corner */ #define ACS_URCORNER NCURSES_ACS('k') /* upper right corner */
skipping to change at line 326 skipping to change at line 345
* this value is used in the oldindex field to mark lines created by insert ions * this value is used in the oldindex field to mark lines created by insert ions
* and scrolls. * and scrolls.
*/ */
#define _NEWINDEX -1 #define _NEWINDEX -1
typedef struct screen SCREEN; typedef struct screen SCREEN;
typedef struct _win_st WINDOW; typedef struct _win_st WINDOW;
typedef chtype attr_t; /* ...must be at least as wide as ch type */ typedef chtype attr_t; /* ...must be at least as wide as ch type */
#ifdef _XOPEN_SOURCE_EXTENDED #ifdef NCURSES_WIDECHAR
#if 0 #if 0
#ifdef mblen /* libutf8.h defines it w/o undefining first */ #ifdef mblen /* libutf8.h defines it w/o undefining first */
#undef mblen #undef mblen
#endif #endif
#include <libutf8.h> #include <libutf8.h>
#endif #endif
#if 0 #if 0
#include <wchar.h> /* ...to get mbstate_t, etc. */ #include <wchar.h> /* ...to get mbstate_t, etc. */
#endif #endif
#if 0 #if 0
typedef unsigned short wchar_t; typedef unsigned short wchar_t;
#endif #endif
#if 0 #if 0
typedef unsigned int wint_t; typedef unsigned int wint_t;
#endif #endif
/*
* cchar_t stores an array of CCHARW_MAX wide characters. The first is
* normally a spacing character. The others are non-spacing. If those
* (spacing and nonspacing) do not fill the array, a null L'\0' follows.
* Otherwise, a null is assumed to follow when extracting via getcchar().
*/
#define CCHARW_MAX 5 #define CCHARW_MAX 5
typedef struct typedef struct
{ {
attr_t attr; attr_t attr;
wchar_t chars[CCHARW_MAX]; wchar_t chars[CCHARW_MAX];
#if 0 #if 0
#undef NCURSES_EXT_COLORS #undef NCURSES_EXT_COLORS
#define NCURSES_EXT_COLORS 20081102 #define NCURSES_EXT_COLORS 20110226
int ext_color; /* color pair, must be more than 16- bits */ int ext_color; /* color pair, must be more than 16- bits */
#endif #endif
} }
cchar_t; cchar_t;
#endif /* _XOPEN_SOURCE_EXTENDED */ #endif /* NCURSES_WIDECHAR */
#if !NCURSES_OPAQUE #if !NCURSES_OPAQUE
struct ldat; struct ldat;
struct _win_st struct _win_st
{ {
NCURSES_SIZE_T _cury, _curx; /* current cursor position */ NCURSES_SIZE_T _cury, _curx; /* current cursor position */
/* window location and size */ /* window location and size */
NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */ NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */
skipping to change at line 412 skipping to change at line 437
/* these are used only if this is a pad */ /* these are used only if this is a pad */
struct pdat struct pdat
{ {
NCURSES_SIZE_T _pad_y, _pad_x; NCURSES_SIZE_T _pad_y, _pad_x;
NCURSES_SIZE_T _pad_top, _pad_left; NCURSES_SIZE_T _pad_top, _pad_left;
NCURSES_SIZE_T _pad_bottom, _pad_right; NCURSES_SIZE_T _pad_bottom, _pad_right;
} _pad; } _pad;
NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */ NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
#ifdef _XOPEN_SOURCE_EXTENDED #ifdef NCURSES_WIDECHAR
cchar_t _bkgrnd; /* current background char/attribute pair */ cchar_t _bkgrnd; /* current background char/attribute pair */
#if 0 #if 0
int _color; /* current color-pair for non-space characte r */ int _color; /* current color-pair for non-space characte r */
#endif #endif
#endif #endif
}; };
#endif /* NCURSES_OPAQUE */ #endif /* NCURSES_OPAQUE */
/* /*
* This is an extension to support events... * This is an extension to support events...
skipping to change at line 464 skipping to change at line 489
} data; } data;
} _nc_event; } _nc_event;
typedef struct typedef struct
{ {
int count; int count;
int result_flags; /* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */ int result_flags; /* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */
_nc_event *events[1]; _nc_event *events[1];
} _nc_eventlist; } _nc_eventlist;
extern NCURSES_EXPORT(int) wgetch_events(WINDOW *, _nc_eventlist *); /* e extern NCURSES_EXPORT(int) wgetch_events (WINDOW *, _nc_eventlist *); /* e
xperimental */ xperimental */
extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlis extern NCURSES_EXPORT(int) wgetnstr_events (WINDOW *,char *,int,_nc_eventli
t *);/* experimental */ st *);/* experimental */
#endif /* NCURSES_WGETCH_EVENTS */ #endif /* NCURSES_WGETCH_EVENTS */
#endif /* NCURSES_EXT_FUNCS */ #endif /* NCURSES_EXT_FUNCS */
/* /*
* GCC (and some other compilers) define '__attribute__'; we're using this * GCC (and some other compilers) define '__attribute__'; we're using this
* macro to alert the compiler to flag inconsistencies in printf/scanf-like * macro to alert the compiler to flag inconsistencies in printf/scanf-like
* function calls. Just in case '__attribute__' isn't defined, make a dumm y. * function calls. Just in case '__attribute__' isn't defined, make a dumm y.
* Old versions of G++ do not accept it anyway, at least not consistently w ith * Old versions of G++ do not accept it anyway, at least not consistently w ith
* GCC. * GCC.
skipping to change at line 514 skipping to change at line 539
#ifndef GCC_NORETURN #ifndef GCC_NORETURN
#define GCC_NORETURN /* nothing */ #define GCC_NORETURN /* nothing */
#endif #endif
#ifndef GCC_UNUSED #ifndef GCC_UNUSED
#define GCC_UNUSED /* nothing */ #define GCC_UNUSED /* nothing */
#endif #endif
/* /*
* Curses uses a helper function. Define our type for this to simplify
* extending it for the sp-funcs feature.
*/
typedef int (*NCURSES_OUTC)(int);
/*
* Function prototypes. This is the complete X/Open Curses list of require d * Function prototypes. This is the complete X/Open Curses list of require d
* functions. Those marked `generated' will have sources generated from th e * functions. Those marked `generated' will have sources generated from th e
* macro definitions later in this file, in order to satisfy XPG4.2 * macro definitions later in this file, in order to satisfy XPG4.2
* requirements. * requirements.
*/ */
extern NCURSES_EXPORT(int) addch (const chtype); /* g enerated */ extern NCURSES_EXPORT(int) addch (const chtype); /* g enerated */
extern NCURSES_EXPORT(int) addchnstr (const chtype *, int); /* g enerated */ extern NCURSES_EXPORT(int) addchnstr (const chtype *, int); /* g enerated */
extern NCURSES_EXPORT(int) addchstr (const chtype *); /* g enerated */ extern NCURSES_EXPORT(int) addchstr (const chtype *); /* g enerated */
extern NCURSES_EXPORT(int) addnstr (const char *, int); /* generated */ extern NCURSES_EXPORT(int) addnstr (const char *, int); /* generated */
skipping to change at line 649 skipping to change at line 680
extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int); /* generated */ extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int); /* generated */
extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *); /* g enerated */ extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *); /* g enerated */
extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int); /* g enerated */ extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int); /* g enerated */
extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int); /* i mplemented */ extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int); /* i mplemented */
extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int); /* generated */ extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int); /* generated */
extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, 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) mvwinchstr (WINDOW *, int, int, chtype *); /* generated */
extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int); /* 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) mvwinsch (WINDOW *, int, int, chtype); /* generated */
extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, in t); /* generated */ extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, in t); /* generated */
extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* 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) mvwinstr (WINDOW *, int, int, char *); /* generated */
extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */ extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */
GCC_PRINTFLIKE(4,5); GCC_PRINTFLIKE(4,5);
extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char * ,...) /* implemented */ extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char * ,...) /* implemented */
GCC_SCANFLIKE(4,5); GCC_SCANFLIKE(4,5);
extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* g enerated */ extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* g enerated */
extern NCURSES_EXPORT(int) napms (int); /* implemented */ extern NCURSES_EXPORT(int) napms (int); /* implemented */
extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */ extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* i mplemented */
extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE * ); /* 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(WINDOW *) newwin (int,int,int,int); /* i mplemented */
extern NCURSES_EXPORT(int) nl (void); /* i mplemented */ extern NCURSES_EXPORT(int) nl (void); /* i mplemented */
extern NCURSES_EXPORT(int) nocbreak (void); /* i mplemented */ extern NCURSES_EXPORT(int) nocbreak (void); /* i mplemented */
extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* i mplemented */ extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* i mplemented */
extern NCURSES_EXPORT(int) noecho (void); /* i mplemented */ extern NCURSES_EXPORT(int) noecho (void); /* i mplemented */
extern NCURSES_EXPORT(int) nonl (void); /* implemented */ extern NCURSES_EXPORT(int) nonl (void); /* implemented */
extern NCURSES_EXPORT(void) noqiflush (void); /* i mplemented */ extern NCURSES_EXPORT(void) noqiflush (void); /* i mplemented */
extern NCURSES_EXPORT(int) noraw (void); /* i mplemented */ extern NCURSES_EXPORT(int) noraw (void); /* i mplemented */
extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool); /* i mplemented */ extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool); /* i mplemented */
extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *); /* i mplemented */ extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *); /* i mplemented */
extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *); /* i mplemented */ extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *); /* i mplemented */
skipping to change at line 713 skipping to change at line 744
extern NCURSES_EXPORT(attr_t) slk_attr (void); /* i mplemented */ extern NCURSES_EXPORT(attr_t) slk_attr (void); /* i mplemented */
extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,short,void*); /* i mplemented */ extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,short,void*); /* i mplemented */
extern NCURSES_EXPORT(int) slk_clear (void); /* i mplemented */ extern NCURSES_EXPORT(int) slk_clear (void); /* i mplemented */
extern NCURSES_EXPORT(int) slk_color (short); /* i mplemented */ extern NCURSES_EXPORT(int) slk_color (short); /* i mplemented */
extern NCURSES_EXPORT(int) slk_init (int); /* i mplemented */ extern NCURSES_EXPORT(int) slk_init (int); /* i mplemented */
extern NCURSES_EXPORT(char *) slk_label (int); /* i mplemented */ extern NCURSES_EXPORT(char *) slk_label (int); /* i mplemented */
extern NCURSES_EXPORT(int) slk_noutrefresh (void); /* i mplemented */ extern NCURSES_EXPORT(int) slk_noutrefresh (void); /* i mplemented */
extern NCURSES_EXPORT(int) slk_refresh (void); /* i mplemented */ extern NCURSES_EXPORT(int) slk_refresh (void); /* i mplemented */
extern NCURSES_EXPORT(int) slk_restore (void); /* i mplemented */ extern NCURSES_EXPORT(int) slk_restore (void); /* i mplemented */
extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* i mplemented */ extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* i mplemented */
extern NCURSES_EXPORT(int) slk_touch (void); /* i mplemented */ extern NCURSES_EXPORT(int) slk_touch (void); /* i mplemented */
extern NCURSES_EXPORT(int) standout (void); /* g enerated */ extern NCURSES_EXPORT(int) standout (void); /* g enerated */
extern NCURSES_EXPORT(int) standend (void); /* g enerated */ extern NCURSES_EXPORT(int) standend (void); /* g enerated */
extern NCURSES_EXPORT(int) start_color (void); /* i mplemented */ extern NCURSES_EXPORT(int) start_color (void); /* i mplemented */
extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* i mplemented */ extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* i mplemented */
extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int); /* i mplemented */ extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int); /* i mplemented */
extern NCURSES_EXPORT(int) syncok (WINDOW *, bool); /* i mplemented */ extern NCURSES_EXPORT(int) syncok (WINDOW *, bool); /* i mplemented */
extern NCURSES_EXPORT(chtype) termattrs (void); /* implemented */ extern NCURSES_EXPORT(chtype) termattrs (void); /* implemented */
extern NCURSES_EXPORT(char *) termname (void); /* i mplemented */ extern NCURSES_EXPORT(char *) termname (void); /* i mplemented */
extern NCURSES_EXPORT(void) timeout (int); /* g enerated */ extern NCURSES_EXPORT(void) timeout (int); /* g enerated */
extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int); /* g enerated */ extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int); /* g enerated */
extern NCURSES_EXPORT(int) touchwin (WINDOW *); /* generated */ extern NCURSES_EXPORT(int) touchwin (WINDOW *); /* generated */
extern NCURSES_EXPORT(int) typeahead (int); /* i mplemented */ extern NCURSES_EXPORT(int) typeahead (int); /* i mplemented */
extern NCURSES_EXPORT(int) ungetch (int); /* i mplemented */ extern NCURSES_EXPORT(int) ungetch (int); /* i mplemented */
extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* g enerated */
extern NCURSES_EXPORT(void) use_env (bool); /* i mplemented */ extern NCURSES_EXPORT(void) use_env (bool); /* i mplemented */
extern NCURSES_EXPORT(int) vidattr (chtype); /* i mplemented */ extern NCURSES_EXPORT(int) vidattr (chtype); /* i mplemented */
extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int)); /* i mplemented */ extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC); /* i mplemented */
extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */ extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */
extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* i mplemented */ extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* i mplemented */
extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* g enerated */ extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* g enerated */
extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list) ; /* implemented */ 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) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list ); /* generated */
extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype); /* i mplemented */ extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype); /* i mplemented */
extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int); /* i mplemented */ extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int); /* i mplemented */
extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *); /* generated */ extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *); /* generated */
extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int); /* i mplemented */ extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int); /* i mplemented */
extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *); /* g enerated */ extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *); /* g enerated */
skipping to change at line 808 skipping to change at line 839
extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* i mplemented */ extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* i mplemented */
extern NCURSES_EXPORT(int) putp (const char *); /* implemented */ extern NCURSES_EXPORT(int) putp (const char *); /* implemented */
#if NCURSES_TPARM_VARARGS #if NCURSES_TPARM_VARARGS
extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* s pecial */ extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* s pecial */
#else #else
extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,l ong,long,long,long,long,long); /* special */ extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,l ong,long,long,long,long,long); /* special */
extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */ extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
#endif #endif
extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* s
pecial */
/* /*
* These functions are not in X/Open, but we use them in macro definitions: * These functions are not in X/Open, but we use them in macro definitions:
*/ */
extern NCURSES_EXPORT(int) getattrs (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getattrs (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) getcurx (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getcurx (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) getcury (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getcury (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) getbegx (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getbegx (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) getbegy (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getbegy (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) getmaxx (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getmaxx (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) getmaxy (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getmaxy (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) getparx (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getparx (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* g enerated */
/* /*
* vid_attr() was implemented originally based on a draft of X/Open curses. * vid_attr() was implemented originally based on a draft of X/Open curses.
*/ */
#ifndef _XOPEN_SOURCE_EXTENDED #ifndef NCURSES_WIDECHAR
#define vid_attr(a,pair,opts) vidattr(a) #define vid_attr(a,pair,opts) vidattr(a)
#endif #endif
/* /*
* These functions are extensions - not in X/Open Curses. * These functions are extensions - not in X/Open Curses.
*/ */
#if 1 #if 1
#undef NCURSES_EXT_FUNCS #undef NCURSES_EXT_FUNCS
#define NCURSES_EXT_FUNCS 20081102 #define NCURSES_EXT_FUNCS 20110226
typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *); typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *); typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
extern NCURSES_EXPORT(bool) is_term_resized (int, int); extern NCURSES_EXPORT(bool) is_term_resized (int, int);
extern NCURSES_EXPORT(char *) keybound (int, int); extern NCURSES_EXPORT(char *) keybound (int, int);
extern NCURSES_EXPORT(const char *) curses_version (void); extern NCURSES_EXPORT(const char *) curses_version (void);
extern NCURSES_EXPORT(int) assume_default_colors (int, int); extern NCURSES_EXPORT(int) assume_default_colors (int, int);
extern NCURSES_EXPORT(int) define_key (const char *, int); extern NCURSES_EXPORT(int) define_key (const char *, int);
extern NCURSES_EXPORT(int) get_escdelay (void);
extern NCURSES_EXPORT(int) key_defined (const char *); extern NCURSES_EXPORT(int) key_defined (const char *);
extern NCURSES_EXPORT(int) keyok (int, bool); extern NCURSES_EXPORT(int) keyok (int, bool);
extern NCURSES_EXPORT(int) resize_term (int, int); extern NCURSES_EXPORT(int) resize_term (int, int);
extern NCURSES_EXPORT(int) resizeterm (int, int); extern NCURSES_EXPORT(int) resizeterm (int, int);
extern NCURSES_EXPORT(int) set_escdelay (int); extern NCURSES_EXPORT(int) set_escdelay (int);
extern NCURSES_EXPORT(int) set_tabsize (int); extern NCURSES_EXPORT(int) set_tabsize (int);
extern NCURSES_EXPORT(int) use_default_colors (void); extern NCURSES_EXPORT(int) use_default_colors (void);
extern NCURSES_EXPORT(int) use_extended_names (bool); extern NCURSES_EXPORT(int) use_extended_names (bool);
extern NCURSES_EXPORT(int) use_legacy_coding (int); extern NCURSES_EXPORT(int) use_legacy_coding (int);
extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *) ; extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *) ;
skipping to change at line 868 skipping to change at line 902
*/ */
extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *); /* generated */ extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *); /* generated */ extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *); /* generated */ extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *); /* generated */ extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *); /* generated */ extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *); /* generated */ extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *); /* generated */ extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *); /* generated */ extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_pad (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *); /* generated */ extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *); /* generated */
extern NCURSES_EXPORT(bool) is_subwin (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *); /* g enerated */ extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *); /* g enerated */
extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* ge nerated */ extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* ge nerated */
#else #else
#define curses_version() NCURSES_VERSION #define curses_version() NCURSES_VERSION
#endif #endif
/*
* Extra extension-functions, which pass a SCREEN pointer rather than using
* a global variable SP.
*/
#if 0
#undef NCURSES_SP_FUNCS
#define NCURSES_SP_FUNCS 20110226
#define NCURSES_SP_NAME(name) name##_sp
/* Define the sp-funcs helper function */
#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
extern NCURSES_EXPORT(SCREEN *) new_prescr (void); /* implemented:SP_FUNC *
/
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(baudrate) (SCREEN*); /* implemen
ted:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(beep) (SCREEN*); /* implemented:
SP_FUNC */
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (SCREEN*); /*
implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(cbreak) (SCREEN*); /* implemente
d:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(curs_set) (SCREEN*, int); /* imp
lemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, short,
short*, short*, short*); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_prog_mode) (SCREEN*); /* imp
lemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_shell_mode) (SCREEN*); /* im
plemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(delay_output) (SCREEN*, int); /*
implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(doupdate) (SCREEN*); /* implemen
ted:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(echo) (SCREEN*); /* implemented:
SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(endwin) (SCREEN*); /* implemente
d:SP_FUNC */
extern NCURSES_EXPORT(char) NCURSES_SP_NAME(erasechar) (SCREEN*);/* impleme
nted:SP_FUNC */
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(filter) (SCREEN*); /* implement
ed:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flash) (SCREEN*); /* implemented
:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flushinp) (SCREEN*); /* implemen
ted:SP_FUNC */
extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(getwin) (SCREEN*, FILE *);
/* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay) (SCREEN*, int); /* im
plemented:SP_FUNC */
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* imple
mented:SP_FUNC */
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implement
ed:SP_FUNC */
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_il) (SCREEN*); /* implement
ed:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, short, sho
rt, short, short); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, short, shor
t, short); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(intrflush) (SCREEN*, WINDOW*, bo
ol); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(isendwin) (SCREEN*); /* impleme
nted:SP_FUNC */
extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(keyname) (SCREE
N*, int); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(char) NCURSES_SP_NAME(killchar) (SCREEN*); /* impleme
nted:SP_FUNC */
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname) (SCREEN*); /* imple
mented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mvcur) (SCREEN*, int, int, int,
int); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(napms) (SCREEN*, int); /* implem
ented:SP_FUNC */
extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newpad) (SCREEN*, int, int)
; /* implemented:SP_FUNC */
extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, NCURSES_
CONST char *, FILE *, FILE *); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newwin) (SCREEN*, int, int,
int, int); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (SCREEN*); /* implemented:SP
_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nocbreak) (SCREEN*); /* implemen
ted:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (SCREEN*); /* implemente
d:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (SCREEN*); /* implemented:
SP_FUNC */
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(noqiflush) (SCREEN*); /* implem
ented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noraw) (SCREEN*); /* implemented
:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, short, s
hort*, short*); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(qiflush) (SCREEN*); /* implemen
ted:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented:S
P_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* i
mplemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_shell_mode) (SCREEN*); /*
implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resetty) (SCREEN*); /* implement
ed:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ripoffline) (SCREEN*, int, int (
*)(WINDOW *, int)); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(savetty) (SCREEN*); /* implement
ed:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_init) (SCREEN*, const char *
); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_restore) (SCREEN*, const cha
r *); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_set) (SCREEN*, const char *)
; /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const cht
ype); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chty
pe); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (SCREEN*, const cht
ype); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (SCREEN*); /* imple
mented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const at
tr_t, short, void*); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (SCREEN*); /* impleme
nted:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, short); /*
implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_init) (SCREEN*, int); /* imp
lemented:SP_FUNC */
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (SCREEN*, int); /*
implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_noutrefresh) (SCREEN*); /* i
mplemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_refresh) (SCREEN*); /* imple
mented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_restore) (SCREEN*); /* imple
mented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_set) (SCREEN*, int, const ch
ar *, int); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_touch) (SCREEN*); /* impleme
nted:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(start_color) (SCREEN*); /* imple
mented:SP_FUNC */
extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(termattrs) (SCREEN*); /* impl
emented:SP_FUNC */
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (SCREEN*); /* imple
mented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* im
plemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* impl
emented:SP_FUNC */
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* im
plemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype); /* i
mplemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURS
ES_SP_OUTC); /* implemented:SP_FUNC */
#if 1
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(keybound) (SCREEN*, int, int)
; /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(assume_default_colors) (SCREEN*,
int, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(define_key) (SCREEN*, const char
*, int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(get_escdelay) (SCREEN*); /* i
mplemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(is_term_resized) (SCREEN*, int,
int); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(key_defined) (SCREEN*, const cha
r *); /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(keyok) (SCREEN*, int, bool);
/* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(nofilter) (SCREEN*); /* impleme
nted */ /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resize_term) (SCREEN*, int, int)
; /* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resizeterm) (SCREEN*, int, int);
/* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_escdelay) (SCREEN*, int);
/* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_tabsize) (SCREEN*, int);
/* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_default_colors) (SCREEN*);
/* implemented:EXT_SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int
); /* implemented:EXT_SP_FUNC */
#endif
#else
#undef NCURSES_SP_FUNCS
#define NCURSES_SP_FUNCS 0
#define NCURSES_SP_NAME(name) name
#define NCURSES_SP_OUTC NCURSES_OUTC
#endif
/* attributes */ /* attributes */
#define NCURSES_ATTR_SHIFT 8 #define NCURSES_ATTR_SHIFT 8
#define NCURSES_BITS(mask,shift) ((mask) << ((shift) + NCURSES_ATTR_SHIFT)) #define NCURSES_BITS(mask,shift) ((mask) << ((shift) + NCURSES_ATTR_SHIFT))
#define A_NORMAL (1UL - 1UL) #define A_NORMAL (1UL - 1UL)
#define A_ATTRIBUTES NCURSES_BITS(~(1UL - 1UL),0) #define A_ATTRIBUTES NCURSES_BITS(~(1UL - 1UL),0)
#define A_CHARTEXT (NCURSES_BITS(1UL,0) - 1UL) #define A_CHARTEXT (NCURSES_BITS(1UL,0) - 1UL)
#define A_COLOR NCURSES_BITS(((1UL) << 8) - 1UL,0) #define A_COLOR NCURSES_BITS(((1UL) << 8) - 1UL,0)
#define A_STANDOUT NCURSES_BITS(1UL,8) #define A_STANDOUT NCURSES_BITS(1UL,8)
skipping to change at line 954 skipping to change at line 1100
#define fixterm() reset_prog_mode() #define fixterm() reset_prog_mode()
#define resetterm() reset_shell_mode() #define resetterm() reset_shell_mode()
#define saveterm() def_prog_mode() #define saveterm() def_prog_mode()
#define crmode() cbreak() #define crmode() cbreak()
#define nocrmode() nocbreak() #define nocrmode() nocbreak()
#define gettmode() #define gettmode()
/* It seems older SYSV curses versions define these */ /* It seems older SYSV curses versions define these */
#if !NCURSES_OPAQUE #if !NCURSES_OPAQUE
#define getattrs(win) ((win) ? (win)->_attrs : A_NORMAL) #define getattrs(win) NCURSES_CAST(int, (win) ? (win)->_attrs : A_ NORMAL)
#define getcurx(win) ((win) ? (win)->_curx : ERR) #define getcurx(win) ((win) ? (win)->_curx : ERR)
#define getcury(win) ((win) ? (win)->_cury : ERR) #define getcury(win) ((win) ? (win)->_cury : ERR)
#define getbegx(win) ((win) ? (win)->_begx : ERR) #define getbegx(win) ((win) ? (win)->_begx : ERR)
#define getbegy(win) ((win) ? (win)->_begy : ERR) #define getbegy(win) ((win) ? (win)->_begy : ERR)
#define getmaxx(win) ((win) ? ((win)->_maxx + 1) : ERR) #define getmaxx(win) ((win) ? ((win)->_maxx + 1) : ERR)
#define getmaxy(win) ((win) ? ((win)->_maxy + 1) : ERR) #define getmaxy(win) ((win) ? ((win)->_maxy + 1) : ERR)
#define getparx(win) ((win) ? (win)->_parx : ERR) #define getparx(win) ((win) ? (win)->_parx : ERR)
#define getpary(win) ((win) ? (win)->_pary : ERR) #define getpary(win) ((win) ? (win)->_pary : ERR)
#endif /* NCURSES_OPAQUE */ #endif /* NCURSES_OPAQUE */
#define wstandout(win) (wattrset(win,A_STANDOUT)) #define wstandout(win) (wattrset(win,A_STANDOUT))
#define wstandend(win) (wattrset(win,A_NORMAL)) #define wstandend(win) (wattrset(win,A_NORMAL))
#define wattron(win,at) wattr_on(win, NCURSES_CAST(attr_t, a t), NULL) #define wattron(win,at) wattr_on(win, NCURSES_CAST(attr_t, a t), NULL)
#define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NUL L) #define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NUL L)
#if !NCURSES_OPAQUE #if !NCURSES_OPAQUE
#if defined(_XOPEN_SOURCE_EXTENDED) && 0 #if defined(NCURSES_WIDECHAR) && 0
#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \ #define wattrset(win,at) ((win) \
(win)->_attrs = (at)) ? ((win)->_color = PAIR_NUMBER(at), \
(win)->_attrs = NCURSES_CAST(attr_t, a
t), \
OK) \
: ERR)
#else #else
#define wattrset(win,at) ((win)->_attrs = (at)) #define wattrset(win,at) ((win) \
? ((win)->_attrs = NCURSES_CAST(attr_t, at
), \
OK) \
: ERR)
#endif #endif
#endif /* NCURSES_OPAQUE */ #endif /* NCURSES_OPAQUE */
#define scroll(win) wscrl(win,1) #define scroll(win) wscrl(win,1)
#define touchwin(win) wtouchln((win), 0, getmaxy(win), 1) #define touchwin(win) wtouchln((win), 0, getmaxy(win), 1)
#define touchline(win, s, c) wtouchln((win), s, c, 1) #define touchline(win, s, c) wtouchln((win), s, c, 1)
#define untouchwin(win) wtouchln((win), 0, getmaxy(win), 0) #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 box(win, v, h) wborder(win, v, v, h, h, 0, 0, 0, 0)
skipping to change at line 1006 skipping to change at line 1158
#define redrawwin(win) wredrawln(win, 0, (win)->_maxy+1) #define redrawwin(win) wredrawln(win, 0, (win)->_maxy+1)
#endif /* NCURSES_OPAQUE */ #endif /* NCURSES_OPAQUE */
#define waddstr(win,str) waddnstr(win,str,-1) #define waddstr(win,str) waddnstr(win,str,-1)
#define waddchstr(win,str) waddchnstr(win,str,-1) #define waddchstr(win,str) waddchnstr(win,str,-1)
/* /*
* These apply to the first 256 color pairs. * These apply to the first 256 color pairs.
*/ */
#define COLOR_PAIR(n) NCURSES_BITS(n, 0) #define COLOR_PAIR(n) NCURSES_BITS(n, 0)
#define PAIR_NUMBER(a) (NCURSES_CAST(int,(((a) & A_COLOR) >> NCURSES_ATTR_S HIFT))) #define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
/* /*
* pseudo functions for standard screen * pseudo functions for standard screen
*/ */
#define addch(ch) waddch(stdscr,ch) #define addch(ch) waddch(stdscr,ch)
#define addchnstr(str,n) waddchnstr(stdscr,str,n) #define addchnstr(str,n) waddchnstr(stdscr,str,n)
#define addchstr(str) waddchstr(stdscr,str) #define addchstr(str) waddchstr(stdscr,str)
#define addnstr(str,n) waddnstr(stdscr,str,n) #define addnstr(str,n) waddnstr(stdscr,str,n)
#define addstr(str) waddnstr(stdscr,str,-1) #define addstr(str) waddnstr(stdscr,str,-1)
skipping to change at line 1114 skipping to change at line 1266
* Some wide-character functions can be implemented without the extensions. * Some wide-character functions can be implemented without the extensions.
*/ */
#if !NCURSES_OPAQUE #if !NCURSES_OPAQUE
#define getbkgd(win) ((win)->_bkgd) #define getbkgd(win) ((win)->_bkgd)
#endif /* NCURSES_OPAQUE */ #endif /* NCURSES_OPAQUE */
#define slk_attr_off(a,v) ((v) ? ERR : slk_attroff(a)) #define slk_attr_off(a,v) ((v) ? ERR : slk_attroff(a))
#define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a)) #define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a))
#if !NCURSES_OPAQUE #if !NCURSES_OPAQUE
#if defined(_XOPEN_SOURCE_EXTENDED) && 0 #if defined(NCURSES_WIDECHAR) && 0
#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_C OLOR), \ #define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_C OLOR), \
(win)->_color = (p), \ (win)->_color = (p), \
OK) OK)
#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \ #define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
(void)((p) != (void *)0 && (*(p) = (win)->_color)), \ (void)((p) != (void *)0 && (*(p) = (short)(win)->_color)), \
OK) OK)
#else #else
#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_ COLOR) | COLOR_PAIR(p)), OK) #define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_ COLOR) | (attr_t)COLOR_PAIR(p)), OK)
#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \ #define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
(void)((p) != (void *)0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \ (void)((p) != (void *)0 && (*(p) = (short)PAIR_NUMBER((win)->_attrs))), \
OK) OK)
#endif #endif
#endif /* NCURSES_OPAQUE */ #endif /* NCURSES_OPAQUE */
/* /*
* X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to us e * X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to us e
* varargs.h. It adds new calls vw_printw/vw_scanw, which are supposed to * 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 POSIX stdarg.h. The ncurses versions of vwprintw/vwscanw already
* use stdarg.h, so... * use stdarg.h, so...
*/ */
skipping to change at line 1151 skipping to change at line 1303
#if !1 #if !1
#define vsscanf(a,b,c) _nc_vsscanf(a,b,c) #define vsscanf(a,b,c) _nc_vsscanf(a,b,c)
NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list); NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
#endif #endif
/* /*
* These macros are extensions - not in X/Open Curses. * These macros are extensions - not in X/Open Curses.
*/ */
#if 1 #if 1
#if !NCURSES_OPAQUE #if !NCURSES_OPAQUE
#define is_cleared(win) ((win)->_clear) #define is_cleared(win) ((win) ? (win)->_clear : FALSE)
#define is_idcok(win) ((win)->_idcok) #define is_idcok(win) ((win) ? (win)->_idcok : FALSE)
#define is_idlok(win) ((win)->_idlok) #define is_idlok(win) ((win) ? (win)->_idlok : FALSE)
#define is_immedok(win) ((win)->_immed) #define is_immedok(win) ((win) ? (win)->_immed : FALSE)
#define is_keypad(win) ((win)->_use_keypad) #define is_keypad(win) ((win) ? (win)->_use_keypad : FALSE)
#define is_leaveok(win) ((win)->_leaveok) #define is_leaveok(win) ((win) ? (win)->_leaveok : FALSE)
#define is_nodelay(win) ((win)->_delay == 0) #define is_nodelay(win) ((win) ? ((win)->_delay == 0) : FALS
#define is_notimeout(win) ((win)->_notimeout) E)
#define is_scrollok(win) ((win)->_scroll) #define is_notimeout(win) ((win) ? (win)->_notimeout : FALSE)
#define is_syncok(win) ((win)->_sync) #define is_pad(win) ((win) ? ((win)->_flags & _ISPAD) != 0 : FAL
SE)
#define is_scrollok(win) ((win) ? (win)->_scroll : FALSE)
#define is_subwin(win) ((win) ? ((win)->_flags & _SUBWIN) != 0 : FA
LSE)
#define is_syncok(win) ((win) ? (win)->_sync : FALSE)
#define wgetparent(win) ((win) ? (win)->_parent : 0) #define wgetparent(win) ((win) ? (win)->_parent : 0)
#define wgetscrreg(win,t,b) ((win) ? (*(t) = (win)->_regtop, *(b) = (win )->_regbottom, OK) : ERR) #define wgetscrreg(win,t,b) ((win) ? (*(t) = (win)->_regtop, *(b) = (win )->_regbottom, OK) : ERR)
#endif #endif
#endif #endif
#endif /* NCURSES_NOMACROS */ #endif /* NCURSES_NOMACROS */
/* /*
* Public variables. * Public variables.
* *
* Notes: * Notes:
* a. ESCDELAY was an undocumented feature under AIX curses. * a. ESCDELAY was an undocumented feature under AIX curses.
* It gives the ESC expire time in milliseconds. * It gives the ESC expire time in milliseconds.
* b. ttytype is needed for backward compatibility * b. ttytype is needed for backward compatibility
*/ */
#if 0 #if NCURSES_REENTRANT
NCURSES_WRAPPED_VAR(WINDOW *, curscr); NCURSES_WRAPPED_VAR(WINDOW *, curscr);
NCURSES_WRAPPED_VAR(WINDOW *, newscr); NCURSES_WRAPPED_VAR(WINDOW *, newscr);
NCURSES_WRAPPED_VAR(WINDOW *, stdscr); NCURSES_WRAPPED_VAR(WINDOW *, stdscr);
NCURSES_WRAPPED_VAR(char *, ttytype); NCURSES_WRAPPED_VAR(char *, ttytype);
NCURSES_WRAPPED_VAR(int, COLORS); NCURSES_WRAPPED_VAR(int, COLORS);
NCURSES_WRAPPED_VAR(int, COLOR_PAIRS); NCURSES_WRAPPED_VAR(int, COLOR_PAIRS);
NCURSES_WRAPPED_VAR(int, COLS); NCURSES_WRAPPED_VAR(int, COLS);
NCURSES_WRAPPED_VAR(int, ESCDELAY); NCURSES_WRAPPED_VAR(int, ESCDELAY);
NCURSES_WRAPPED_VAR(int, LINES); NCURSES_WRAPPED_VAR(int, LINES);
skipping to change at line 1327 skipping to change at line 1481
#define KEY_SSAVE 0624 /* shifted save key */ #define KEY_SSAVE 0624 /* shifted save key */
#define KEY_SSUSPEND 0625 /* shifted suspend key */ #define KEY_SSUSPEND 0625 /* shifted suspend key */
#define KEY_SUNDO 0626 /* shifted undo key */ #define KEY_SUNDO 0626 /* shifted undo key */
#define KEY_SUSPEND 0627 /* suspend key */ #define KEY_SUSPEND 0627 /* suspend key */
#define KEY_UNDO 0630 /* undo key */ #define KEY_UNDO 0630 /* undo key */
#define KEY_MOUSE 0631 /* Mouse event has occurred */ #define KEY_MOUSE 0631 /* Mouse event has occurred */
#define KEY_RESIZE 0632 /* Terminal resize event */ #define KEY_RESIZE 0632 /* Terminal resize event */
#define KEY_EVENT 0633 /* We were interrupted by an event * / #define KEY_EVENT 0633 /* We were interrupted by an event * /
#define KEY_MAX 0777 /* Maximum key value is 0633 */ #define KEY_MAX 0777 /* Maximum key value is 0633 */
/* $Id: curses.tail,v 1.16 2008/07/05 20:20:38 tom Exp $ */ /* $Id: curses.tail,v 1.20 2010/03/28 19:10:55 tom Exp $ */
/* /*
* vile:cmode: * vile:cmode:
* This file is part of ncurses, designed to be appended after curses.h.in * This file is part of ncurses, designed to be appended after curses.h.in
* (see that file for the relevant copyright). * (see that file for the relevant copyright).
*/ */
/* mouse interface */ /* mouse interface */
#if NCURSES_MOUSE_VERSION > 1 #if NCURSES_MOUSE_VERSION > 1
#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 5)) #define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 5))
skipping to change at line 1423 skipping to change at line 1577
#define BUTTON_RESERVED_EVENT(e, x) ((e) & NCURSES_MOUSE_MASK(x, 040)) #define BUTTON_RESERVED_EVENT(e, x) ((e) & NCURSES_MOUSE_MASK(x, 040))
typedef struct typedef struct
{ {
short id; /* ID to distinguish multiple devices */ short id; /* ID to distinguish multiple devices */
int x, y, z; /* event coordinates (character-cell) */ int x, y, z; /* event coordinates (character-cell) */
mmask_t bstate; /* button state bits */ mmask_t bstate; /* button state bits */
} }
MEVENT; MEVENT;
extern NCURSES_EXPORT(int) getmouse (MEVENT *); extern NCURSES_EXPORT(bool) has_mouse(void);
extern NCURSES_EXPORT(int) ungetmouse (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(mmask_t) mousemask (mmask_t, mmask_t *);
extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int); extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int);
extern NCURSES_EXPORT(int) mouseinterval (int); extern NCURSES_EXPORT(int) mouseinterval (int);
extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW*, int*, int*, bool); extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW*, int*, int*, boo
extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool); /* l);
generated */ extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool);
/* generated */
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_mouse) (SCREEN*);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(getmouse) (SCREEN*, MEVENT *
);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetmouse) (SCREEN*,MEVENT
*);
extern NCURSES_EXPORT(mmask_t) NCURSES_SP_NAME(mousemask) (SCREEN*, mmask_t
, mmask_t *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mouseinterval) (SCREEN*, int
);
#endif
#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen) #define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
/* other non-XSI functions */ /* other non-XSI functions */
extern NCURSES_EXPORT(int) mcprint (char *, int); /* direct data to pr inter */ extern NCURSES_EXPORT(int) mcprint (char *, int); /* direct data to pr inter */
extern NCURSES_EXPORT(int) has_key (int); /* do we have given key? */ extern NCURSES_EXPORT(int) has_key (int); /* do we have given key? */
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(has_key) (SCREEN*, int); /* d
o we have given key? */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mcprint) (SCREEN*, char *, int);
/* direct data to printer */
#endif
/* Debugging : use with libncurses_g.a */ /* Debugging : use with libncurses_g.a */
extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2) ; extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2) ;
extern NCURSES_EXPORT(void) _tracedump (const char *, WINDOW *); extern NCURSES_EXPORT(void) _tracedump (const char *, WINDOW *);
extern NCURSES_EXPORT(char *) _traceattr (attr_t); extern NCURSES_EXPORT(char *) _traceattr (attr_t);
extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype); extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype);
extern NCURSES_EXPORT(char *) _nc_tracebits (void); extern NCURSES_EXPORT(char *) _nc_tracebits (void);
extern NCURSES_EXPORT(char *) _tracechar (int); extern NCURSES_EXPORT(char *) _tracechar (int);
extern NCURSES_EXPORT(char *) _tracechtype (chtype); extern NCURSES_EXPORT(char *) _tracechtype (chtype);
extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype); extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);
#ifdef _XOPEN_SOURCE_EXTENDED #ifdef NCURSES_WIDECHAR
#define _tracech_t _tracecchar_t #define _tracech_t _tracecchar_t
extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *); extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);
#define _tracech_t2 _tracecchar_t2 #define _tracech_t2 _tracecchar_t2
extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *); extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *);
#else #else
#define _tracech_t _tracechtype #define _tracech_t _tracechtype
#define _tracech_t2 _tracechtype2 #define _tracech_t2 _tracechtype2
#endif #endif
extern NCURSES_EXPORT(char *) _tracemouse (const MEVENT *); extern NCURSES_EXPORT(char *) _tracemouse (const MEVENT *);
extern NCURSES_EXPORT(void) trace (const unsigned int); extern NCURSES_EXPORT(void) trace (const unsigned int);
skipping to change at line 1489 skipping to change at line 1657
#if defined(TRACE) || defined(NCURSES_TEST) #if defined(TRACE) || defined(NCURSES_TEST)
extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable op timizations */ extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable op timizations */
extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *); extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
#define OPTIMIZE_MVCUR 0x01 /* cursor movement optimization */ #define OPTIMIZE_MVCUR 0x01 /* cursor movement optimization */
#define OPTIMIZE_HASHMAP 0x02 /* diff hashing to detect scrolls */ #define OPTIMIZE_HASHMAP 0x02 /* diff hashing to detect scrolls */
#define OPTIMIZE_SCROLL 0x04 /* scroll optimization */ #define OPTIMIZE_SCROLL 0x04 /* scroll optimization */
#define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) * / #define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) * /
#endif #endif
#include <ncurses/unctrl.h>
#ifdef __cplusplus #ifdef __cplusplus
#ifndef NCURSES_NOMACROS #ifndef NCURSES_NOMACROS
/* these names conflict with STL */ /* these names conflict with STL */
#undef box #undef box
#undef clear #undef clear
#undef erase #undef erase
#undef move #undef move
#undef refresh #undef refresh
 End of changes. 47 change blocks. 
61 lines changed or deleted 331 lines changed or added


 etip.h   etip.h 
skipping to change at line 65 skipping to change at line 65
#ifndef HAVE_TYPEINFO #ifndef HAVE_TYPEINFO
#define HAVE_TYPEINFO 1 #define HAVE_TYPEINFO 1
#endif #endif
#ifndef HAVE_VALUES_H #ifndef HAVE_VALUES_H
#define HAVE_VALUES_H 0 #define HAVE_VALUES_H 0
#endif #endif
#ifndef ETIP_NEEDS_MATH_H #ifndef ETIP_NEEDS_MATH_H
#define ETIP_NEEDS_MATH_H 1 #define ETIP_NEEDS_MATH_H 0
#endif #endif
#ifndef ETIP_NEEDS_MATH_EXCEPTION #ifndef ETIP_NEEDS_MATH_EXCEPTION
#define ETIP_NEEDS_MATH_EXCEPTION 0 #define ETIP_NEEDS_MATH_EXCEPTION 0
#endif #endif
#ifndef CPP_HAS_PARAM_INIT #ifndef CPP_HAS_PARAM_INIT
#define CPP_HAS_PARAM_INIT 0 #define CPP_HAS_PARAM_INIT 0
#endif #endif
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 form.h   form.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * * Copyright (c) 1998-2004,2009 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 33 skipping to change at line 33
* Except as contained in this notice, the name(s) of the above copyright * * Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the * * holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written * * sale, use or other dealings in this Software without prior written *
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/************************************************************************** ** /************************************************************************** **
* Author: Juergen Pfeifer, 1995,1997 * * Author: Juergen Pfeifer, 1995,1997 *
************************************************************************** **/ ************************************************************************** **/
/* $Id: form.h,v 0.20 2004/12/04 22:22:10 tom Exp $ */ /* $Id: form.h,v 0.21 2009/11/07 19:31:11 tom Exp $ */
#ifndef FORM_H #ifndef FORM_H
#define FORM_H #define FORM_H
#include <ncurses/curses.h> #include <ncurses/curses.h>
#include <ncurses/eti.h> #include <ncurses/eti.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
skipping to change at line 108 skipping to change at line 108
* The wide-character configuration requires extra information. Because * The wide-character configuration requires extra information. Because
* there are existing applications that manipulate the members of FIELD * there are existing applications that manipulate the members of FIELD
* directly, we cannot make the struct opaque. Offsets of members up to * directly, we cannot make the struct opaque. Offsets of members up to
* this point are the same in the narrow- and wide-character configuratio n. * this point are the same in the narrow- and wide-character configuratio n.
* But note that the type of buf depends on the configuration, and is mad e * But note that the type of buf depends on the configuration, and is mad e
* opaque for that reason. * opaque for that reason.
*/ */
NCURSES_FIELD_INTERNALS NCURSES_FIELD_INTERNALS
} FIELD; } 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 * * FORM *
*********/ *********/
typedef struct formnode { typedef struct formnode {
unsigned short status; /* flags */ unsigned short status; /* flags */
short rows; /* size in rows */ short rows; /* size in rows */
short cols; /* size in cols */ short cols; /* size in cols */
int currow; /* current row in field window */ int currow; /* current row in field window */
int curcol; /* current col in field window */ int curcol; /* current col in field window */
int toprow; /* in scrollable field window */ int toprow; /* in scrollable field window */
int begincol; /* in horiz. scrollable field */ int begincol; /* in horiz. scrollable field */
short maxfield; /* number of fields */ short maxfield; /* number of fields */
short maxpage; /* number of pages */ short maxpage; /* number of pages */
short curpage; /* index into page */ short curpage; /* index into page */
Form_Options opts; /* options */ Form_Options opts; /* options */
skipping to change at line 161 skipping to change at line 139
_PAGE * page; /* page [maxpage] */ _PAGE * page; /* page [maxpage] */
void * usrptr; /* user pointer */ void * usrptr; /* user pointer */
void (*forminit)(struct formnode *); void (*forminit)(struct formnode *);
void (*formterm)(struct formnode *); void (*formterm)(struct formnode *);
void (*fieldinit)(struct formnode *); void (*fieldinit)(struct formnode *);
void (*fieldterm)(struct formnode *); void (*fieldterm)(struct formnode *);
} FORM; } FORM;
/**************
* 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
*/
#if NCURSES_INTEROP_FUNCS
union {
bool (*ofcheck)(FIELD *,const void *); /* field validation
*/
bool (*gfcheck)(FORM*,FIELD *,const void*); /* generic field val
idation */
} fieldcheck;
union {
bool (*occheck)(int,const void *); /* character validation
*/
bool (*gccheck)(int,FORM*,
FIELD*,const void*); /* generic char validation
*/
} charcheck;
union {
bool (*onext)(FIELD *,const void *); /* enumerate next value
*/
bool (*gnext)(FORM*,FIELD*,const void*); /* generic enumerate next
*/
} enum_next;
union {
bool (*oprev)(FIELD *,const void *); /* enumerate prev value
*/
bool (*gprev)(FORM*,FIELD*,const void*); /* generic enumerate prev
*/
} enum_prev;
void* (*genericarg)(void*); /* Alternate Arg method
*/
#else
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 */
#endif
} FIELDTYPE;
typedef void (*Form_Hook)(FORM *); typedef void (*Form_Hook)(FORM *);
/*************************** /***************************
* miscellaneous #defines * * miscellaneous #defines *
***************************/ ***************************/
/* field justification */ /* field justification */
#define NO_JUSTIFICATION (0) #define NO_JUSTIFICATION (0)
#define JUSTIFY_LEFT (1) #define JUSTIFY_LEFT (1)
#define JUSTIFY_CENTER (2) #define JUSTIFY_CENTER (2)
skipping to change at line 282 skipping to change at line 302
extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC; extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC;
extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP; extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
/************************************ /************************************
* built-in additional field types * * built-in additional field types *
* They are not defined in SVr4 * * They are not defined in SVr4 *
************************************/ ************************************/
extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Versi on 4 address */ extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Versi on 4 address */
/*********************** /***********************
* Default objects *
***********************/
extern NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form;
extern NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field;
/***********************
* FIELDTYPE routines * * FIELDTYPE routines *
***********************/ ***********************/
extern NCURSES_EXPORT(FIELDTYPE *) new_fieldtype ( extern NCURSES_EXPORT(FIELDTYPE *) new_fieldtype (
bool (* const field_check)(FIELD *,const void *), bool (* const field_check)(FIELD *,const void *),
bool (* const char_check)(int,const void *)); bool (* const char_check)(int,const void *));
extern NCURSES_EXPORT(FIELDTYPE *) link_fieldtype( extern NCURSES_EXPORT(FIELDTYPE *) link_fieldtype(
FIELDTYPE *, FIELDTYPE *); FIELDTYPE *, FIELDTYPE *);
extern NCURSES_EXPORT(int) free_fieldtype (FIELDTYPE *); extern NCURSES_EXPORT(int) free_fieldtype (FIELDTYPE *);
extern NCURSES_EXPORT(int) set_fieldtype_arg (FIELDTYPE *, extern NCURSES_EXPORT(int) set_fieldtype_arg (FIELDTYPE *,
skipping to change at line 398 skipping to change at line 412
extern NCURSES_EXPORT(const char *) form_request_name (int); extern NCURSES_EXPORT(const char *) form_request_name (int);
extern NCURSES_EXPORT(void *) form_userptr (const FORM *); extern NCURSES_EXPORT(void *) form_userptr (const FORM *);
extern NCURSES_EXPORT(Form_Options) form_opts (const FORM *); extern NCURSES_EXPORT(Form_Options) form_opts (const FORM *);
extern NCURSES_EXPORT(bool) data_ahead (const FORM *); extern NCURSES_EXPORT(bool) data_ahead (const FORM *);
extern NCURSES_EXPORT(bool) data_behind (const FORM *); extern NCURSES_EXPORT(bool) data_behind (const FORM *);
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(FORM *) NCURSES_SP_NAME(new_form) (SCREEN*, FIELD **
);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* FORM_H */ #endif /* FORM_H */
 End of changes. 7 change blocks. 
31 lines changed or deleted 66 lines changed or added


 menu.h   menu.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998-2003,2007 Free Software Foundation, Inc. * * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 33 skipping to change at line 33
* Except as contained in this notice, the name(s) of the above copyright * * Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the * * holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written * * sale, use or other dealings in this Software without prior written *
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/************************************************************************** ** /************************************************************************** **
* Author: Juergen Pfeifer, 1995,1997 * * Author: Juergen Pfeifer, 1995,1997 *
************************************************************************** **/ ************************************************************************** **/
/* $Id: menu.h,v 1.19 2007/02/24 17:32:13 tom Exp $ */ /* $Id: menu.h,v 1.20 2009/04/05 00:28:07 tom Exp $ */
#ifndef ETI_MENU #ifndef ETI_MENU
#define ETI_MENU #define ETI_MENU
#ifdef AMIGA #ifdef AMIGA
#define TEXT TEXT_ncurses #define TEXT TEXT_ncurses
#endif #endif
#include <ncurses/curses.h> #include <ncurses/curses.h>
#include <ncurses/eti.h> #include <ncurses/eti.h>
skipping to change at line 249 skipping to change at line 249
extern NCURSES_EXPORT(int) unpost_menu (MENU *); extern NCURSES_EXPORT(int) unpost_menu (MENU *);
extern NCURSES_EXPORT(int) menu_request_by_name (const char *); 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) set_menu_spacing (MENU *,int,int,int);
extern NCURSES_EXPORT(int) menu_spacing (const 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_value (const ITEM *);
extern NCURSES_EXPORT(bool) item_visible (const ITEM *); extern NCURSES_EXPORT(bool) item_visible (const ITEM *);
extern NCURSES_EXPORT(void) menu_format (const MENU *,int *,int *); extern NCURSES_EXPORT(void) menu_format (const MENU *,int *,int *);
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(MENU *) NCURSES_SP_NAME(new_menu) (SCREEN*, ITEM **)
;
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* ETI_MENU */ #endif /* ETI_MENU */
 End of changes. 3 change blocks. 
2 lines changed or deleted 7 lines changed or added


 nc_tparm.h   nc_tparm.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 2006 Free Software Foundation, Inc. * * Copyright (c) 2006,2010 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 33 skipping to change at line 33
* Except as contained in this notice, the name(s) of the above copyright * * Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the * * holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written * * sale, use or other dealings in this Software without prior written *
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/************************************************************************** ** /************************************************************************** **
* Author: Thomas E. Dickey 2006 * * Author: Thomas E. Dickey 2006 *
************************************************************************** **/ ************************************************************************** **/
/* $Id: nc_tparm.h,v 1.4 2006/11/26 00:49:25 tom Exp $ */ /* $Id: nc_tparm.h,v 1.5 2010/12/25 20:27:22 tom Exp $ */
#ifndef NC_TPARM_included
#define NC_TPARM_included 1
/* /*
* Cast parameters past the formatting-string for tparm() to match the * Cast parameters past the formatting-string for tparm() to match the
* assumption of the varargs code. * assumption of the varargs code.
*/ */
#ifndef TPARM_ARG
#define TPARM_ARG long #define TPARM_ARG long
#endif
#define TPARM_N(n) (TPARM_ARG)(n) #define TPARM_N(n) (TPARM_ARG)(n)
#define TPARM_9(a,b,c,d,e,f,g,h,i,j) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N( d),TPARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h),TPARM_N(i),TPARM_N(j)) #define TPARM_9(a,b,c,d,e,f,g,h,i,j) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N( d),TPARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h),TPARM_N(i),TPARM_N(j))
#if NCURSES_TPARM_VARARGS #if NCURSES_TPARM_VARARGS
#define TPARM_8(a,b,c,d,e,f,g,h,i) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d) ,TPARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h),TPARM_N(i)) #define TPARM_8(a,b,c,d,e,f,g,h,i) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d) ,TPARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h),TPARM_N(i))
#define TPARM_7(a,b,c,d,e,f,g,h) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),T PARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h)) #define TPARM_7(a,b,c,d,e,f,g,h) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),T PARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h))
#define TPARM_6(a,b,c,d,e,f,g) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPA RM_N(e),TPARM_N(f),TPARM_N(g)) #define TPARM_6(a,b,c,d,e,f,g) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPA RM_N(e),TPARM_N(f),TPARM_N(g))
#define TPARM_5(a,b,c,d,e,f) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM _N(e),TPARM_N(f)) #define TPARM_5(a,b,c,d,e,f) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM _N(e),TPARM_N(f))
#define TPARM_4(a,b,c,d,e) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM_N (e)) #define TPARM_4(a,b,c,d,e) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM_N (e))
skipping to change at line 66 skipping to change at line 72
#define TPARM_7(a,b,c,d,e,f,g,h) TPARM_8(a,b,c,d,e,f,g,h,0) #define TPARM_7(a,b,c,d,e,f,g,h) TPARM_8(a,b,c,d,e,f,g,h,0)
#define TPARM_6(a,b,c,d,e,f,g) TPARM_7(a,b,c,d,e,f,g,0) #define TPARM_6(a,b,c,d,e,f,g) TPARM_7(a,b,c,d,e,f,g,0)
#define TPARM_5(a,b,c,d,e,f) TPARM_6(a,b,c,d,e,f,0) #define TPARM_5(a,b,c,d,e,f) TPARM_6(a,b,c,d,e,f,0)
#define TPARM_4(a,b,c,d,e) TPARM_5(a,b,c,d,e,0) #define TPARM_4(a,b,c,d,e) TPARM_5(a,b,c,d,e,0)
#define TPARM_3(a,b,c,d) TPARM_4(a,b,c,d,0) #define TPARM_3(a,b,c,d) TPARM_4(a,b,c,d,0)
#define TPARM_2(a,b,c) TPARM_3(a,b,c,0) #define TPARM_2(a,b,c) TPARM_3(a,b,c,0)
#define TPARM_1(a,b) TPARM_2(a,b,0) #define TPARM_1(a,b) TPARM_2(a,b,0)
#define TPARM_1(a,b) TPARM_2(a,b,0) #define TPARM_1(a,b) TPARM_2(a,b,0)
#define TPARM_0(a) TPARM_1(a,0) #define TPARM_0(a) TPARM_1(a,0)
#endif #endif
#endif /* NC_TPARM_included */
 End of changes. 5 change blocks. 
2 lines changed or deleted 8 lines changed or added


 ncurses_dll.h   ncurses_dll.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. * * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 28 skipping to change at line 28
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* * * *
* Except as contained in this notice, the name(s) of the above copyright * * Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the * * holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written * * sale, use or other dealings in this Software without prior written *
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/* $Id: ncurses_dll.h,v 1.6 2007/03/10 19:21:49 tom Exp $ */ /* $Id: ncurses_dll.h.in,v 1.8 2009/04/04 22:26:27 tom Exp $ */
#ifndef NCURSES_DLL_H_incl #ifndef NCURSES_DLL_H_incl
#define NCURSES_DLL_H_incl 1 #define NCURSES_DLL_H_incl 1
/*
* For reentrant code, we map the various global variables into SCREEN by
* using functions to access them.
*/
#define NCURSES_PUBLIC_VAR(name) _nc_##name
#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)
(void)
/* no longer needed on cygwin or mingw, thanks to auto-import */ /* no longer needed on cygwin or mingw, thanks to auto-import */
/* but this structure may be useful at some point for an MSVC build */ /* but this structure may be useful at some point for an MSVC build */
/* so, for now unconditionally define the important flags */ /* so, for now unconditionally define the important flags */
/* "the right way" for proper static and dll+auto-import behavior */ /* "the right way" for proper static and dll+auto-import behavior */
#undef NCURSES_DLL #undef NCURSES_DLL
#define NCURSES_STATIC #define NCURSES_STATIC
#if defined(__CYGWIN__) #if defined(__CYGWIN__) || defined(__MINGW32__)
# if defined(NCURSES_DLL) # if defined(NCURSES_DLL)
# if defined(NCURSES_STATIC) # if defined(NCURSES_STATIC)
# undef NCURSES_STATIC # undef NCURSES_STATIC
# endif # endif
# endif # endif
# undef NCURSES_IMPEXP # undef NCURSES_IMPEXP
# undef NCURSES_API # undef NCURSES_API
# undef NCURSES_EXPORT # undef NCURSES_EXPORT
# undef NCURSES_EXPORT_VAR # undef NCURSES_EXPORT_VAR
# if defined(NCURSES_DLL) # if defined(NCURSES_DLL)
skipping to change at line 79 skipping to change at line 86
#if !defined(NCURSES_API) #if !defined(NCURSES_API)
# define NCURSES_API /* nothing */ # define NCURSES_API /* nothing */
#endif #endif
#if !defined(NCURSES_EXPORT) #if !defined(NCURSES_EXPORT)
# define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API # define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
#endif #endif
#if !defined(NCURSES_EXPORT_VAR) #if !defined(NCURSES_EXPORT_VAR)
# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type # define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
#endif #endif
/*
* For reentrant code, we map the various global variables into SCREEN by
* using functions to access them.
*/
#define NCURSES_PUBLIC_VAR(name) _nc_##name
#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)
(void)
#endif /* NCURSES_DLL_H_incl */ #endif /* NCURSES_DLL_H_incl */
 End of changes. 5 change blocks. 
11 lines changed or deleted 11 lines changed or added


 panel.h   panel.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. * * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 32 skipping to change at line 32
* * * *
* Except as contained in this notice, the name(s) of the above copyright * * Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the * * holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written * * sale, use or other dealings in this Software without prior written *
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/************************************************************************** ** /************************************************************************** **
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1995 * * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> * * and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Juergen Pfeifer 1996-1999,2008 *
************************************************************************** **/ ************************************************************************** **/
/* $Id: panel.h,v 1.10 2006/05/27 19:49:40 tom Exp $ */ /* $Id: panel.h,v 1.11 2009/04/11 19:50:40 tom Exp $ */
/* panel.h -- interface file for panels library */ /* panel.h -- interface file for panels library */
#ifndef NCURSES_PANEL_H_incl #ifndef NCURSES_PANEL_H_incl
#define NCURSES_PANEL_H_incl 1 #define NCURSES_PANEL_H_incl 1
#include <ncurses/curses.h> #include <ncurses/curses.h>
typedef struct panel typedef struct panel
{ {
skipping to change at line 71 skipping to change at line 72
extern NCURSES_EXPORT(int) bottom_panel (PANEL *); extern NCURSES_EXPORT(int) bottom_panel (PANEL *);
extern NCURSES_EXPORT(PANEL*) new_panel (WINDOW *); extern NCURSES_EXPORT(PANEL*) new_panel (WINDOW *);
extern NCURSES_EXPORT(PANEL*) panel_above (const PANEL *); extern NCURSES_EXPORT(PANEL*) panel_above (const PANEL *);
extern NCURSES_EXPORT(PANEL*) panel_below (const PANEL *); extern NCURSES_EXPORT(PANEL*) panel_below (const PANEL *);
extern NCURSES_EXPORT(int) set_panel_userptr (PANEL *, NCURSES_CONST vo id *); extern NCURSES_EXPORT(int) set_panel_userptr (PANEL *, NCURSES_CONST vo id *);
extern NCURSES_EXPORT(NCURSES_CONST void*) panel_userptr (const PANEL *); extern NCURSES_EXPORT(NCURSES_CONST void*) panel_userptr (const PANEL *);
extern NCURSES_EXPORT(int) move_panel (PANEL *, int, int); extern NCURSES_EXPORT(int) move_panel (PANEL *, int, int);
extern NCURSES_EXPORT(int) replace_panel (PANEL *,WINDOW *); extern NCURSES_EXPORT(int) replace_panel (PANEL *,WINDOW *);
extern NCURSES_EXPORT(int) panel_hidden (const PANEL *); extern NCURSES_EXPORT(int) panel_hidden (const PANEL *);
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(PANEL *) ground_panel(SCREEN *);
extern NCURSES_EXPORT(PANEL *) ceiling_panel(SCREEN *);
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(update_panels) (SCREEN*);
#endif
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif #endif
#endif /* NCURSES_PANEL_H_incl */ #endif /* NCURSES_PANEL_H_incl */
/* end of panel.h */ /* end of panel.h */
 End of changes. 4 change blocks. 
2 lines changed or deleted 10 lines changed or added


 term.h   term.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. * * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 35 skipping to change at line 35
* sale, use or other dealings in this Software without prior written * * sale, use or other dealings in this Software without prior written *
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/************************************************************************** **/ /************************************************************************** **/
/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */ /* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */
/* and: Eric S. Raymond <esr@snark.thyrsus.com> */ /* and: Eric S. Raymond <esr@snark.thyrsus.com> */
/* and: Thomas E. Dickey 1995-on */ /* and: Thomas E. Dickey 1995-on */
/************************************************************************** **/ /************************************************************************** **/
/* $Id: MKterm.h.awk.in,v 1.50 2008/05/24 23:13:59 tom Exp $ */ /* $Id: MKterm.h.awk.in,v 1.58 2010/01/09 19:53:26 tom Exp $ */
/* /*
** term.h -- Definition of struct term ** term.h -- Definition of struct term
*/ */
#ifndef NCURSES_TERM_H_incl #ifndef NCURSES_TERM_H_incl
#define NCURSES_TERM_H_incl 1 #define NCURSES_TERM_H_incl 1
#undef NCURSES_VERSION #undef NCURSES_VERSION
#define NCURSES_VERSION "5.7" #define NCURSES_VERSION "5.8"
#include <ncurses/ncurses_dll.h> #include <ncurses/ncurses_dll.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* Make this file self-contained by providing defaults for the HAVE_TERMIO[ S]_H /* Make this file self-contained by providing defaults for the HAVE_TERMIO[ S]_H
* definition (based on the system for which this was configured). * definition (based on the system for which this was configured).
*/ */
skipping to change at line 131 skipping to change at line 131
#endif #endif
#ifndef TCIOFLUSH #ifndef TCIOFLUSH
#define TCIOFLUSH 2 #define TCIOFLUSH 2
#endif #endif
#ifndef tcflush #ifndef tcflush
#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg) #define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)
#endif #endif
#else /* !HAVE_TERMIO_H */ #else /* !HAVE_TERMIO_H */
#if __MINGW32__
# include <ncurses_mingw.h>
# define TTY struct termios
#else
#undef TERMIOS #undef TERMIOS
#include <sgtty.h> #include <sgtty.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#define TTY struct sgttyb #define TTY struct sgttyb
#endif /* MINGW32 */
#endif /* HAVE_TERMIO_H */ #endif /* HAVE_TERMIO_H */
#endif /* HAVE_TERMIOS_H */ #endif /* HAVE_TERMIOS_H */
#ifdef TERMIOS #ifdef TERMIOS
#define GET_TTY(fd, buf) tcgetattr(fd, buf) #define GET_TTY(fd, buf) tcgetattr(fd, buf)
#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf) #define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)
#else #else
#define GET_TTY(fd, buf) gtty(fd, buf) #define GET_TTY(fd, buf) gtty(fd, buf)
#define SET_TTY(fd, buf) stty(fd, buf) #define SET_TTY(fd, buf) stty(fd, buf)
skipping to change at line 703 skipping to change at line 707
typedef struct term { /* describe an actual terminal */ typedef struct term { /* describe an actual terminal */
TERMTYPE type; /* terminal type description */ TERMTYPE type; /* terminal type description */
short Filedes; /* file description being written to */ short Filedes; /* file description being written to */
TTY Ottyb, /* original state of the terminal */ TTY Ottyb, /* original state of the terminal */
Nttyb; /* current state of the terminal */ Nttyb; /* current state of the terminal */
int _baudrate; /* used to compute padding */ int _baudrate; /* used to compute padding */
char * _termname; /* used for termname() */ char * _termname; /* used for termname() */
} TERMINAL; } TERMINAL;
#if 0 || 0 #if 0 && !0
extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
#elif 0
NCURSES_WRAPPED_VAR(TERMINAL *, cur_term); NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);
#define cur_term NCURSES_PUBLIC_VAR(cur_term())
#else
extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
#endif
#if 0 || 0
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames); NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);
#define cur_term NCURSES_PUBLIC_VAR(cur_term())
#define boolnames NCURSES_PUBLIC_VAR(boolnames()) #define boolnames NCURSES_PUBLIC_VAR(boolnames())
#define boolcodes NCURSES_PUBLIC_VAR(boolcodes()) #define boolcodes NCURSES_PUBLIC_VAR(boolcodes())
#define boolfnames NCURSES_PUBLIC_VAR(boolfnames()) #define boolfnames NCURSES_PUBLIC_VAR(boolfnames())
#define numnames NCURSES_PUBLIC_VAR(numnames()) #define numnames NCURSES_PUBLIC_VAR(numnames())
#define numcodes NCURSES_PUBLIC_VAR(numcodes()) #define numcodes NCURSES_PUBLIC_VAR(numcodes())
#define numfnames NCURSES_PUBLIC_VAR(numfnames()) #define numfnames NCURSES_PUBLIC_VAR(numfnames())
#define strnames NCURSES_PUBLIC_VAR(strnames()) #define strnames NCURSES_PUBLIC_VAR(strnames())
#define strcodes NCURSES_PUBLIC_VAR(strcodes()) #define strcodes NCURSES_PUBLIC_VAR(strcodes())
#define strfnames NCURSES_PUBLIC_VAR(strfnames()) #define strfnames NCURSES_PUBLIC_VAR(strfnames())
#else #else
extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[]; 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 ) boolcodes[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[]; 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 ) numnames[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[]; 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 ) numfnames[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[]; 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 ) strcodes[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[]; extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];
skipping to change at line 775 skipping to change at line 784
extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);
extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *); extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);
#if 1 /* NCURSES_TPARM_VARARGS */ #if 1 /* NCURSES_TPARM_VARARGS */
extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* s pecial */ extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* s pecial */
#else #else
extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,l ong,long,long,long,long,long); /* special */ extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,l ong,long,long,long,long,long); /* special */
extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */ extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
#endif #endif
extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* s
pecial */
#endif /* __NCURSES_H */ #endif /* __NCURSES_H */
/* termcap database emulation (XPG4 uses const only for 2nd param of tgeten t) */ /* termcap database emulation (XPG4 uses const only for 2nd param of tgeten t) */
#if !defined(NCURSES_TERMCAP_H_incl) #if !defined(NCURSES_TERMCAP_H_incl)
extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **); extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
extern NCURSES_EXPORT(char *) tgoto (const char *, int, int); extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
extern NCURSES_EXPORT(int) tgetent (char *, const char *); extern NCURSES_EXPORT(int) tgetent (char *, const char *);
extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *); extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);
extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *); extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);
extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int)); extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
#endif /* NCURSES_TERMCAP_H_incl */ #endif /* NCURSES_TERMCAP_H_incl */
/*
* Include curses.h before term.h to enable these extensions.
*/
#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, NCURSES_
CONST char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *
);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, NCURSES
_CONST char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, NCURSES_
CONST char *);
#if 1 /* NCURSES_TPARM_VARARGS */
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CON
ST char *, ...); /* special */
#else
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CON
ST char *, long,long,long,long,long,long,long,long,long); /* special */
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, NCU
RSES_CONST char *, ...); /* special */
#endif
/* termcap database emulation (XPG4 uses const only for 2nd param of tgeten
t) */
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, NCURSES_C
ONST char *, char **);
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char
*, int, int);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, c
onst char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, NCURSES_
CONST char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, NCURSES_C
ONST char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char
*, int, NCURSES_SP_OUTC);
extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TE
RMINAL *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMI
NAL *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURS
ES_CONST char *, int, int *);
#endif /* NCURSES_SP_FUNCS */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* NCURSES_TERM_H_incl */ #endif /* NCURSES_TERM_H_incl */
 End of changes. 11 change blocks. 
8 lines changed or deleted 68 lines changed or added


 term_entry.h   term_entry.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998-2005,2008 Free Software Foundation, Inc. * * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 35 skipping to change at line 35
* sale, use or other dealings in this Software without prior written * * sale, use or other dealings in this Software without prior written *
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/************************************************************************** ** /************************************************************************** **
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> * * and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1998-on * * and: Thomas E. Dickey 1998-on *
************************************************************************** **/ ************************************************************************** **/
/* $Id: term_entry.h,v 1.35 2008/08/16 16:16:03 tom Exp $ */ /* $Id: term_entry.h,v 1.37 2009/07/11 16:52:29 tom Exp $ */
/* /*
* term_entry.h -- interface to entry-manipulation code * term_entry.h -- interface to entry-manipulation code
*/ */
#ifndef NCURSES_TERM_ENTRY_H_incl #ifndef NCURSES_TERM_ENTRY_H_incl
#define NCURSES_TERM_ENTRY_H_incl 1 #define NCURSES_TERM_ENTRY_H_incl 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
skipping to change at line 84 skipping to change at line 84
#define NUM_NUMBERS(tp) (tp)->num_Numbers #define NUM_NUMBERS(tp) (tp)->num_Numbers
#define NUM_STRINGS(tp) (tp)->num_Strings #define NUM_STRINGS(tp) (tp)->num_Strings
#define EXT_NAMES(tp,i,limit,index,table) (i >= limit) ? tp->ext_Names[inde x] : table[i] #define EXT_NAMES(tp,i,limit,index,table) (i >= limit) ? tp->ext_Names[inde x] : table[i]
#else #else
#define NUM_BOOLEANS(tp) BOOLCOUNT #define NUM_BOOLEANS(tp) BOOLCOUNT
#define NUM_NUMBERS(tp) NUMCOUNT #define NUM_NUMBERS(tp) NUMCOUNT
#define NUM_STRINGS(tp) STRCOUNT #define NUM_STRINGS(tp) STRCOUNT
#define EXT_NAMES(tp,i,limit,index,table) table[i] #define EXT_NAMES(tp,i,limit,index,table) table[i]
#endif #endif
#define NUM_EXT_NAMES(tp) ((tp)->ext_Booleans + (tp)->ext_Numbers + (tp)->e xt_Strings) #define NUM_EXT_NAMES(tp) (unsigned) ((tp)->ext_Booleans + (tp)->ext_Number s + (tp)->ext_Strings)
#define for_each_boolean(n,tp) for(n = 0; n < NUM_BOOLEANS(tp); n++) #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_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 for_each_string(n,tp) for(n = 0; n < NUM_STRINGS(tp); n++)
#if NCURSES_XNAMES
#define for_each_ext_boolean(n,tp) for(n = BOOLCOUNT; n < NUM_BOOLEANS(tp);
n++)
#define for_each_ext_number(n,tp) for(n = NUMCOUNT; n < NUM_NUMBERS(tp);
n++)
#define for_each_ext_string(n,tp) for(n = STRCOUNT; n < NUM_STRINGS(tp);
n++)
#endif
#define ExtBoolname(tp,i,names) EXT_NAMES(tp, i, BOOLCOUNT, (i - (tp->num_B ooleans - tp->ext_Booleans)), names) #define ExtBoolname(tp,i,names) EXT_NAMES(tp, i, BOOLCOUNT, (i - (tp->num_B ooleans - tp->ext_Booleans)), names)
#define ExtNumname(tp,i,names) EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Nu mbers - tp->ext_Numbers)) + tp->ext_Booleans, names) #define ExtNumname(tp,i,names) EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Nu mbers - tp->ext_Numbers)) + tp->ext_Booleans, names)
#define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_St rings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names) #define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_St rings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names)
extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head; extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head;
extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail; extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
#define for_entry_list(qp) for (qp = _nc_head; qp; qp = qp->next) #define for_entry_list(qp) for (qp = _nc_head; qp; qp = qp->next)
#define MAX_LINE 132 #define MAX_LINE 132
 End of changes. 4 change blocks. 
3 lines changed or deleted 12 lines changed or added


 termcap.h   termcap.h 
skipping to change at line 40 skipping to change at line 40
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> * * and: Eric S. Raymond <esr@snark.thyrsus.com> *
************************************************************************** **/ ************************************************************************** **/
/* $Id: termcap.h.in,v 1.16 2001/03/24 21:53:27 tom Exp $ */ /* $Id: termcap.h.in,v 1.16 2001/03/24 21:53:27 tom Exp $ */
#ifndef NCURSES_TERMCAP_H_incl #ifndef NCURSES_TERMCAP_H_incl
#define NCURSES_TERMCAP_H_incl 1 #define NCURSES_TERMCAP_H_incl 1
#undef NCURSES_VERSION #undef NCURSES_VERSION
#define NCURSES_VERSION "5.7" #define NCURSES_VERSION "5.8"
#include <ncurses/ncurses_dll.h> #include <ncurses/ncurses_dll.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
#endif /* __cplusplus */ #endif /* __cplusplus */
#include <sys/types.h> #include <sys/types.h>
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 tic.h   tic.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. * * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 36 skipping to change at line 36
* authorization. * * authorization. *
************************************************************************** **/ ************************************************************************** **/
/************************************************************************** ** /************************************************************************** **
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> * * and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996 on * * and: Thomas E. Dickey 1996 on *
************************************************************************** **/ ************************************************************************** **/
/* /*
* $Id: tic.h,v 1.62 2007/08/11 16:12:43 tom Exp $ * $Id: tic.h,v 1.65 2009/08/08 17:52:46 tom Exp $
* tic.h - Global variables and structures for the terminfo * tic.h - Global variables and structures for the terminfo
* compiler. * compiler.
*/ */
#ifndef __TIC_H #ifndef __TIC_H
#define __TIC_H #define __TIC_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
skipping to change at line 186 skipping to change at line 186
#define _nc_tinfo_fkeys _nc_tinfo_fkeysf() #define _nc_tinfo_fkeys _nc_tinfo_fkeysf()
extern NCURSES_EXPORT(const struct tinfo_fkeys *) _nc_tinfo_fkeysf (void); extern NCURSES_EXPORT(const struct tinfo_fkeys *) _nc_tinfo_fkeysf (void);
#else #else
extern NCURSES_EXPORT_VAR(const struct tinfo_fkeys) _nc_tinfo_fkeys[]; extern NCURSES_EXPORT_VAR(const struct tinfo_fkeys) _nc_tinfo_fkeys[];
#endif #endif
typedef short HashValue;
/* /*
* The file comp_captab.c contains an array of these structures, one * The file comp_captab.c contains an array of these structures, one
* per possible capability. These are indexed by a hash table array of * per possible capability. These are indexed by a hash table array of
* pointers to the same structures for use by the parser. * pointers to the same structures for use by the parser.
*/ */
struct name_table_entry struct name_table_entry
{ {
const char *nte_name; /* name to hash on */ const char *nte_name; /* name to hash on */
int nte_type; /* BOOLEAN, NUMBER or STRING */ int nte_type; /* BOOLEAN, NUMBER or STRING */
short nte_index; /* index of associated variable in its array HashValue nte_index; /* index of associated variable in its array
*/ */
short nte_link; /* index in table of next hash, or -1 */ HashValue nte_link; /* index in table of next hash, or -1 */
}; };
/*
* Use this structure to hide differences between terminfo and termc
ap
* tables.
*/
typedef struct {
unsigned table_size;
const HashValue *table_data;
HashValue (*hash_of)(const char *);
int (*compare_names)(const char *, const char *);
} HashData;
struct alias struct alias
{ {
const char *from; const char *from;
const char *to; const char *to;
const char *source; const char *source;
}; };
extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool) ; extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool) ;
extern NCURSES_EXPORT(const short *) _nc_get_hash_table (bool); extern NCURSES_EXPORT(const HashData *) _nc_get_hash_info (bool);
extern NCURSES_EXPORT(const HashValue *) _nc_get_hash_table (bool);
extern NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool); extern NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool);
#define NOTFOUND ((struct name_table_entry *) 0) #define NOTFOUND ((struct name_table_entry *) 0)
/* out-of-band values for representing absent capabilities */ /* out-of-band values for representing absent capabilities */
#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */ #define ABSENT_BOOLEAN ((signed char)-1) /* 255 */
#define ABSENT_NUMERIC (-1) #define ABSENT_NUMERIC (-1)
#define ABSENT_STRING (char *)0 #define ABSENT_STRING (char *)0
/* out-of-band values for representing cancels */ /* out-of-band values for representing cancels */
skipping to change at line 247 skipping to change at line 261
/* access.c */ /* access.c */
extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *); extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *);
extern NCURSES_EXPORT(bool) _nc_is_abs_path (const char *); extern NCURSES_EXPORT(bool) _nc_is_abs_path (const char *);
extern NCURSES_EXPORT(bool) _nc_is_dir_path (const char *); extern NCURSES_EXPORT(bool) _nc_is_dir_path (const char *);
extern NCURSES_EXPORT(bool) _nc_is_file_path (const char *); extern NCURSES_EXPORT(bool) _nc_is_file_path (const char *);
extern NCURSES_EXPORT(char *) _nc_basename (char *); extern NCURSES_EXPORT(char *) _nc_basename (char *);
extern NCURSES_EXPORT(char *) _nc_rootname (char *); extern NCURSES_EXPORT(char *) _nc_rootname (char *);
/* comp_hash.c: name lookup */ /* comp_hash.c: name lookup */
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry
(const char *, const short *); (const char *, const HashValue *);
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry
(const char *, int, const struct name_table_entry *); (const char *, int, bool);
/* comp_scan.c: lexical analysis */ /* comp_scan.c: lexical analysis */
extern NCURSES_EXPORT(int) _nc_get_token (bool); extern NCURSES_EXPORT(int) _nc_get_token (bool);
extern NCURSES_EXPORT(void) _nc_panic_mode (char); extern NCURSES_EXPORT(void) _nc_panic_mode (char);
extern NCURSES_EXPORT(void) _nc_push_token (int); extern NCURSES_EXPORT(void) _nc_push_token (int);
extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *); extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *);
extern NCURSES_EXPORT_VAR(int) _nc_curr_col; extern NCURSES_EXPORT_VAR(int) _nc_curr_col;
extern NCURSES_EXPORT_VAR(int) _nc_curr_line; extern NCURSES_EXPORT_VAR(int) _nc_curr_line;
extern NCURSES_EXPORT_VAR(int) _nc_syntax; extern NCURSES_EXPORT_VAR(int) _nc_syntax;
extern NCURSES_EXPORT_VAR(long) _nc_comment_end; extern NCURSES_EXPORT_VAR(long) _nc_comment_end;
 End of changes. 8 change blocks. 
8 lines changed or deleted 23 lines changed or added


 unctrl.h   unctrl.h 
/************************************************************************** ** /************************************************************************** **
* Copyright (c) 1998,2000 Free Software Foundation, Inc. * * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
* * * *
* Permission is hereby granted, free of charge, to any person obtaining a * * Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the * * copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including * * "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, * * without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell * * distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is * * copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: * * furnished to do so, subject to the following conditions: *
* * * *
* The above copyright notice and this permission notice shall be included * * The above copyright notice and this permission notice shall be included *
skipping to change at line 42 skipping to change at line 42
************************************************************************** **/ ************************************************************************** **/
/* /*
* unctrl.h * unctrl.h
* *
* Display a printable version of a control character. * Display a printable version of a control character.
* Control characters are displayed in caret notation (^x), DELETE is displ ayed * Control characters are displayed in caret notation (^x), DELETE is displ ayed
* as ^?. Printable characters are displayed as is. * as ^?. Printable characters are displayed as is.
*/ */
/* $Id: unctrl.h.in,v 1.10 2001/03/24 21:53:25 tom Exp $ */ /* $Id: unctrl.h.in,v 1.11 2009/04/18 21:00:52 tom Exp $ */
#ifndef NCURSES_UNCTRL_H_incl #ifndef NCURSES_UNCTRL_H_incl
#define NCURSES_UNCTRL_H_incl 1 #define NCURSES_UNCTRL_H_incl 1
#undef NCURSES_VERSION #undef NCURSES_VERSION
#define NCURSES_VERSION "5.7" #define NCURSES_VERSION "5.8"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <ncurses/curses.h> #include <ncurses/curses.h>
#undef unctrl #undef unctrl
NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype); NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
#if 0
NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chty
pe);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* NCURSES_UNCTRL_H_incl */ #endif /* NCURSES_UNCTRL_H_incl */
 End of changes. 4 change blocks. 
3 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/