#ifndef ___INCLUDES_H__ #define ___INCLUDES_H__ /* * Nessus system includes */ #ifdef _CYGWIN_ #undef _WIN32 #endif #ifdef _WIN32 #include "config.w32" #else #include "config.h" #endif #ifdef HAVE_UNISTD_H #include <unistd.h> #endif /* HAVE_UNISTD_H */ #ifdef linux /* avoid symbol clash with librpcsvc.a(xmount.o) */ #define xdr_fhstatus xDr_fHsTaTuS #endif #ifdef HAVE_STDLIB_H #include <stdlib.h> #endif #ifdef HAVE_STDIO_H #include <stdio.h> #endif #if HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_CTYPE_H #include <ctype.h> #endif #ifdef HAVE_ERRNO_H #include <errno.h> #endif #ifdef HAVE_FCNTL_H #include <fcntl.h> #endif #ifdef HAVE_MEMORY_H #include <memory.h> #endif #if defined (STDC_HEADERS) && defined (HAVE_STRING_H) # include <string.h> #else # ifndef HAVE_STRCHR # define strchr index # define strrchr rindex # endif /* not defined HAVE_STRCHR */ char *strchr (), *strrchr (); # ifndef HAVE_MEMCPY # define memcpy(d, s, n) bcopy ((s), (d), (n)) # define memmove(d, s, n) bcopy ((s), (d), (n)) # endif /* not HAVE_MEMCPY */ #endif /* STDC_HEADERS && HAVE_STRING_H */ #ifdef HAVE_STRINGS_H #include <strings.h> #endif /* HAVE_STRINGS_H */ #ifdef HAVE_LIMITS_H #include <limits.h> #endif #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_NETINET_IN_SYSTM_H #include <netinet/in_systm.h> #endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> #endif #ifdef HAVE_SYS_UN_H #include <sys/un.h> #endif #ifdef HAVE_ARPA_INET_H #include <arpa/inet.h> #endif #ifdef HAVE_SIGNAL_H #include <signal.h> #endif #ifdef HAVE_DLFCN_H #include <dlfcn.h> #endif #if HAVE_SYS_WAIT_H #include <sys/wait.h> #endif #ifndef WEXITSTATUS #define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) #endif #ifndef WIFEXITED #define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif #ifdef TIME_WITH_SYS_TIME # include <sys/time.h> # include <time.h> #else # ifdef HAVE_SYS_TIME_H # include <sys/time.h> # else # include <time.h> # endif #endif #ifdef HAVE_SYS_IOCTL_H #include <sys/ioctl.h> #endif #ifdef HAVE_SYS_STAT_H #include <sys/stat.h> #endif #ifdef HAVE_SYS_FILIO_H #include <sys/filio.h> #endif #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif #ifdef HAVE_DIRENT_H # include <dirent.h> # define NAMLEN(dirent) strlen((dirent)->d_name) #else # define dirent direct # define NAMLEN(dirent) (dirent)->d_namlen # ifdef HAVE_SYS_NDIR_H # include <sys/ndir.h> # endif # ifdef HAVE_SYS_DIR_H # include <sys/dir.h> # endif # ifdef HAVE_NDIR_H # include <ndir.h> # endif #endif #ifdef HAVE_SETJMP_H #include <setjmp.h> #endif #ifdef HAVE_SSL #include <openssl/ssl.h> #include <openssl/x509.h> #endif /* * Threads management * * Nessus is currently able to deal with * 3 kinds of threads API : * * - the POSIX Threads * - the WindowsNT Threads * - fork() used as Threads * */ #ifdef NESSUSNT #define USE_NT_THREADS #else #ifndef USE_PTHREADS #define USE_FORK_THREADS #endif #endif #ifdef USE_PTHREADS # ifdef HAVE_PTHREAD_H # include <pthread.h> # else # error "Your system is lacking pthread support" # endif #endif #ifdef HAVE_SYS_MMAN_H #include <sys/mman.h> #endif #ifdef HAVE_LINUX_MSG_H #include <linux/msg.h> #else #ifdef HAVE_SYS_IPC_H #include <sys/ipc.h> #endif #ifdef HAVE_SYS_MSG_H #include <sys/msg.h> #endif #endif #ifdef HAVE_SYS_RESOURCE_H #include <sys/resource.h> #endif #ifdef HAVE_SYS_UIO_H #include <sys/uio.h> #endif #ifndef MSGMAX #define MSGMAX 4000 /* This is awkwardly arbitrary */ #endif #ifdef BSD_BYTE_ORDERING # define FIX(n) (n) # define UNFIX(n) (n) #else # define FIX(n) htons(n) # define UNFIX(n) ntohs(n) #endif #include <pcap.h> #include <ntcompat.h> #include <libnessus.h> #include <nessus-devel.h> #endif /* not defined(___INCLUDES_H) */