#ifdef __cplusplus
# define ANYARG ...
# define BEGINEXTERN extern "C" {
# define ENDEXTERN }
#else
# define ANYARG
# define BEGINEXTERN
# define ENDEXTERN
#endif
#ifdef DISABLE_INLINE
# undef ASMINLINE
#else
# ifdef __cplusplus
# define INLINE inline static
# elif defined(__GNUC__)
# define INLINE __inline__ static
# endif
#endif
#ifndef DISABLE_VOLATILE
# ifdef __GNUC__
# define VOLATILE volatile
# endif
#endif
#ifndef VOLATILE
# define VOLATILE
#endif
#ifndef INLINE
# define INLINE static
#endif
#ifdef ENABLE_TLS
# define THREAD __thread
#else
# define THREAD
#endif
#if defined(_WIN32) || defined(__CYGWIN32__)
BEGINEXTERN
extern int win32ctrlc, win32alrm;
void dowin32ctrlc(void);
ENDEXTERN
#define CHECK_CTRLC if (win32ctrlc) dowin32ctrlc();
#else
#define CHECK_CTRLC
#endif