X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fcurses.priv.h;h=5fbb7b9ae692c7b5e67bc621610426ce715bbe39;hp=b6ffea4d23aadff7765f9f0692cac3e49c0f3460;hb=ba39fbc2e0cee4681395df4079d9e61c27262132;hpb=03f728e5bb3630a54fffc4a2ff2f8dbfcce9088e diff --git a/ncurses/curses.priv.h b/ncurses/curses.priv.h index b6ffea4d..5fbb7b9a 100644 --- a/ncurses/curses.priv.h +++ b/ncurses/curses.priv.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. * + * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -34,7 +34,7 @@ ****************************************************************************/ /* - * $Id: curses.priv.h,v 1.488 2011/10/22 22:41:12 tom Exp $ + * $Id: curses.priv.h,v 1.499 2012/03/10 21:16:32 tom Exp $ * * curses.priv.h * @@ -61,10 +61,6 @@ extern "C" { #define MODULE_ID(id) /*nothing*/ #endif -#if !(defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)) -#define _POSIX_SOURCE -#endif - #include /* for offsetof */ #include #include @@ -116,6 +112,14 @@ extern int errno; #define USE_FUNC_POLL 0 #endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + /* include signal.h before curses.h to work-around defect in glibc 2.1.3 */ #include @@ -140,6 +144,15 @@ extern int errno; #define USE_EMX_MOUSE 0 #endif +/* kLIBC keyboard/mouse support */ +#if defined(__OS2__) && defined(__KLIBC__) +#define USE_KLIBC_KBD 1 +#define USE_KLIBC_MOUSE 1 +#else +#define USE_KLIBC_KBD 0 +#define USE_KLIBC_MOUSE 0 +#endif + #define DEFAULT_MAXCLICK 166 #define EV_MAX 8 /* size of mouse circular event queue */ @@ -225,6 +238,8 @@ extern NCURSES_EXPORT(void *) _nc_memmove (void *, const void *, size_t); #define if_USE_SCROLL_HINTS(stmt) /*nothing*/ #endif +#include + /* * Options for terminal drivers, etc... */ @@ -383,7 +398,7 @@ color_t; #define if_EXT_COLORS(stmt) stmt #define SetPair(value,p) SetPair2((value).ext_color, AttrOf(value), p) #define SetPair2(c,a,p) c = (p), \ - a = (unColor2(a) | (A_COLOR & ColorPair(oldColor(c)))) + a = (unColor2(a) | (A_COLOR & (unsigned) ColorPair(oldColor(c)))) #define GetPair(value) GetPair2((value).ext_color, AttrOf(value)) #define GetPair2(c,a) ((c) ? (c) : PairNumber(a)) #define oldColor(p) (((p) > 255) ? 255 : (p)) @@ -392,9 +407,9 @@ color_t; #define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b) && GetPair(a) == GetPair(b)) #if NCURSES_SP_FUNCS -#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vid_attr)(sp, attr, pair, 0) +#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vid_attr)(sp, attr, (short) pair, 0) #else -#define VIDATTR(sp,attr,pair) vid_attr(attr, pair, 0) +#define VIDATTR(sp,attr,pair) vid_attr(attr, (short) pair, 0) #endif #else /* !NCURSES_EXT_COLORS */ @@ -485,6 +500,9 @@ NCURSES_EXPORT(int *) _nc_ptr_Escdelay (SCREEN *); # endif # define _declare(name) __extension__ extern __typeof__(name) name # define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak)) +#else +# undef USE_WEAK_SYMBOLS +# define USE_WEAK_SYMBOLS 0 #endif #endif @@ -683,6 +701,9 @@ typedef struct { #if USE_GPM_SUPPORT #undef buttons /* term.h defines this, and gpm uses it! */ #include +#if USE_WEAK_SYMBOLS +weak_symbol(Gpm_Wgetch); +#endif #ifdef HAVE_LIBDL /* link dynamically to GPM */ @@ -1062,6 +1083,10 @@ struct screen { bool _use_rmso; /* true if we may use 'rmso' */ bool _use_rmul; /* true if we may use 'rmul' */ +#if USE_KLIBC_KBD + bool _extended_key; /* true if an extended key */ +#endif + /* * These data correspond to the state of the idcok() and idlok() * functions. A caveat is in order here: the XSI and SVr4 @@ -1200,7 +1225,7 @@ extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch; WINDOWLIST *next; SCREEN *screen; /* screen containing the window */ WINDOW win; /* WINDOW_EXT() needs to account for offset */ -#ifdef NCURSES_WIDECHAR +#if NCURSES_WIDECHAR char addch_work[(MB_LEN_MAX * 9) + 1]; unsigned addch_used; /* number of bytes in addch_work[] */ int addch_x; /* x-position for addch_work[] */ @@ -1956,6 +1981,7 @@ extern NCURSES_EXPORT(void) _nc_alloc_entry_leaks(void); extern NCURSES_EXPORT(void) _nc_captoinfo_leaks(void); extern NCURSES_EXPORT(void) _nc_codes_leaks(void); extern NCURSES_EXPORT(void) _nc_comp_captab_leaks(void); +extern NCURSES_EXPORT(void) _nc_comp_error_leaks(void); extern NCURSES_EXPORT(void) _nc_comp_scan_leaks(void); extern NCURSES_EXPORT(void) _nc_db_iterator_leaks(void); extern NCURSES_EXPORT(void) _nc_keyname_leaks(void); @@ -2152,7 +2178,7 @@ typedef struct term_driver { void (*initcolor)(struct DriverTCB*, int, int, int, int); void (*docolor)(struct DriverTCB*, int, int, int, int(*)(SCREEN*, int)); void (*initmouse)(struct DriverTCB*); - int (*testmouse)(struct DriverTCB*, int); + int (*testmouse)(struct DriverTCB*, int EVENTLIST_2nd(_nc_eventlist*)); void (*setfilter)(struct DriverTCB*); void (*hwlabel)(struct DriverTCB*, int, char*); void (*hwlabelOnOff)(struct DriverTCB*, int);