/* Sample config.h for Hercules on VMS */ #define VERSION "3.07" #define CUSTOM_BUILD_STRING "Hercules for VMS" /* Stuff added after upgrading to VMS 8.2 */ #define _LFS_LARGEFILE #define HAVE_FSEEKO #define HAVE_FTELLO #define HAVE_SETREUID #define HAVE_GETPGRP int getpgrp(); int setreuid(); int setregid(); double ldexp(); /* Additional defines required for 3.07 */ #define C99_FLEXIBLE_ARRAYS /* Use memdev[] instead of memdev[0] */ #undef SSIZE_MAX #define SSIZE_MAX 65535 /* Used to define size of logging buffer */ /* Additional defines required for 3.06 */ #define OPTION_ENHANCED_CONFIG_SYMBOLS #define OPTION_ENHANCED_CONFIG_INCLUDES /* Additional defines required for 3.04.1 */ #define MAX_CPU_ENGINES 4 #define HAVE_FSYNC #define HAVE_SCHED_H #define HAVE_NETINET_IN_H #define HAVE_STRUCT_IN_ADDR_S_ADDR #define HAVE_NETDB_H #define HAVE_ARPA_INET_H #define HAVE_PWD_H #define HAVE_ZLIB_H #define HAVE_BZLIB_H #define HAVE_SYS_UTSNAME_H #define HAVE_TERMIOS_H #define OPTION_CONFIG_SYMBOLS int socketpair(int domain, int type, int protocol, int socket_vector[2]); /* 2.17.1 specific defines */ #define HAVE_INTTYPES_H #define NO_ATTR_REGPARM #define NO_ASM_BYTESWAP /* #define NO_SETUID setuid is available in VMS 8.2 */ #define NO_IEEE_SUPPORT /* #define NO_900_MODE */ /* Remove the following 3 lines if libz and libbz2 are unavailable */ #define HAVE_LIBZ #define CCKD_BZIP2 #define HET_BZIP2 #ifdef __VAX /* Yes. Hercules can be made to work on a VAX. It's not pretty but it can be done. */ #define NO_64BIT_INTS int lib$addx(void *, void *, void *, int *); int lib$subx(void *, void *, void *, int *); int lib$emul(void *, void *, void *, void *); int lib$ediv(int *, void *, int *, int *); #endif #define NO_SIGABEND_HANDLER /* Problem workarounds */ #define sleep(_interval) threadsafe_sleep(_interval) /* sleep !threadsafe */ #define usleep(_interval) threadsafe_usleep(_interval) /* usleep also? */ char *realpath(const char *file_name, char *resolved_name); /* httpserv.c */ #include /* For definition of pthread_t */ int pthread_kill(pthread_t thread, int sig); /* Horrible hacks */ #include /* Need for hacked version of div_signed */ #include /* Need for timespec if NOTHREAD defined */ #define __inline__ inline /* __inline__ seems to be a gccism */ #define __attribute__(_attr) /* __attribute__ seems to be another one */ #define sa_sigaction sa_handler /* Wild guess. Used in impl.c */ #define fork vfork /* In printer.c, hscmisc.c and ctcadpt.c */ /* Absolutely gruesome hacks */ #define strtok_r(string, delimiters, context) strtok(string, delimiters) /* New features */ #define DO_7171_HOST_INITIATED_LINE_DROP