ncurses 5.7 - patch 20090829
[ncurses.git] / include / curses.h.in
index 665645b22976af0b020699ea2b9d0529eb645a5c..f2c5a15489b5368228f4354b75bdec3dfe87cdb0 100644 (file)
@@ -32,7 +32,7 @@
  *     and: Thomas E. Dickey                        1996-on                 *
  ****************************************************************************/
 
-/* $Id: curses.h.in,v 1.200 2009/05/16 23:27:59 tom Exp $ */
+/* $Id: curses.h.in,v 1.205 2009/08/29 18:33:18 tom Exp $ */
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
 #define NCURSES_REENTRANT @cf_cv_enable_reentrant@
 #endif
 
-/*
- * For reentrant code, we map the various global variables into SCREEN by
- * using functions to access them.
- */
-#define NCURSES_PUBLIC_VAR(name) @NCURSES_WRAP_PREFIX@##name
-#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void)
-
 /*
  * The internal type used for window dimensions.
  */
@@ -351,7 +344,13 @@ typedef unsigned short wchar_t@NCURSES_OK_WCHAR_T@;
 typedef unsigned int wint_t@NCURSES_OK_WCHAR_T@;
 #endif
 
-#define CCHARW_MAX     5
+/*
+ * 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     @NCURSES_CCHARW_MAX@
 typedef struct
 {
     attr_t     attr;
@@ -851,6 +850,7 @@ extern NCURSES_EXPORT(char *) keybound (int, int);
 extern NCURSES_EXPORT(const char *) curses_version (void);
 extern NCURSES_EXPORT(int) assume_default_colors (int, int);
 extern NCURSES_EXPORT(int) define_key (const char *, int);
+extern NCURSES_EXPORT(int) get_escdelay (void);
 extern NCURSES_EXPORT(int) key_defined (const char *);
 extern NCURSES_EXPORT(int) keyok (int, bool);
 extern NCURSES_EXPORT(int) resize_term (int, int);
@@ -917,6 +917,7 @@ extern NCURSES_EXPORT(char) NCURSES_SP_NAME(erasechar) (SCREEN*);/* implemented
 extern NCURSES_EXPORT(void) NCURSES_SP_NAME(filter) (SCREEN*); /* implemented */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flash) (SCREEN*); /* implemented */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flushinp) (SCREEN*); /* implemented */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(getwin) (SCREEN*, FILE *);                     /* implemented */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay)(SCREEN*, int); /* implemented */
 extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* implemented */
 extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implemented */
@@ -1093,9 +1094,11 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);
 #if !NCURSES_OPAQUE
 #if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@
 #define wattrset(win,at)       ((win)->_color = PAIR_NUMBER(at), \
-                                 NCURSES_CAST(int, (win)->_attrs = (at)))
+                                 (win)->_attrs = (at), \
+                                 NCURSES_CAST(int, (win)->_attrs))
 #else
-#define wattrset(win,at)        NCURSES_CAST(int, (win)->_attrs = (at))
+#define wattrset(win,at)        ((win)->_attrs = (at), \
+                                NCURSES_CAST(int, (win)->_attrs))
 #endif
 #endif /* NCURSES_OPAQUE */