/* * AUTHOR: Duane Wessels * * SQUID Web Proxy Cache http://www.squid-cache.org/ * ---------------------------------------------------------- * * Squid is the result of efforts by numerous individuals from * the Internet community; see the CONTRIBUTORS file for full * details. Many organizations have provided support for Squid's * development; see the SPONSORS file for full details. Squid is * Copyrighted (C) 2001 by the Regents of the University of * California; see the COPYRIGHT file for full details. Squid * incorporates software developed and/or copyrighted by other * sources; see the CREDITS file for full details. * * 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 of the License, 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. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #ifndef SQUID_H #define SQUID_H #include "squid.h" #if _SQUID_MSWIN_ /** \cond AUTODOCS-IGNORE */ using namespace Squid; /** \endcond */ #endif #if HAVE_UNISTD_H #include #endif #if HAVE_STDIO_H #include #endif #if HAVE_CTYPE_H #include #endif #if HAVE_ERRNO_H #include #endif #if HAVE_GRP_H #include #endif #if HAVE_GNUMALLOC_H #include #elif HAVE_MALLOC_H #include #endif #if HAVE_MEMORY_H #include #endif #if HAVE_NETDB_H #include #endif #if HAVE_PATHS_H #include #endif #if HAVE_PWD_H #include #endif #if HAVE_SIGNAL_H #include #endif #if HAVE_TIME_H #include #endif #if HAVE_SYS_PARAM_H #include #endif #if HAVE_SYS_TIME_H #include #endif #if HAVE_SYS_RESOURCE_H #include /* needs sys/time.h above it */ #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_NETINET_IN_H #include #endif #if HAVE_ARPA_INET_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_SYS_UN_H #include #endif #if HAVE_SYS_WAIT_H #include #endif #if HAVE_LIBC_H #include #endif #if HAVE_SYS_SYSCALL_H #include #endif #if HAVE_STRING_H #include #endif #if HAVE_STRINGS_H #include #endif #if HAVE_BSTRING_H #include #endif #if HAVE_GETOPT_H #include #endif #if HAVE_LIMITS_H #include #endif #if _SQUID_WINDOWS_ #include #endif #if HAVE_SYS_MOUNT_H #include #endif #if HAVE_MATH_H #include #endif #ifndef MAXPATHLEN #define MAXPATHLEN SQUID_MAXPATHLEN #endif #if LEAK_CHECK_MODE #define LOCAL_ARRAY(type,name,size) \ static type *local_##name=NULL; \ type *name = local_##name ? local_##name : \ ( local_##name = (type *)xcalloc(size, sizeof(type)) ) #else #define LOCAL_ARRAY(type,name,size) static type name[size] #endif #if _SQUID_NEXT_ && !defined(S_ISDIR) #define S_ISDIR(mode) (((mode) & (_S_IFMT)) == (_S_IFDIR)) #endif #include "md5.h" #if SQUID_SNMP #include "cache_snmp.h" #endif #include "hash.h" #include "rfc3596.h" #include "defines.h" #include "enums.h" #include "typedefs.h" #include "util.h" #include "profiler/Profiler.h" #include "MemPool.h" #include "ip/Address.h" #include "structs.h" #include "protos.h" #include "globals.h" /* * I'm sick of having to keep doing this .. */ #define INDEXSD(i) (Config.cacheSwap.swapDirs[(i)].getRaw()) #define FD_READ_METHOD(fd, buf, len) (*fd_table[fd].read_method)(fd, buf, len) #define FD_WRITE_METHOD(fd, buf, len) (*fd_table[fd].write_method)(fd, buf, len) #ifndef IPPROTO_UDP #define IPPROTO_UDP 0 #endif #ifndef IPPROTO_TCP #define IPPROTO_TCP 0 #endif #endif /* SQUID_H */