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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
|
/*
** Various portability definitions.
**
** @(#)port.h e07@nikhef.nl (Eric Wassenaar) 991328
*/
#if defined(__SVR4) || defined(__svr4__)
#define SVR4
#endif
#if defined(SYSV) || defined(SVR4)
#define SYSV_MALLOC
#define SYSV_MEMSET
#define SYSV_STRCHR
#define SYSV_SETVBUF
#endif
#if defined(WINNT)
#define SYSV_MALLOC
#define SYSV_STRCHR
#define SYSV_SETVBUF
#endif
#if defined(__hpux) || defined(hpux)
#define SYSV_MALLOC
#define SYSV_SETVBUF
#endif
#if defined(sgi)
#define SYSV_MALLOC
#endif
#if defined(linux)
#define SYSV_MALLOC
#endif
#if defined(bsdi) || defined(__bsdi__)
#define SYSV_MALLOC
#endif
#if defined(NeXT)
#define SYSV_MALLOC
#endif
/*
** Distinguish between various BIND releases.
*/
#if defined(RES_PRF_STATS)
#define BIND_49
#else
#define BIND_48
#endif
#if defined(BIND_49) && defined(__BIND)
#define BIND_493
#endif
/*
** Define constants for fixed sizes.
*/
#ifndef INT16SZ
#define INT16SZ 2 /* for systems without 16-bit ints */
#endif
#ifndef INT32SZ
#define INT32SZ 4 /* for systems without 32-bit ints */
#endif
#ifndef INADDRSZ
#define INADDRSZ 4 /* for sizeof(struct inaddr) != 4 */
#endif
#ifndef IPNGSIZE
#define IPNGSIZE 16 /* 128 bit ip v6 address size */
#endif
/*
** The following should depend on existing definitions.
*/
typedef int bool; /* boolean type */
#define TRUE 1
#define FALSE 0
#if defined(BIND_48) || defined(OLD_RES_STATE)
typedef struct state res_state_t;
#else
typedef struct __res_state res_state_t;
#endif
#if defined(BIND_48)
typedef struct rrec rrec_t;
#else
#if defined(BIND_493)
typedef u_char rrec_t;
#else
typedef char rrec_t;
#endif
#endif
#if defined(BIND_493)
typedef u_char qbuf_t;
#else
typedef char qbuf_t;
#endif
#if defined(BIND_493)
typedef char nbuf_t;
#else
typedef u_char nbuf_t;
#endif
#ifndef _IPADDR_T
#if defined(__alpha) || defined(BIND_49)
typedef u_int ipaddr_t;
#else
typedef u_long ipaddr_t;
#endif
#endif
#if defined(apollo) || defined(_BSD_SIGNALS)
typedef int sigtype_t;
#else
typedef void sigtype_t;
#endif
#ifdef SYSV_MALLOC
typedef void ptr_t; /* generic pointer type */
typedef u_int siz_t; /* general size type */
typedef void free_t;
#else
typedef char ptr_t; /* generic pointer type */
typedef u_int siz_t; /* general size type */
typedef int free_t;
#endif
#ifdef SYSV_MEMSET
#define bzero(a,n) (void) memset(a,'\0',n)
#define bcopy(a,b,n) (void) memcpy(b,a,n)
#endif
#ifdef SYSV_STRCHR
#define index strchr
#define rindex strrchr
#endif
#ifdef SYSV_SETVBUF
#define linebufmode(a) (void) setvbuf(a, (char *)NULL, _IOLBF, BUFSIZ)
#else
#define linebufmode(a) (void) setlinebuf(a)
#endif
#ifdef ULTRIX_RESOLV
#define nslist(i) _res.ns_list[i].addr
#else
#define nslist(i) _res.nsaddr_list[i]
#endif
#ifdef fp_nquery
#define pr_query(a,n,f) fp_nquery(a,n,f)
#else
#define pr_query(a,n,f) fp_query(a,f)
#endif
#if defined(sun) && defined(NO_YP_LOOKUP)
#define gethostbyname (struct hostent *)res_gethostbyname
#define gethostbyaddr (struct hostent *)res_gethostbyaddr
#endif
#if defined(SVR4)
#define jmp_buf sigjmp_buf
#define setjmp(e) sigsetjmp(e,1)
#define longjmp(e,n) siglongjmp(e,n)
#endif
/*
** Very specific definitions for certain platforms.
*/
#if defined(WINNT)
#define NO_CONNECTED_DGRAM
#endif
#if defined(WINNT)
#undef linebufmode
#define linebufmode(a) (void) setvbuf(a, (char *)NULL, _IONBF, 0)
#endif
#if defined(WINNT)
#ifndef strcasecmp
#define strcasecmp _stricmp
#endif
#ifndef strncasecmp
#define strncasecmp _strnicmp
#endif
#endif /*WINNT*/
#if defined(WINNT)
#define setalarm(n)
#define setsignal(s,f)
#else
#define setalarm(n) (void) alarm((unsigned int)(n))
#define setsignal(s,f) (void) signal(s,f)
#endif
#if defined(WINNT)
#ifndef errno
#define errno WSAGetLastError()
#endif
#ifndef h_errno
#define h_errno WSAGetLastError()
#endif
#endif /*WINNT*/
#if defined(WINNT)
#define seterrno(n) WSASetLastError(n)
#define seth_errno(n) WSASetLastError(n)
#else
#define seterrno(n) errno = (n)
#define seth_errno(n) h_errno = (n)
#endif
#if defined(WINNT)
#undef EINTR
#define EINTR WSAEINTR
#undef EWOULDBLOCK
#define EWOULDBLOCK WSAEWOULDBLOCK
#undef ETIMEDOUT
#define ETIMEDOUT WSAETIMEDOUT
#undef ECONNRESET
#define ECONNRESET WSAECONNRESET
#undef ECONNREFUSED
#define ECONNREFUSED WSAECONNREFUSED
#undef ENETDOWN
#define ENETDOWN WSAENETDOWN
#undef ENETUNREACH
#define ENETUNREACH WSAENETUNREACH
#undef EHOSTDOWN
#define EHOSTDOWN WSAEHOSTDOWN
#undef EHOSTUNREACH
#define EHOSTUNREACH WSAEHOSTUNREACH
#undef EADDRINUSE
#define EADDRINUSE WSAEADDRINUSE
#endif /*WINNT*/
#if defined(WINNT)
HANDLE hReadWriteEvent;
#endif
#if defined(WINNT) && !defined(__STDC__)
#define __STDC__
#endif
/*
** No prototypes yet.
*/
#define PROTO(TYPES) ()
#if !defined(__STDC__) || defined(apollo)
#define Proto(TYPES) ()
#else
#define Proto(TYPES) TYPES
#endif
#if !defined(__STDC__) || defined(apollo)
#define const
#endif
#if defined(__STDC__) && defined(BIND_49)
#define CONST const
#else
#define CONST
#endif
|