-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathport.h
188 lines (152 loc) · 3.63 KB
/
port.h
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
/*
** Various portability definitions.
**
** @(#)port.h [email protected] (Eric Wassenaar) 990511
*/
#if (defined(__SVR4) || defined(__svr4) || defined(SVR4) || defined(svr4)) && !defined(__svr4__)
# define __svr4__ 1
#endif
#if defined(__SVR4) || defined(__svr4__)
#define SVR4
#endif
#if defined(__APPLE__) && defined(__MACH__) && !defined(__darwin__)
# define __darwin__ 1
#endif
#if defined(SYSV) || defined(SVR4)
#define SYSV_MALLOC
#define SYSV_MEMSET
#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
/*
** Special definitions for certain platforms.
*/
/*
** 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
/*
** The following should depend on existing definitions.
*/
typedef int bool_t; /* boolean type */
#undef TRUE /* SunOS-5 defines this in <rpc/types.h> */
#define TRUE 1
#undef FALSE /* SunOS-5 defines this in <rpc/types.h> */
#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_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
#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
#ifdef NEED_SYS_ERR
extern char *sys_errlist[];
extern int sys_nerr;
#endif
#if defined(apollo) && defined(lint)
# define __attribute(x)
#endif
#ifndef __P /* in *BSD's <sys/cdefs.h>, included by everything! */
# if ((__STDC__ - 0) > 0) || defined(__cplusplus)
# define __P(protos) protos /* full-blown ANSI C */
# else
# define __P(protos) () /* traditional C */
# endif
#endif
#ifndef const /* in *BSD's <sys/cdefs.h>, included by everything! */
# if ((__STDC__ - 0) <= 0) || defined(apollo)
# define const /* NOTHING */
# endif
#endif
#ifdef __STDC__
# define VA_START(args, lastarg) va_start(args, lastarg)
#else
# define VA_START(args, lastarg) va_start(args)
#endif