1/* Copyright 1993,1994 by Paul Vixie 2 * All rights reserved 3 * 4 * Distribute freely, except: don't remove my name from the source or 5 * documentation (don't take credit for my work), mark your changes (don't 6 * get me blamed for your possible bugs), don't alter or remove this 7 * notice. May be sold if buildable source is provided to buyer. No 8 * warrantee of any kind, express or implied, is included with this 9 * software; use at your own risk, responsibility for damages (if any) to 10 * anyone resulting from the use of this software rests entirely with the 11 * user. 12 * 13 * Send bug reports, bug fixes, enhancements, requests, flames, etc., and 14 * I'll try to keep a version up to date. I can be reached as follows: 15 * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul 16 */ 17 18/* 19 * $FreeBSD$ 20 */ 21 22#ifndef __P 23# ifdef __STDC__ 24# define __P(x) x 25# else 26# define __P(x) () 27# define const 28# endif 29#endif 30 31#if defined(UNIXPC) || defined(unixpc) 32# define UNIXPC 1 33# define ATT 1 34#endif 35 36#if defined(hpux) || defined(_hpux) || defined(__hpux) 37# define HPUX 1 38# define seteuid(e) setresuid(-1,e,-1) 39# define setreuid(r,e) setresuid(r,e,-1) 40#endif 41 42#if defined(_IBMR2) 43# define AIX 1 44#endif 45 46#if defined(__convex__) 47# define CONVEX 1 48#endif 49 50#if defined(sgi) || defined(_sgi) || defined(__sgi) 51# define IRIX 1 52/* IRIX 4 hdrs are broken: one cannot #include both <stdio.h> 53 * and <stdlib.h> because they disagree on system(), perror(). 54 * Therefore we must zap the "const" keyword BEFORE including 55 * either of them. 56 */ 57# define const 58#endif 59 60#if defined(_UNICOS) 61# define UNICOS 1 62#endif 63 64#ifndef POSIX 65# if (BSD >= 199103) || defined(__linux) || defined(ultrix) || defined(AIX) ||\ 66 defined(HPUX) || defined(CONVEX) || defined(IRIX) 67# define POSIX 68# endif 69#endif 70 71#ifndef BSD 72# if defined(ultrix) 73# define BSD 198902 74# endif 75#endif 76 77/*****************************************************************/ 78 79#if !defined(BSD) && !defined(HPUX) && !defined(CONVEX) && !defined(__linux) 80# define NEED_VFORK 81#endif 82 83#if (!defined(BSD) || (BSD < 198902)) && !defined(__linux) && \ 84 !defined(IRIX) && !defined(NeXT) && !defined(HPUX) 85# define NEED_STRCASECMP 86#endif 87 88#if (!defined(BSD) || (BSD < 198911)) && !defined(__linux) &&\ 89 !defined(IRIX) && !defined(UNICOS) && !defined(HPUX) 90# define NEED_STRDUP 91#endif 92 93#if (!defined(BSD) || (BSD < 198911)) && !defined(POSIX) && !defined(NeXT) 94# define NEED_STRERROR 95#endif 96 97#if defined(HPUX) || defined(AIX) || defined(UNIXPC) 98# define NEED_FLOCK 99#endif 100 101#ifndef POSIX 102# define NEED_SETSID 103#endif 104 105#if (defined(POSIX) && !defined(BSD)) && !defined(__linux) 106# define NEED_GETDTABLESIZE 107#endif 108 109#ifdef POSIX 110#include <unistd.h> 111#ifdef _POSIX_SAVED_IDS 112# define HAVE_SAVED_UIDS 113#endif 114#endif 115 116#if !defined(ATT) && !defined(__linux) && !defined(IRIX) && !defined(UNICOS) 117# define USE_SIGCHLD 118#endif 119 120#if !defined(AIX) && !defined(UNICOS) 121# define SYS_TIME_H 1 122#else 123# define SYS_TIME_H 0 124#endif 125 126#if defined(BSD) && !defined(POSIX) 127# define USE_UTIMES 128#endif 129 130#if defined(AIX) || defined(HPUX) || defined(IRIX) 131# define NEED_SETENV 132#endif 133 134#if !defined(UNICOS) && !defined(UNIXPC) 135# define HAS_FCHOWN 136#endif 137 138#if !defined(UNICOS) && !defined(UNIXPC) 139# define HAS_FCHMOD 140#endif 141