diff options
author | Ryan Bloom <rbb@apache.org> | 2000-05-13 01:48:01 +0200 |
---|---|---|
committer | Ryan Bloom <rbb@apache.org> | 2000-05-13 01:48:01 +0200 |
commit | d5e5e9c026f0128d9dce45bd866cd11caf2f6b1b (patch) | |
tree | 0e96da516f5ec51d3822bc68a57de32f5e039adc /include/ap_config.h | |
parent | fix WIN32 build for APACHE_XLATE changes (diff) | |
download | apache2-d5e5e9c026f0128d9dce45bd866cd11caf2f6b1b.tar.xz apache2-d5e5e9c026f0128d9dce45bd866cd11caf2f6b1b.zip |
All this file does is include another file. I am fixing this by removing
this file and replacing it with the file it includes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85210 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/ap_config.h')
-rw-r--r-- | include/ap_config.h | 1446 |
1 files changed, 0 insertions, 1446 deletions
diff --git a/include/ap_config.h b/include/ap_config.h deleted file mode 100644 index 5232bbb602..0000000000 --- a/include/ap_config.h +++ /dev/null @@ -1,1446 +0,0 @@ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2000 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" must - * not be used to endorse or promote products derived from this - * software without prior written permission. For written - * permission, please contact apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", - * nor may "Apache" appear in their name, without prior written - * permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * Portions of this software are based upon public domain software - * originally written at the National Center for Supercomputing Applications, - * University of Illinois, Urbana-Champaign. - */ - -#ifndef AP_CONFIG_H -#define AP_CONFIG_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef HAVE_CONFIG_H -#include "ap_ac_config.h" /* If we're using autoconf, go to the new - ap_config.h replacement */ -#else /* HAVE_CONFIG_H */ - -/* - * ap_config.h: system-dependant #defines and includes... - * See PORTING for a listing of what they mean - */ - -#include "ap_mmn.h" /* MODULE_MAGIC_NUMBER_ */ - -/* - * Support for platform dependent autogenerated defines - */ -#ifndef WIN32 -#include "ap_config_auto.h" -#else -/* not available under WIN32, so provide important entries manually */ -#undef HAVE_UNISTD_H -#endif - -/* Have to include sys/stat.h before ../os/win32/os.h so we can override -stat() properly */ -#include <sys/types.h> -#include <sys/stat.h> - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -/* So that we can use inline on some critical functions, and use - * GNUC attributes (such as to get -Wall warnings for printf-like - * functions). Only do this in gcc 2.7 or later ... it may work - * on earlier stuff, but why chance it. - * - * We've since discovered that the gcc shipped with NeXT systems - * as "cc" is completely broken. It claims to be __GNUC__ and so - * on, but it doesn't implement half of the things that __GNUC__ - * means. In particular it's missing inline and the __attribute__ - * stuff. So we hack around it. PR#1613. -djg - */ -#if !defined(__GNUC__) || __GNUC__ < 2 || \ - (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ||\ - defined(NEXT) -#define ap_inline -#define __attribute__(__x) -#define ENUM_BITFIELD(e,n,w) signed int n : w -#else -#define ap_inline __inline__ -#define USE_GNU_INLINE -#define ENUM_BITFIELD(e,n,w) e n : w -#endif - -#ifdef WIN32 -#include "../os/win32/os.h" -#else -#include "os.h" -#endif - -#if !defined(QNX) && !defined(MPE) && !defined(WIN32) && !defined(TPF) -/* #include <sys/param.h> */ -#endif - -/* Define one of these according to your system. */ -#if defined(MINT) -typedef int rlim_t; -#define JMP_BUF sigjmp_buf -#define NO_LONG_DOUBLE -#define USE_FLOCK_SERIALIZED_ACCEPT -#define _BSD_SOURCE -#define EAGAIN EWOULDBLOCK -int initgroups (char *, int); -char *crypt (const char *pw, const char *salt); -int gethostname (char *name, int namelen); - -#elif defined(MPE) -#include <sys/times.h> -#define NO_SETSID -#define NO_KILLPG -#define NO_WRITEV -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#define SHM_R 0400 /* Read permission */ -#define SHM_W 0200 /* Write permission */ -#define NEED_INITGROUPS -#define NEED_STRCASECMP -#define NEED_STRDUP -#define NEED_STRNCASECMP -extern void GETPRIVMODE(); -extern void GETUSERMODE(); -extern char *inet_ntoa(); -#define NO_SLACK -#define NO_GETTIMEOFDAY -#define S_IEXEC S_IXUSR -#define S_IREAD S_IRUSR -#define S_IWRITE S_IWUSR -#define PF_INET AF_INET - -#elif defined(SUNOS4) -#define HAVE_GMTOFF 1 -#undef NO_KILLPG -#undef NO_SETSID -char *crypt(const char *pw, const char *salt); -char *mktemp(char *template); -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#include <sys/time.h> -#define NEED_STRERROR -typedef int rlim_t; -#define memmove(a,b,c) bcopy(b,a,c) -#define NO_LINGCLOSE -#define USE_FLOCK_SERIALIZED_ACCEPT -#define NEED_DIFFTIME -#define HAVE_SYSLOG 1 - -#elif defined(SOLARIS2) -#undef HAVE_GMTOFF -#define NO_KILLPG -#undef NO_SETSID -#define bzero(a,b) memset(a,0,b) -#if !defined(USE_SYSVSEM_SERIALIZED_ACCEPT) && \ - !defined(USE_PTHREAD_SERIALIZED_ACCEPT) -#define USE_FCNTL_SERIALIZED_ACCEPT -#endif -#define NEED_UNION_SEMUN -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -int gethostname(char *name, int namelen); -#define HAVE_SYSLOG 1 -#define SYS_SIGLIST _sys_siglist -#ifndef INADDR_NONE -#define INADDR_NONE ((unsigned int) 0xffffffff) -#endif - -#elif defined(IRIX) -#undef HAVE_GMTOFF -/* IRIX has killpg, but it's only in _BSD_COMPAT, so don't use it in case - * there's some weird conflict with non-BSD signals */ -#define NO_KILLPG -#undef NO_SETSID -#if !defined(USE_FLOCK_SERIALIZED_ACCEPT) && \ - !defined(USE_USLOCK_SERIALIZED_ACCEPT) && \ - !defined(USE_SYSVSEM_SERIALIZED_ACCEPT) -#define USE_FCNTL_SERIALIZED_ACCEPT -#endif -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#define HAVE_MMAP 1 -#define USE_MMAP_FILES -#define NO_LONG_DOUBLE -#define NO_LINGCLOSE -#define HAVE_SYSLOG 1 - -#elif defined(HIUX) -#undef HAVE_GMTOFF -#define NO_KILLPG -#undef NO_SETSID -#ifndef _HIUX_SOURCE -#define _HIUX_SOURCE -#endif -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#define SELECT_NEEDS_CAST -#define HAVE_SYSLOG 1 - -#elif defined(HPUX) || defined(HPUX10) -#undef HAVE_GMTOFF -#define NO_KILLPG -#undef NO_SETSID -#define USE_FCNTL_SERIALIZED_ACCEPT -#ifndef _HPUX_SOURCE -#define _HPUX_SOURCE -#endif -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#define HAVE_SYSLOG 1 -#ifndef HPUX10 -#define SELECT_NEEDS_CAST -typedef int rlim_t; -#endif - -#elif defined(HPUX11) -#ifndef _HPUX_SOURCE -#define _HPUX_SOURCE -#endif -#define HAVE_SHMGET -#define USE_SHMGET_SCOREBOARD -#undef HAVE_GMTOFF -#define USE_FCNTL_SERIALIZED_ACCEPT -/* feeling brave? want to try using POSIX mutexes? */ -/* #define HAVE_MMAP */ -/* #define USE_MMAP_SCOREBOARD */ -/* #define USE_MMAP_FILES */ -/* #define USE_PTHREAD_SERIALIZED_ACCEPT */ -#define NO_KILLPG -#undef NO_SETSID -#define HAVE_SYSLOG - -#elif defined(AIX) -#undef HAVE_GMTOFF -#undef NO_KILLPG -#undef NO_SETSID -#ifndef __ps2__ -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#define HAVE_SYSLOG 1 -#ifndef DEFAULT_GROUP -#define DEFAULT_GROUP "nobody" -#endif -#endif -#ifndef DEFAULT_USER -#define DEFAULT_USER "nobody" -#endif -#ifdef NEED_RLIM_T -typedef int rlim_t; -#endif -/* Some versions of AIX support cross-process pthread mutexes; some don't. */ -#ifdef _POSIX_THREAD_PROCESS_SHARED -#define USE_PTHREAD_SERIALIZED_ACCEPT -#else -#define USE_FCNTL_SERIALIZED_ACCEPT -#endif -#ifdef USEBCOPY -#define memmove(a,b,c) bcopy(b,a,c) -#endif -#if AIX >= 42 -#define NET_SIZE_T size_t -#endif - -#elif defined(ULTRIX) -/* we don't want to use sys/resource.h under - Ultrix although this header exists. */ -#undef HAVE_SYS_RESOURCE_H -#define HAVE_GMTOFF 1 -#undef NO_KILLPG -#undef NO_SETSID -#define ULTRIX_BRAIN_DEATH -#define NEED_STRDUP -/* If you have Ultrix 4.3, and are using cc, const is broken */ -#ifndef __ultrix__ /* Hack to check for pre-Ultrix 4.4 cc */ -#define const /* Not implemented */ -#endif - -#elif defined(OSF1) -#define HAVE_GMTOFF 1 -#undef NO_KILLPG -#undef NO_SETSID -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#define NO_LONG_DOUBLE -#define HAVE_SYSLOG 1 -#define USE_FLOCK_SERIALIZED_ACCEPT -#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT - -#elif defined(PARAGON) -#define HAVE_GMTOFF 1 -#undef NO_KILLPG -#undef NO_SETSID -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#define NO_LONG_DOUBLE -#define HAVE_SYSLOG 1 -typedef int rlim_t; - -#elif defined(SEQUENT) -#define DEFAULT_USER "nobody" -#define DEFAULT_GROUP "nobody" -#define NO_SHMGET 1 -#define HAVE_MMAP 1 -#define HAVE_SYSLOG 1 -#define USE_MMAP_FILES 1 -#define USE_MMAP_SCOREBOARD 1 -#define USE_FCNTL_SERIALIZED_ACCEPT 1 -#define JMP_BUF sigjmp_buf -#undef NO_SETSID -#if SEQUENT < 40 -typedef int rlim_t; -#define NO_GETTIMEOFDAY -#undef HAVE_SYS_RESOURCE_H /* exists but does not provide *rlimit funcs */ -#include <sys/times.h> -#endif -#if SEQUENT < 42 -#define NEED_STRCASECMP -#define NEED_STRNCASECMP -#endif -#if SEQUENT < 44 -#define NO_KILLPG 1 -#define NET_SIZE_T int -#endif -#if SEQUENT >= 44 -#undef NO_KILLPG -#define NET_SIZE_T size_t -#endif - -#elif defined(NEXT) -typedef unsigned short mode_t; -#define HAVE_GMTOFF 1 -#undef NO_KILLPG -#define NO_SETSID -#define NEED_STRDUP -#define NO_LINGCLOSE -#undef _POSIX_SOURCE -#ifndef FD_CLOEXEC -#define FD_CLOEXEC 1 -#endif -#ifndef S_ISDIR -#define S_ISDIR(m) (((m)&(S_IFMT)) == (S_IFDIR)) -#endif -#ifndef S_ISREG -#define S_ISREG(m) (((m)&(S_IFMT)) == (S_IFREG)) -#endif -#ifndef S_IXUSR -#define S_IXUSR 00100 -#endif -#ifndef S_IRGRP -#define S_IRGRP 00040 -#endif -#ifndef S_IXGRP -#define S_IXGRP 00010 -#endif -#ifndef S_IROTH -#define S_IROTH 00004 -#endif -#ifndef S_IXOTH -#define S_IXOTH 00001 -#endif -#ifndef S_IRUSR -#define S_IRUSR S_IREAD -#endif -#ifndef S_IWUSR -#define S_IWUSR S_IWRITE -#endif -#ifndef S_IWGRP -#define S_IWGRP 000020 -#endif -#ifndef S_IWOTH -#define S_IWOTH 000002 -#endif - -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 - -/* PR#2293 fix */ -#define ap_wait_t union wait -#define waitpid(a,b,c) wait4((a) == -1 ? 0 : (a),(union wait *)(b),c,NULL) -#define WEXITSTATUS(status) (int)( WIFEXITED(status) ? ( (status).w_retcode ) : -1) -#define WTERMSIG(status) (int)( (status).w_termsig ) - -typedef int pid_t; -#define USE_LONGJMP -#define NO_USE_SIGACTION -#define HAVE_SYSLOG 1 - -#if defined(__DYNAMIC__) -#define HAVE_DYLD -#define DYLD_CANT_UNLOAD -#endif - -#elif defined(MAC_OS) || defined(MAC_OS_X_SERVER) /* Mac OS (>= 10.0) and Mac OS X Server (<= 5.x) */ -#undef PLATFORM -#ifdef MAC_OS_X_SERVER -#define PLATFORM "Mac OS X Server" -#else -#define PLATFORM "Mac OS" -#endif -#define HAVE_DYLD -#define HAVE_GMTOFF -#define HAVE_MMAP -#define USE_MMAP_FILES -#define USE_MMAP_SCOREBOARD -#ifdef MAC_OS_X_SERVER -#define MAP_TMPFILE -#endif /* MAC_OS_X_SERVER */ -#define HAVE_RESOURCE -#define HAVE_SNPRINTF -#define JMP_BUF jmp_buf -#define USE_LONGJMP -#define USE_FLOCK_SERIALIZED_ACCEPT -#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT -/* - * If you are using APACI, (you probably should be on Mac OS) these - * values are set at configure time. - */ -#ifndef HTTPD_ROOT -#define HTTPD_ROOT "/Local/Library/WebServer" -#endif -#ifndef DOCUMENT_LOCATION -#define DOCUMENT_LOCATION HTTPD_ROOT "/Documents" -#endif -#ifndef DEFAULT_XFERLOG -#define DEFAULT_XFERLOG "Logs/Access" -#endif -#ifndef DEFAULT_ERRORLOG -#define DEFAULT_ERRORLOG "Logs/Errors" -#endif -#ifndef DEFAULT_PIDLOG -#define DEFAULT_PIDLOG "Logs/Process" -#endif -#ifndef DEFAULT_SCOREBOARD -#define DEFAULT_SCOREBOARD "Logs/Status" -#endif -#ifndef DEFAULT_LOCKFILE -#define DEFAULT_LOCKFILE "Logs/Lock" -#endif -#ifndef SERVER_CONFIG_FILE -#define SERVER_CONFIG_FILE "Configuration/Server" -#endif -#ifndef TYPES_CONFIG_FILE -#define TYPES_CONFIG_FILE "Configuration/MIME" -#endif -#ifndef DEFAULT_USER_DIR -#define DEFAULT_USER_DIR "Library/Web Documents" -#endif -#ifndef DEFAULT_USER -#define DEFAULT_USER "www" -#endif -#ifndef DEFAULT_GROUP -#define DEFAULT_GROUP "www" -#endif -#ifndef DEFAULT_PATH -#define DEFAULT_PATH "/bin:/usr/bin:/usr/local/bin" -#endif - -#elif defined(LINUX) - -#if LINUX > 1 -#include <features.h> - -/* libc4 systems probably still work, it probably doesn't define - * __GNU_LIBRARY__ - * libc5 systems define __GNU_LIBRARY__ == 1, but don't define __GLIBC__ - * glibc 2.x and later systems define __GNU_LIBRARY__ == 6, but list it as - * "deprecated in favour of __GLIBC__"; the value 6 will never be changed. - * glibc 1.x systems (i.e. redhat 4.x on sparc/alpha) should have - * __GLIBC__ < 2 - * all glibc based systems need crypt.h - */ -#if defined(__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1 -#include <crypt.h> -#endif - -/* glibc 2.0.0 through 2.0.4 need size_t * here, where 2.0.5 needs socklen_t * - * there's no way to discern between these two libraries. But using int should - * be portable because otherwise these libs would be hopelessly broken with - * reams of existing networking code. We'll use socklen_t * for 2.1.x and - * later. - * - * int works for all the earlier libs, and is picked up by default later. - */ -#if defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 0)) -#define NET_SIZE_T socklen_t -#endif - -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#define HAVE_MMAP 1 -#define USE_MMAP_FILES - -/* flock is faster ... but hasn't been tested on 1.x systems */ -/* PR#3531 indicates flock() may not be stable, probably depends on - * kernel version. Go back to using fcntl, but provide a way for - * folks to tweak their Configuration to get flock. - */ -#ifndef USE_FLOCK_SERIALIZED_ACCEPT -#define USE_FCNTL_SERIALIZED_ACCEPT -#endif - -#define SYS_SIGLIST _sys_siglist - -#else -#define USE_FCNTL_SERIALIZED_ACCEPT -#endif - -#undef HAVE_GMTOFF -#undef NO_KILLPG -#undef NO_SETSID -#undef NEED_STRDUP -#include <sys/time.h> -#define HAVE_SYSLOG 1 - -/* glibc 2.1 and later finally define rlim_t */ -#if !defined(__GLIBC__) || __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1) -typedef int rlim_t; -#endif - -#elif defined(SCO) -#undef HAVE_GMTOFF -#undef NO_KILLPG -#undef NO_SETSID -#define NEED_INITGROUPS -#define NO_WRITEV -#include <sys/time.h> -#define HAVE_SYSLOG 1 -#undef HAVE_SYS_RESOURCE_H - -#elif defined(SCO5) - -#define USE_FCNTL_SERIALIZED_ACCEPT -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#define SecureWare -#define HAVE_SYSLOG 1 - -/* Although SCO 5 defines these in <strings.h> (note the "s") they don't have - consts. Sigh. */ -extern int strcasecmp(const char *, const char *); -extern int strncasecmp(const char *, const char *, unsigned); - -#elif defined(AUX3) -/* These are to let -Wall compile more cleanly */ -extern int strcasecmp(const char *, const char *); -extern int strncasecmp(const char *, const char *, unsigned); -extern int set42sig(), getopt(), getpeername(), bzero(); -extern int listen(), bind(), socket(), getsockname(); -extern int accept(), gethostname(), connect(), lstat(); -extern int select(), killpg(), shutdown(); -extern int initgroups(), setsockopt(); -extern char *shmat(); -extern int shmctl(); -extern int shmget(); -extern char *sbrk(); -extern char *crypt(); -#include <sys/time.h> -#undef HAVE_GMTOFF -#undef NO_KILLPG -#undef NO_SETSID -#define NEED_STRDUP -/* fcntl() locking is expensive with NFS */ -#define USE_FLOCK_SERIALIZED_ACCEPT -#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -/* - * NOTE: If when you run Apache under A/UX and you get a warning - * that httpd couldn't move break, then the below value for - * MOVEBREAK (64megs) is too large for your setup. Try reducing - * to 0x2000000 which is still PLENTY of space. I doubt if - * even on heavy systems sbrk() would be called at all... - */ -#define MOVEBREAK 0x4000000 -#define NO_LINGCLOSE -#define NO_SLACK -#define HAVE_SYSLOG 1 -#undef HAVE_SYS_RESOURCE_H /* exists but does not provide *rlimit funcs */ - -#elif defined(SVR4) -#define NO_KILLPG -#undef NO_SETSID -#undef NEED_STRDUP -#ifndef MPRAS -#define NEED_STRCASECMP -#ifndef ENCORE -#define NEED_STRNCASECMP -#endif /* ENCORE */ -#endif /* MPRAS */ -#define bzero(a,b) memset(a,0,b) -/* A lot of SVR4 systems need this */ -#ifndef USE_SYSVSEM_SERIALIZED_ACCEPT -#define USE_FCNTL_SERIALIZED_ACCEPT -#endif -#define HAVE_SYSLOG 1 -#define NET_SIZE_T size_t -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#ifdef _OSD_POSIX /* BS2000-POSIX mainframe needs initgroups */ -#define NEED_HASHBANG_EMUL /* execve() doesn't start shell scripts by default */ -#define _KMEMUSER /* Enable SHM_R/SHM_W defines in <shm.h> */ -#undef NEED_STRCASECMP -#undef NEED_STRNCASECMP -#undef bzero -#endif /*_OSD_POSIX*/ - -#elif defined(UW) -#if UW < 700 -#define USE_FCNTL_SERIALIZED_ACCEPT -#define NO_LINGCLOSE -#define NO_KILLPG -#endif -#undef NO_SETSID -#undef NEED_STRDUP -#define NEED_STRCASECMP -#define NEED_STRNCASECMP -#define bzero(a,b) memset(a,0,b) -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#define HAVE_SHMGET 1 -#undef USE_SHMGET_SCOREBOARD /* force use of mmap() scoreboard */ -#include <sys/time.h> -#if UW >= 200 -#define _POSIX_SOURCE -#endif -#define NET_SIZE_T size_t -#define HAVE_SYSLOG 1 - -#elif defined(DGUX) -#define NO_KILLPG -#undef NO_SETSID -#undef NEED_STRDUP -#ifdef _IX86_DG -#undef NEED_STRCASECMP -#undef NEED_STRNCASECMP -#else -#define NEED_STRCASECMP -#define NEED_STRNCASECMP -#endif -#define bzero(a,b) memset(a,0,b) -/* A lot of SVR4 systems need this */ -#define USE_FCNTL_SERIALIZED_ACCEPT -#define ap_inet_addr inet_network -#define HAVE_SYSLOG 1 - -#elif defined(__NetBSD__) || defined(__OpenBSD__) || defined(NETBSD) -#define HAVE_GMTOFF 1 -#undef NO_KILLPG -#undef NO_SETSID -#define HAVE_SYSLOG 1 -#ifndef DEFAULT_USER -#define DEFAULT_USER "nobody" -#endif -#ifndef DEFAULT_GROUP -#define DEFAULT_GROUP "nogroup" -#endif -#define HAVE_SHMGET 1 -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#define USE_FLOCK_SERIALIZED_ACCEPT -#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT - -#elif defined(UTS21) -#undef HAVE_GMTOFF -#undef NO_KILLPG -#define NO_SETSID -#define NEED_WAITPID -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 -#define HAVE_SYSLOG 1 -#define USE_LONGJMP -#define JMP_BUF jmp_buf -#define NO_USE_SIGACTION -#define NEED_STRERROR -#define NEED_STRSTR -#define NEED_HASHBANG_EMUL -#define NDELAY_PIPE_RETURNS_ZERO -#define NO_DATA NO_ADDRESS -#define ap_wait_t union wait -#define WEXITSTATUS(status) (int)((status).w_retcode) -#define WTERMSIG(status) (int)((status).w_termsig) -#define strftime(buf,bufsize,fmt,tm) ascftime(buf,fmt,tm) -#undef HAVE_SYS_RESOURCE_H /* exists but does not provide *rlimit funcs */ -#include <sys/types.h> -#include <sys/time.h> - -#elif defined(APOLLO) -#undef HAVE_GMTOFF -#undef NO_KILLPG -#undef NO_SETSID -#define HAVE_SYSLOG 1 - -#elif defined(__FreeBSD__) || defined(__bsdi__) -#if defined(__FreeBSD__) -#include <osreldate.h> -#endif -#define HAVE_GMTOFF 1 -#undef NO_KILLPG -#undef NO_SETSID -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#ifndef DEFAULT_USER -#define DEFAULT_USER "nobody" -#endif -#ifndef DEFAULT_GROUP -#define DEFAULT_GROUP "nogroup" -#endif -#if defined(__bsdi__) || \ -(defined(__FreeBSD_version) && (__FreeBSD_version < 220000)) -typedef quad_t rlim_t; -#endif -#define USE_FLOCK_SERIALIZED_ACCEPT -#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT -#define HAVE_SYSLOG 1 -#define SYS_SIGLIST sys_siglist - -#elif defined(QNX) -#ifndef crypt -char *crypt(const char *pw, const char *salt); -#endif -#ifndef initgroups -int initgroups(char *, int); -#endif -#ifndef strncasecmp -#define strncasecmp strnicmp -#endif -#undef NO_KILLPG -#undef NO_SETSID -#define NEED_INITGROUPS -#define NEED_SELECT_H -#define NEED_PROCESS_H -#include <unix.h> -#define HAVE_MMAP 1 -#define USE_POSIX_SCOREBOARD -#define USE_FLOCK_SERIALIZED_ACCEPT -#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT -#define HAVE_SYSLOG 1 - -#elif defined(LYNXOS) -#undef HAVE_GMTOFF -#undef USE_MMAP_SCOREBOARD -#undef USE_SHMGET_SCOREBOARD -#undef USE_FCNTL_SERIALIZED_ACCEPT -#undef USE_FLOCK_SERIALIZED_ACCEPT -#define USE_LONGJMP -#undef NO_KILLPG -#undef NO_SETSID -#undef NO_USE_SIGACTION -#undef NO_LINGCLOSE -extern char *crypt(char *pw, char *salt); -typedef int rlim_t; -#define HAVE_SYSLOG 1 - -#elif defined(UXPDS) -#undef NEED_STRCASECMP -#undef NEED_STRNCASECMP -#undef NEED_STRDUP -#undef HAVE_GMTOFF -#define NO_KILLPG -#undef NO_SETSID -#define bzero(a,b) memset(a,0,b) -#define USE_FCNTL_SERIALIZED_ACCEPT -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#define HAVE_SYSLOG 1 - -#elif defined(OS2) -/* Defines required for EMX OS/2 port. */ -#define NO_KILLPG -#define NEED_STRCASECMP -#define NEED_STRNCASECMP -#define NEED_PROCESS_H -#define NO_SETSID -#define NO_TIMES -#define CASE_BLIND_FILESYSTEM -/* Add some drive name support */ -#define chdir _chdir2 -#include <sys/time.h> -#define MAXSOCKETS 2048 -#define USE_OS2_SCOREBOARD -#define NO_RELIABLE_PIPED_LOGS -#define USE_OS2SEM_SERIALIZED_ACCEPT -#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT -#define NO_SLACK - -#elif defined(__MACHTEN__) -typedef int rlim_t; -#undef NO_KILLPG -#define NO_SETSID -#define HAVE_GMTOFF 1 -#ifndef __MACHTEN_PPC__ -#ifndef __MACHTEN_68K__ -#define __MACHTEN_68K__ -#endif -#define USE_FLOCK_SERIALIZED_ACCEPT -#define NO_USE_SIGACTION -#define JMP_BUF sigjmp_buf -#define USE_LONGJMP -#undef NEED_STRDUP -#else -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#define USE_FCNTL_SERIALIZED_ACCEPT -#endif - -/* Convex OS v11 */ -#elif defined(CONVEXOS11) -#undef HAVE_GMTOFF -#undef NO_KILLPG -#undef NO_SETSID -#undef NEED_STRDUP -#define HAVE_MMAP 1 -#define USE_MMAP_SCOREBOARD -#define USE_MMAP_FILES -#define HAVE_SYSLOG 1 - -#define NO_TIMEZONE -#include <stdio.h> -#include <sys/types.h> -typedef int rlim_t; - -#elif defined(ISC) -#include <net/errno.h> -#define NO_KILLPG -#undef NO_SETSID -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#define USE_FCNTL_SERIALIZED_ACCEPT -#define HAVE_SYSLOG 1 - -#elif defined(NEWSOS) -#define HAVE_SHMGET 1 -#define USE_SHMGET_SCOREBOARD -#define USE_LONGJMP -#define NO_SETSID -#define NO_USE_SIGACTION -#define NEED_WAITPID -#define HAVE_SYSLOG 1 -#include <sys/time.h> -#include <stdlib.h> -#include <sys/types.h> -typedef int pid_t; -typedef int rlim_t; -typedef int mode_t; - -#elif defined(RISCIX) -#include <sys/time.h> -typedef int rlim_t; -#define NO_USE_SIGACTION -#define USE_LONGJMP -#define NEED_STRCASECMP -#define NEED_STRNCASECMP -#define NEED_STRDUP - -#elif defined(BEOS) -#include <stddef.h> -#include <kernel/OS.h> -#include <kernel/image.h> -#include <sys/uio.h> - -#define NO_WRITEV -#define NO_KILLPG -#define NEED_INITGROUPS - -#elif defined(_CX_SX) -#define JMP_BUF sigjmp_buf -#include <sys/types.h> -#include <sys/time.h> - -#elif defined(WIN32) - -/* All windows stuff is now in os/win32/os.h */ - -#elif defined(TPF) /* IBM Transaction Processing Facility operating system */ - -#include <tpfeq.h> -#include <tpfio.h> -#include <sysapi.h> -#include <sysgtime.h> -#define PRIMECRAS 0x010000 -#define JMP_BUF jmp_buf -#define HAVE_SHMGET -#undef HAVE_SYS_RESOURCE_H -#define NEED_INITGROUPS -#define NEED_SIGNAL_INTERRUPT -#include <strings.h> -#ifndef __strings_h -#define NEED_STRCASECMP -#define NEED_STRNCASECMP -#endif -#define NEED_STRDUP -#define NO_DBM_REWRITEMAP -#define NO_GETTIMEOFDAY -#define NO_KILLPG -#define NO_LINGCLOSE -#define NO_MMAP -#define NO_RELIABLE_PIPED_LOGS -#define NO_SETSID -#define NO_SLACK -#define NO_TIMES -#define NO_USE_SIGACTION -#define NO_WRITEV -#define USE_LONGJMP -/*#define USE_SHMGET_SCOREBOARD*/ -#define USE_TPF_ACCEPT -#define USE_TPF_CORE_SERIALIZED_ACCEPT -/*#define USE_TPF_DAEMON*/ -#define USE_TPF_SCOREBOARD -#define USE_TPF_SELECT -#undef offsetof -#define offsetof(s_type,field) ((size_t)&(((s_type*)0)->field)) - -#elif defined(__TANDEM) -#define NO_WRITEV -#define NO_KILLPG -#define NEED_INITGROUPS -#define NO_SLACK - -#else -/* Unknown system - Edit these to match */ -#ifdef BSD -#define HAVE_GMTOFF 1 -#else -#undef HAVE_GMTOFF -#endif -/* NO_KILLPG is set on systems that don't have killpg */ -#undef NO_KILLPG -/* NO_SETSID is set on systems that don't have setsid */ -#undef NO_SETSID -/* NEED_STRDUP is set on stupid systems that don't have strdup. */ -#undef NEED_STRDUP -#endif - -/* stuff marked API_EXPORT is part of the API, and intended for use - * by modules - */ -#ifndef API_EXPORT -#define API_EXPORT(type) type -#endif - -/* Stuff marked API_EXPORT_NONSTD is part of the API, and intended for - * use by modules. The difference between API_EXPORT and - * API_EXPORT_NONSTD is that the latter is required for any functions - * which use varargs or are used via indirect function call. This - * is to accomodate the two calling conventions in windows dlls. - */ -#ifndef API_EXPORT_NONSTD -#define API_EXPORT_NONSTD(type) type -#endif - -#ifndef MODULE_VAR_EXPORT -#define MODULE_VAR_EXPORT -#endif -#ifndef API_VAR_EXPORT -#define API_VAR_EXPORT -#endif - -/* modules should not used functions marked CORE_EXPORT - * or CORE_EXPORT_NONSTD */ -#ifndef CORE_EXPORT -#define CORE_EXPORT API_EXPORT -#endif -#ifndef CORE_EXPORT_NONSTD -#define CORE_EXPORT_NONSTD API_EXPORT_NONSTD -#endif - -/* On Mac OS X Server, symbols that conflict with loaded dylibs - * (eg. System framework) need to be declared as private symbols with - * __private_extern__. - * For other systems, make that a no-op. - */ -#if (defined(MAC_OS) || defined(MAC_OS_X_SERVER)) && defined(__DYNAMIC__) -#define ap_private_extern __private_extern__ -#else -#define ap_private_extern -#endif - -/* - * The particular directory style your system supports. If you have dirent.h - * in /usr/include (POSIX) or /usr/include/sys (SYSV), #include - * that file and define DIR_TYPE to be dirent. Otherwise, if you have - * /usr/include/sys/dir.h, define DIR_TYPE to be direct and include that - * file. If you have neither, I'm confused. - */ - -#include <sys/types.h> -#include <stdarg.h> - -#if !defined(NEXT) && !defined(WIN32) -#include <dirent.h> -#define DIR_TYPE dirent -#elif !defined(WIN32) -#include <sys/dir.h> -#define DIR_TYPE direct -#else -#define DIR_TYPE dirent -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#ifdef __TANDEM -#include <strings.h> -#endif -#include "ap_ctype.h" -#if !defined(MPE) && !defined(WIN32) && !defined(TPF) && !defined(__TANDEM) -#include <sys/file.h> -#endif -#ifndef WIN32 -#include <sys/socket.h> -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif /* HAVE_SYS_SELECT_H */ -#ifndef TPF -#include <netinet/in.h> -#endif /* TPF */ -#include <netdb.h> -#include <sys/ioctl.h> -#if !defined(MPE) && !defined(BEOS) && !defined(TPF) -#include <arpa/inet.h> /* for inet_ntoa */ -#endif -#include <sys/wait.h> -#include <pwd.h> -#include <grp.h> -#include <fcntl.h> -#ifndef O_BINARY -#define O_BINARY (0) -#endif -#endif /* ndef WIN32 */ -#include <limits.h> -#include <time.h> /* for ctime */ -#ifdef WIN32 -#define strftime(s,max,format,tm) os_strftime(s,max,format,tm) -#endif -#include <signal.h> -#if defined(TPF) && defined(NSIG) -#undef NSIG -#endif -#include <errno.h> -#if !defined(QNX) && !defined(CONVEXOS11) && !defined(NEXT) && !defined(TPF) -#include <memory.h> -#endif - -#ifdef NEED_PROCESS_H -#include <process.h> -#endif - -#ifdef HAVE_SYS_RESOURCE_H -#include <sys/resource.h> -#ifdef SUNOS4 -int getrlimit(int, struct rlimit *); -int setrlimit(int, struct rlimit *); -#endif -#endif -#ifdef USE_MMAP_SCOREBOARD -#if !defined(OS2) && !defined(WIN32) -/* This file is not needed for OS/2 */ -#include <sys/mman.h> -#endif -#endif -#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS) -#define MAP_ANON MAP_ANONYMOUS -#endif - -#if defined(USE_MMAP_FILES) && (defined(NO_MMAP) || !defined(HAVE_MMAP)) -#undef USE_MMAP_FILES -#endif - -#if defined(USE_MMAP_SCOREBOARD) && (defined(NO_MMAP) || !defined(HAVE_MMAP)) -#undef USE_MMAP_SCOREBOARD -#endif - -#if defined(USE_SHMGET_SCOREBOARD) && (defined(NO_SHMGET) || !defined(HAVE_SHMGET)) -#undef USE_SHMGET_SCOREBOARD -#endif - -#ifndef LOGNAME_MAX -#define LOGNAME_MAX 25 -#endif - -#ifdef ultrix -#define ULTRIX_BRAIN_DEATH -#endif - -#ifndef S_ISLNK -#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) -#endif - -#ifndef INADDR_NONE -#define INADDR_NONE ((unsigned long) -1) -#endif - -#include <setjmp.h> - -#if defined(USE_LONGJMP) -#define ap_longjmp(x, y) longjmp((x), (y)) -#define ap_setjmp(x) setjmp(x) -#ifndef JMP_BUF -#define JMP_BUF jmp_buf -#endif -#else -#define ap_longjmp(x, y) siglongjmp((x), (y)) -#define ap_setjmp(x) sigsetjmp((x), 1) -#ifndef JMP_BUF -#define JMP_BUF sigjmp_buf -#endif -#endif - -/* Majority of os's want to verify FD_SETSIZE */ -#if !defined(WIN32) && !defined(TPF) -#define CHECK_FD_SETSIZE -#endif - -#ifdef USE_TPF_SELECT -#define ap_select(_a, _b, _c, _d, _e) \ - tpf_select(_a, _b, _c, _d, _e) -#elif defined(SELECT_NEEDS_CAST) -#define ap_select(_a, _b, _c, _d, _e) \ - select((_a), (int *)(_b), (int *)(_c), (int *)(_d), (_e)) -#elif defined(OS2) -int ap_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); -#else -#define ap_select(_a, _b, _c, _d, _e) \ - select(_a, _b, _c, _d, _e) -#endif - -#ifdef NEED_SIGNAL_INTERRUPT -#define ap_check_signals() tpf_process_signals() -#else -#define ap_check_signals() -#endif - -#ifdef ULTRIX_BRAIN_DEATH -#define ap_fdopen(d,m) fdopen((d), (char *)(m)) -#else -#define ap_fdopen(d,m) fdopen((d), (m)) -#endif - -#ifndef ap_inet_addr -#define ap_inet_addr inet_addr -#endif - -#ifndef HAS_OTHER_CHILD -#define NO_RELIABLE_PIPED_LOGS -#endif - -/* When the underlying OS doesn't support exec() of scripts which start - * with a HASHBANG (#!) followed by interpreter name and args, define this. - */ -#ifdef NEED_HASHBANG_EMUL -extern int ap_execle(const char *filename, const char *arg,...); -extern int ap_execve(const char *filename, const char *argv[], - const char *envp[]); -/* ap_execle() is a wrapper function around ap_execve(). */ -#define execle ap_execle -#define execve(path,argv,envp) ap_execve(path,argv,envp) -#endif - -/* Finding offsets of elements within structures. - * Taken from the X code... they've sweated portability of this stuff - * so we don't have to. Sigh... - */ - -#if defined(CRAY) || (defined(__arm) && !defined(LINUX)) -#ifdef __STDC__ -#define XtOffset(p_type,field) _Offsetof(p_type,field) -#else -#ifdef CRAY2 -#define XtOffset(p_type,field) \ - (sizeof(int)*((unsigned int)&(((p_type)NULL)->field))) - -#else /* !CRAY2 */ - -#define XtOffset(p_type,field) ((unsigned int)&(((p_type)NULL)->field)) - -#endif /* !CRAY2 */ -#endif /* __STDC__ */ -#else /* ! (CRAY || __arm) */ - -#define XtOffset(p_type,field) \ - ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL))) - -#endif /* !CRAY */ - -#ifdef offsetof -#define XtOffsetOf(s_type,field) offsetof(s_type,field) -#else -#define XtOffsetOf(s_type,field) XtOffset(s_type*,field) -#endif - -/* - * NET_SIZE_T exists because of shortsightedness on the POSIX committee. BSD - * systems used "int *" as the parameter to accept(), getsockname(), - * getpeername() et al. Consequently many unixes took an int * for that - * parameter. The POSIX committee decided that "int" was just too generic and - * had to be replaced with size_t almost everywhere. There's no problem with - * that when you're passing by value. But when you're passing by reference - * this creates a gross source incompatibility with existing programs. On - * 32-bit architectures it creates only a warning. On 64-bit architectures it - * creates broken code -- because "int *" is a pointer to a 64-bit quantity and - * "size_t *" is frequently a pointer to a 32-bit quantity. - * - * Some Unixes adopted "size_t *" for the sake of POSIX compliance. Others - * ignored it because it was such a broken interface. Chaos ensued. POSIX - * finally woke up and decided that it was wrong and created a new type - * socklen_t. The only useful value for socklen_t is int, and that's how - * everyone who has a clue implements it. It is almost always the case that - * NET_SIZE_T should be defined to be an int, unless the system being compiled - * for was created in the window of POSIX madness. - */ -#ifndef NET_SIZE_T -#define NET_SIZE_T int -#endif - -/* Linux defines __WCOREDUMP, but doesn't define WCOREDUMP unless __USE_BSD - * is in use... we'd prefer to just use WCOREDUMP everywhere. - */ -#if defined(__WCOREDUMP) && !defined(WCOREDUMP) -#define WCOREDUMP __WCOREDUMP -#endif - -#ifdef SUNOS_LIB_PROTOTYPES -/* Prototypes needed to get a clean compile with gcc -Wall. - * Believe it or not, these do have to be declared, at least on SunOS, - * because they aren't mentioned in the relevant system headers. - * Sun Quality Software. Gotta love it. This section is not - * currently (13Nov97) used. - */ - -int getopt(int, char **, char *); - -int strcasecmp(const char *, const char *); -int strncasecmp(const char *, const char *, int); -int toupper(int); -int tolower(int); - -int printf(char *,...); -int fprintf(FILE *, char *,...); -int fputs(char *, FILE *); -int fread(char *, int, int, FILE *); -int fwrite(char *, int, int, FILE *); -int fgetc(FILE *); -char *fgets(char *s, int, FILE*); -int fflush(FILE *); -int fclose(FILE *); -int ungetc(int, FILE *); -int _filbuf(FILE *); /* !!! */ -int _flsbuf(unsigned char, FILE *); /* !!! */ -int sscanf(char *, char *,...); -void setbuf(FILE *, char *); -void perror(char *); - -time_t time(time_t *); -int strftime(char *, int, const char *, struct tm *); - -int initgroups(char *, int); -int wait3(int *, int, void *); /* Close enough for us... */ -int lstat(const char *, struct stat *); -int stat(const char *, struct stat *); -int flock(int, int); -#ifndef NO_KILLPG -int killpg(int, int); -#endif -int socket(int, int, int); -int setsockopt(int, int, int, const char *, int); -int listen(int, int); -int bind(int, struct sockaddr *, int); -int connect(int, struct sockaddr *, int); -int accept(int, struct sockaddr *, int *); -int shutdown(int, int); - -int getsockname(int s, struct sockaddr *name, int *namelen); -int getpeername(int s, struct sockaddr *name, int *namelen); -int gethostname(char *name, int namelen); -void syslog(int, char *,...); -char *mktemp(char *); - -long vfprintf(FILE *, const char *, va_list); - -#endif /* SUNOS_LIB_PROTOTYPES */ - -/* - * Transition macros from old-style configuration to autoconf - */ -#ifndef HAVE_CONFIG_H - -#if !defined(NO_KILLPG) && !defined(HAVE_KILLPG) -#define HAVE_KILLPG -#endif - -#if !defined(NEED_STRDUP) && !defined(HAVE_STRDUP) -#define HAVE_STRDUP -#endif - -#if !defined(NEED_STRCASECMP) && !defined(HAVE_STRCASECMP) -#define HAVE_STRCASECMP -#endif - -#if !defined(NEED_STRNCASECMP) && !defined(HAVE_STRNCASECMP) -#define HAVE_STRNCASECMP -#endif - -#if !defined(NEED_STRSTR) && !defined(HAVE_STRSTR) -#define HAVE_STRSTR -#endif - -#if !defined(NEED_INITGROUPS) && !defined(HAVE_INITGROUPS) -#define HAVE_INITGROUPS -#endif - -#if !defined(NEED_WAITPID) && !defined(HAVE_WAITPID) -#define HAVE_WAITPID -#endif - -#if !defined(NEED_STRERROR) && !defined(HAVE_STRERROR) -#define HAVE_STRERROR -#endif - -#if !defined(NEED_DIFFTIME) && !defined(HAVE_DIFFTIME) -#define HAVE_DIFFTIME -#endif - -#if !defined(NEED_GETTIMEOFDAY) && !defined(HAVE_GETTIMEOFDAY) -#define HAVE_GETTIMEOFDAY -#endif - -#if !defined(NEED_SETSID) && !defined(HAVE_SETSID) -#define HAVE_SETSID -#endif - -#if !defined(NO_TIMES) && !defined(HAVE_TIMES) -#define HAVE_TIMES -#define HAVE_SYS_TIMES_H -#endif - -#if !defined(NO_RELIABLE_PIPED_LOGS) -#define HAVE_RELIABLE_PIPED_LOGS -#endif - -#endif /* HAVE_CONFIG_H */ - -/* The assumption is that when the functions are missing, - * then there's no matching prototype available either. - * Declare what is needed exactly as the replacement routines implement it. - */ -#ifndef HAVE_STRDUP -extern char *strdup (const char *str); -#endif -#ifndef HAVE_STRCASECMP -extern int strcasecmp (const char *a, const char *b); -#endif -#ifndef HAVE_STRNCASECMP -extern int strncasecmp (const char *a, const char *b, int n); -#endif -#ifndef HAVE_INITGROUPS -extern int initgroups(const char *name, gid_t basegid); -#endif -#ifndef HAVE_WAITPID -extern int waitpid(pid_t pid, int *statusp, int options); -#endif -#ifndef HAVE_STRERROR -extern char *strerror (int err); -#endif -#ifndef HAVE_DIFFTIME -extern double difftime(time_t time1, time_t time0); -#endif - -#ifndef ap_wait_t -#define ap_wait_t int -#endif - -/* - * Special Support for User-Space Threading Environments [rse, 12-Aug-1999] - */ - -/* optionally make sure the Pthread environment is available in _EVERY_ source - by including the Pthread header already in this header file. This is - important for portable user-space threading environments which can only use - soft syscall wrapping (i.e. ``#define read _pthread_read'', etc.) */ -#ifdef PTHREAD_EVERYWHERE -#include <pthread.h> -#endif - -/* support for forcing no serialized accept situation. This has to be - used by user-space threading environments, because mostly all (except for - USE_PTHREAD_SERIALIZED_ACCEPT, but this only works on a few platforms) - variants of the inter-process accept lock would suspend the whole process - and not just the acceptor thread. */ -#ifdef NO_SERIALIZED_ACCEPT -#undef USE_FCNTL_SERIALIZED_ACCEPT -#undef USE_FLOCK_SERIALIZED_ACCEPT -#undef USE_USLOCK_SERIALIZED_ACCEPT -#undef USE_SYSVSEM_SERIALIZED_ACCEPT -#undef USE_PTHREAD_SERIALIZED_ACCEPT -#endif -#endif /* HAVE_CONFIG_H */ - -#ifdef __cplusplus -} -#endif - -#endif /* !AP_CONFIG_H */ |