/****************************************************************************
- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
/****************************************************************************
* Author: Thomas E. Dickey <dickey@clark.net> 1996 *
****************************************************************************/
-/* $Id: test.priv.h,v 1.35 2002/06/29 23:36:12 tom Exp $ */
+/* $Id: test.priv.h,v 1.46 2003/10/19 00:04:24 tom Exp $ */
+
+#ifndef __TEST_PRIV_H
+#define __TEST_PRIV_H 1
-#if HAVE_CONFIG_H
#include <ncurses_cfg.h>
-#else
-#define HAVE_CURSES_VERSION 0
-#define HAVE_RESIZETERM 0
-#define HAVE_USE_DEFAULT_COLORS 0
-#define HAVE_WRESIZE 0
+
+/*
+ * Fix ifdef's that look for the form/menu/panel libraries, if we are building
+ * with wide-character ncurses.
+ */
+#ifdef HAVE_LIBFORMW
+#define HAVE_LIBFORM 1
+#endif
+
+#ifdef HAVE_LIBMENUW
+#define HAVE_LIBMENU 1
+#endif
+
+#ifdef HAVE_LIBPANELW
+#define HAVE_LIBPANEL 1
#endif
+/*
+ * Fallback definitions to accommodate broken compilers
+ */
#ifndef HAVE_CURSES_VERSION
#define HAVE_CURSES_VERSION 0
#endif
#define HAVE_PANEL_H 0
#endif
+#ifndef HAVE_SLK_COLOR
+#define HAVE_SLK_COLOR 0
+#endif
+
#ifndef HAVE_WRESIZE
#define HAVE_WRESIZE 0
#endif
+#ifndef NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 0
+#endif
+
#ifndef NCURSES_NOMACROS
#define NCURSES_NOMACROS 0
#endif
#include <signal.h> /* include before curses.h to work around glibc bug */
+#if defined(HAVE_NCURSESW_NCURSES_H)
+#include <ncursesw/curses.h>
+#include <ncursesw/term.h>
+#elif defined(HAVE_NCURSES_NCURSES_H)
+#include <ncurses/curses.h>
+#include <ncurses/term.h>
+#else
#include <curses.h>
#include <term.h>
+#endif
#if NCURSES_NOMACROS
#include <nomacros.h>
#define setlocale(name,string) /* nothing */
#endif
+#include <assert.h>
+#include <ctype.h>
+
#ifndef GCC_NORETURN
#define GCC_NORETURN /* nothing */
#endif
#endif
#endif
+#if HAVE_PANEL_H && HAVE_LIBPANEL
+#define USE_LIBPANEL 1
+#else
+#define USE_LIBPANEL 0
+#endif
+
+#if HAVE_MENU_H && HAVE_LIBMENU
+#define USE_LIBMENU 1
+#else
+#define USE_LIBMENU 0
+#endif
+
+#if HAVE_FORM_H && HAVE_LIBFORM
+#define USE_LIBFORM 1
+#else
+#define USE_LIBFORM 0
+#endif
+
#ifndef HAVE_TYPE_ATTR_T
#if !USE_WIDEC_SUPPORT
#define attr_t long
#endif
#endif
-#ifndef NCURSES_CH_T
+#undef NCURSES_CH_T
#if !USE_WIDEC_SUPPORT
#define NCURSES_CH_T chtype
#else
#define NCURSES_CH_T cchar_t
#endif
-#endif
#ifndef CCHARW_MAX
#define CCHARW_MAX 5
#endif
+#ifndef CTRL
+#define CTRL(x) ((x) & 0x1f)
+#endif
+
+#define QUIT CTRL('Q')
+#define ESCAPE CTRL('[')
+
#ifndef KEY_MIN
#define KEY_MIN 256 /* not defined in Solaris 8 */
#endif
#ifndef NCURSES_CONST
#define NCURSES_CONST /* nothing */
#endif
+
+/* out-of-band values for representing absent capabilities */
+#define ABSENT_BOOLEAN (-1) /* 255 */
+#define ABSENT_NUMERIC (-1)
+#define ABSENT_STRING (char *)0
+
+/* out-of-band values for representing cancels */
+#define CANCELLED_BOOLEAN (char)(-2) /* 254 */
+#define CANCELLED_NUMERIC (-2)
+#define CANCELLED_STRING (char *)(-1)
+
+#define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */
+#define VALID_NUMERIC(s) ((s) >= 0)
+#define VALID_STRING(s) ((s) != CANCELLED_STRING && (s) != ABSENT_STRING)
+
+#define VT_ACSC "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~"
+
+#endif /* __TEST_PRIV_H */