/* config.h.  Generated from config.h.in by configure.  */
/* config.h.in.  Generated from configure.ac by autoheader.  */

/* Define if you have the <DECkeySym.h> header file */
/* #undef HAVE_DECKEYSYM_H */

/* Define to 1 if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */

/* Define to 1 if you have the <dl.h> header file. */
/* #undef HAVE_DL_H */

/* Define to 1 if you have the <fcntl.h> header file. */
/* #undef HAVE_FCNTL_H */

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1

/* Define to 1 if you have the `poll' function. */
/* #undef HAVE_POLL */

/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define if you have the <Sunkeysym.h> header file */
/* #undef HAVE_SUNKEYSYM_H */

/* Define to 1 if you have the <sys/select.h> header file. */
/* #undef HAVE_SYS_SELECT_H */

/* Define to 1 if you have the <sys/stat.h> header file. */
/* #undef HAVE_SYS_STAT_H */

/* Define to 1 if you have the <sys/time.h> header file. */
/* #undef HAVE_SYS_TIME_H */

/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define to 1 if you have the `usleep' function. */
#define HAVE_USLEEP 1

/* Define to 1 if you have the `vsnprintf' function. */
#define HAVE_VSNPRINTF 1

/* Define to 1 if you have the `vsscanf' function. */
#define HAVE_VSSCANF 1

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_BEGIN */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_DELETE */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_DOWN */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_END */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_HOME */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_INSERT */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_LEFT */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_NEXT */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_PRIOR */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_RIGHT */

/* Define if you have this defined in <keysym.h> */
/* #undef HAVE_XK_KP_UP */

/* Define if you have the <xpm.h> header file */
/* #undef HAVE_XPM_H */

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "coreboot@coreboot.org"

/* Define to the full name of this package. */
#define PACKAGE_NAME "PDCurses"

/* Define to the full name and version of this package. */
#define PACKAGE_STRING "PDCurses 3.4+libpayload"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "PDCurses"

/* Define to the version of this package. */
#define PACKAGE_VERSION "3.4+libpayload"

/* Define as the system defined limit for number of signals */
#define PDC_MAX_SIGNALS NSIG

/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1

/* Define if you want to use neXtaw library */
/* #undef USE_NEXTAW */

/* Define if you want to use Xaw3d library */
/* #undef USE_XAW3D */

/* Define XPointer is typedefed in X11/Xlib.h */
/* #undef XPOINTER_TYPEDEFED */
