1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
/*
* This is where we drop in the various dependencies for different systems.
* Someday this might be remotely complete.
*
* I kept the name pmachine.h because it was already in all of the files...this
* barely resembles the pmachine.h that comes with the real Prospero, though.
*
* $Revision: 1.12 $
*/
#ifdef u3b2
# define USG
# define NOREGEX
# define MAXPATHLEN 1024 /* There's no maxpathlen in any 3b2 .h file. */
#endif
#ifdef m88k
#define MAXPATHLEN 1024
#endif
#ifdef hpux
# ifndef bcopy
# define FUNCS /* HP/UX 8.0 has the fns. */
# endif
# define NOREGEX
# define NEED_STRING_H
#endif
/* These are required for a Sequent running Dynix/PTX, their SysV variant.
Archie builds fine untouched on a system running their BSD-based OS. */
#ifdef _SEQUENT_
# define NOREGEX
# define USG
#endif
#if defined(USG) || defined(SYSV)
# define FUNCS
#endif
#ifdef SOLARIS2
#define FUNCS
#define NOREGEX
#define NEED_STRING_H
#endif
#ifdef ISC
# define FUNCS
# define STRSPN
# define NOREGEX
#endif
#ifdef PCNFS
# define FUNCS
# define NEED_STRING_H
#ifndef MSDOS
# define MSDOS
#endif
#endif
#ifdef CUTCP
# define FUNCS
# define NOREGEX
# define NEED_STRING_H
# define SELECTARG int
# ifndef MSDOS
# define MSDOS
# endif
#endif
#ifdef _AUX_SOURCE
# define AUX
# define NOREGEX
# define NBBY 8 /* Number of bits in a byte. */
typedef long Fd_mask;
# define NFDBITS (sizeof(Fd_mask) * NBBY) /* bits per mask */
#endif
#ifdef OS2
# define NOREGEX
# include <pctcp.h>
#endif
#ifdef MSDOS
# define USG
# define NOREGEX
# include <string.h>
# include <stdlib.h>
#endif
#ifdef _AIX
# ifdef u370
# define FUNCS
# endif /* AIX/370 */
# define _NONSTD_TYPES
# define _BSD_INCLUDES
# define NEED_STRING_H
# define NEED_SELECT_H
# define NEED_TIME_H
#endif
/* General problems. */
#ifdef FUNCS
# define index strchr
/* According to mycroft@gnu.ai.mit.edu. */
# ifdef _IBMR2
char *strchr();
# endif
# define rindex strrchr
# ifndef _AUX_SOURCE
# define bcopy(a,b,n) memcpy(b,a,n)
# define bzero(a,n) memset(a,0,n)
# ifdef _IBMR2
char *memset();
# endif
# endif
#endif
#if defined(_IBMR2) || defined(_BULL_SOURCE)
# define NEED_SELECT_H
#endif
#if defined(USG) || defined(UTS)
# define NEED_STRING_H
#endif
#if defined(USG) || defined(UTS) || defined(_AUX_SOURCE)
# define NEED_TIME_H
# ifdef UTS
# define WANT_BOTH_TIME
# endif
#endif
#ifdef VMS
/* Get the system status stuff. */
# include <ssdef.h>
#endif /* VMS */
/*
* FD_SET: lib/pfs/dirsend.c, user/vget/ftp.c
*/
#ifndef CUTCP
#define SELECTARG fd_set
#if !defined(FD_SET) && !defined(VMS) && !defined(linux) && !defined(NEED_SELECT_H)
#define FD_SETSIZE 32
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
#undef FD_ZERO
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
#endif
#endif /* not CUTCP */
|