diff options
-rw-r--r-- | src/common.h | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/src/common.h b/src/common.h new file mode 100644 index 0000000..e81ed7e --- /dev/null +++ b/src/common.h @@ -0,0 +1,192 @@ +/* $Id: common.h,v 1.1 2002-05-23 04:37:54 rjkaes Exp $ + * + * This file groups all the headers required throughout the tinyproxy + * system. All this information use to be in the "tinyproxy.h" header, + * but since dnsserver.c also needs these headers, so it's been moved into + * this file. + * + * Copyright (C) 2002 Robert James Kaes (rjkaes@flarenet.com) + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + */ + +#ifndef COMMON_HEADER_H +#define COMMON_HEADER_H + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +/* + * Include standard headers which are used through-out tinyproxy + */ +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#ifdef HAVE_STDDEF_H +# include <stddef.h> +#endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif + +#ifdef HAVE_SYS_IOCTL_H +# include <sys/ioctl.h> +#endif +#ifdef HAVE_SYS_SELECT_H +# include <sys/select.h> +#endif +#ifdef HAVE_SYS_SOCKET_H +# include <sys/socket.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif + +#ifdef HAVE_SYS_TIME_H +# include <sys/time.h> +# ifdef HAVE_TIME_H +# include <time.h> +# endif +#else +# ifdef HAVE_SYS_TIME_H +# include <sys/time.h> +# else +# ifdef HAVE_TIME_H +# include <time.h> +# endif +# endif +#endif + +#ifdef HAVE_SYS_RESOURCE_H +# include <sys/resource.h> +#endif +#ifdef HAVE_SYS_UIO_H +# include <sys/uio.h> +#endif +#ifdef HAVE_SYS_UN_H +# include <sys/un.h> +#endif +#ifdef HAVE_SYS_WAIT_H +# include <sys/wait.h> +#endif + +#ifdef HAVE_NETINET_IN_H +# include <netinet/in.h> +#endif +#ifdef HAVE_ARPA_INET_H +# include <arpa/inet.h> +#endif +#ifdef HAVE_ALLOCA_H +# include <alloca.h> +#endif +#ifdef HAVE_ASSERT_H +# include <assert.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_GRP_H +# include <grp.h> +#endif +#ifdef HAVE_MEMORY_H +# include <memory.h> +#endif +#ifdef HAVE_NETDB_H +# include <netdb.h> +#endif +#ifdef HAVE_PTHREAD_H +# include <pthread.h> +#else +# ifdef HAVE_PTHREADS_H +# include <pthreads.h> +# endif +#endif +#ifdef HAVE_PWD_H +# include <pwd.h> +#endif +#ifdef HAVE_SIGNAL_H +# include <signal.h> +#endif +#ifdef HAVE_STDARG_H +# include <stdarg.h> +#endif +#ifdef HAVE_STDIO_H +# include <stdio.h> +#endif +#ifdef HAVE_STDLIB_H +# include <stdlib.h> +#else +# ifdef HAVE_MALLOC_H +# include <malloc.h> +# endif +#endif +#ifdef HAVE_STRING_H +# include <string.h> +#endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_SYSEXITS_H +# include <sysexits.h> +#endif +#ifdef HAVE_SYSLOG_H +# include <syslog.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif +#ifdef HAVE_VFORK_H +# include <vfork.h> +#endif +#ifdef HAVE_WCHAR_H +# include <wchar.h> +#endif +#ifdef HAVE_WCTYPE_H +# include <wctype.h> +#endif + +/* + * If MSG_NOSIGNAL is not defined, define it to be zero so that it doesn't + * cause any problems. + */ +#ifndef MSG_NOSIGNAL +# define MSG_NOSIGNAL (0) +#endif + +#ifndef SHUT_RD /* these three Posix.1g names are quite new */ +# define SHUT_RD 0 /* shutdown for reading */ +# define SHUT_WR 1 /* shutdown for writing */ +# define SHUT_RDWR 2 /* shutdown for reading and writing */ +#endif + +#define MAXLISTEN 1024 /* Max number of connections */ + +/* Useful function macros */ +#define min(a,b) ((a) < (b) ? (a) : (b)) +#define max(a,b) ((a) > (b) ? (a) : (b)) + +/* Make a new type: bool_t */ +typedef enum { + FALSE = 0, + TRUE = 1 +} bool_t; + +#endif |