/****************************************************************************
- * 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 *
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.488 2011/10/22 22:41:12 tom Exp $
+ * $Id: curses.priv.h,v 1.496 2012/02/22 22:10:37 tom Exp $
*
* curses.priv.h
*
#define MODULE_ID(id) /*nothing*/
#endif
-#if !(defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE))
-#define _POSIX_SOURCE
-#endif
-
#include <stddef.h> /* for offsetof */
#include <stdlib.h>
#include <string.h>
#define USE_FUNC_POLL 0
#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+# include <stdint.h>
+# endif
+#endif
+
/* include signal.h before curses.h to work-around defect in glibc 2.1.3 */
#include <signal.h>
#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 */
#define if_USE_SCROLL_HINTS(stmt) /*nothing*/
#endif
+#include <nc_string.h>
+
/*
* Options for terminal drivers, etc...
*/
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
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[] */
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);
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);