btrfs: Attempt to fix GCC2 build.
[haiku.git] / src / kits / network / netresolv / port_before.h
blob89b775ecfc528f61a6e8849088795c5b7faab205
1 /*
2 * Copyright (C) 2005-2008 Internet Systems Consortium, Inc. ("ISC")
3 * Copyright (C) 2001 Internet Software Consortium.
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 * PERFORMANCE OF THIS SOFTWARE.
18 /* $Id: port_before.h.in,v 1.31 2008/02/28 05:36:10 marka Exp $ */
20 #ifndef port_before_h
21 #define port_before_h
22 #include <config.h>
24 #ifdef NEED_SUN4PROTOS
25 #define _PARAMS(x) x
26 #endif
28 #ifdef __HAIKU__
29 # include <sys/sockio.h>
30 # define ETOOMANYREFS EBADF
32 // inet_*() are just weak symbols
33 # define inet_addr __inet_addr
34 # define inet_aton __inet_aton
35 # define inet_lnaof __inet_lnaof
36 # define inet_makeaddr __inet_makeaddr
37 # define inet_neta __inet_neta
38 # define inet_netof __inet_netof
39 # define inet_network __inet_network
40 # define inet_net_ntop __inet_net_ntop
41 # define inet_net_pton __inet_net_pton
42 # define inet_cidr_ntop __inet_cidr_ntop
43 # define inet_cidr_pton __inet_cidr_pton
44 # define inet_ntoa __inet_ntoa
45 # define inet_pton __inet_pton
46 # define inet_ntop __inet_ntop
47 # define inet_nsap_addr __inet_nsap_addr
48 # define inet_nsap_ntoa __inet_nsap_ntoa
49 #endif
51 struct group; /* silence warning */
52 struct passwd; /* silence warning */
53 struct timeval; /* silence warning */
54 struct timezone; /* silence warning */
56 #ifdef HAVE_SYS_TIMERS_H
57 #include <sys/timers.h>
58 #endif
59 #include <limits.h>
61 #ifdef ISC_PLATFORM_NEEDTIMESPEC
62 #include <time.h> /* For time_t */
63 struct timespec {
64 time_t tv_sec; /* seconds */
65 long tv_nsec; /* nanoseconds */
67 #endif
68 #ifndef HAVE_MEMMOVE
69 #define memmove(a,b,c) bcopy(b,a,c)
70 #endif
72 #undef WANT_IRS_GR
73 #undef WANT_IRS_NIS
74 #undef WANT_IRS_PW
76 #undef BSD_COMP
77 #undef HAVE_POLL
78 #undef HAVE_MD5
79 #undef SOLARIS2
81 #define DO_PTHREADS
82 #define GETGROUPLIST_ARGS const char *name, gid_t basegid, gid_t *groups, int *ngroups
83 #define GETNETBYADDR_ADDR_T long
84 #define SETPWENT_VOID 1
85 #define SETGRENT_VOID 1
87 #define NET_R_ARGS char *buf, int buflen
88 #define NET_R_BAD NULL
89 #define NET_R_COPY buf, buflen
90 #define NET_R_COPY_ARGS NET_R_ARGS
91 #define NET_R_END_RESULT(x) /*empty*/
92 #define NET_R_END_RETURN void
93 #undef NET_R_ENT_ARGS /*empty*/
94 #define NET_R_OK nptr
95 #define NET_R_RETURN struct netent *
96 #undef NET_R_SET_RESULT /*empty*/
97 #undef NET_R_SETANSWER
98 #define NET_R_SET_RETURN void
99 #undef NETENT_DATA
102 #define GROUP_R_SET_RETURN void
103 #undef GROUP_R_SET_RESULT /*empty*/
104 #define GROUP_R_END_RETURN void
105 #define GROUP_R_END_RESULT(x) /*empty*/
107 #define GROUP_R_ENT_ARGS void
111 #define HOST_R_ARGS char *buf, int buflen, int *h_errnop
112 #define HOST_R_BAD NULL
113 #define HOST_R_COPY buf, buflen
114 #define HOST_R_COPY_ARGS char *buf, int buflen
115 #define HOST_R_END_RESULT(x) /*empty*/
116 #define HOST_R_END_RETURN void
117 #undef HOST_R_ENT_ARGS /*empty*/
118 #define HOST_R_ERRNO *h_errnop = h_errno
119 #define HOST_R_OK hptr
120 #define HOST_R_RETURN struct hostent *
121 #undef HOST_R_SETANSWER
122 #undef HOST_R_SET_RESULT
123 #define HOST_R_SET_RETURN void
124 #undef HOSTENT_DATA
126 #define NGR_R_ARGS char *buf, int buflen
127 #define NGR_R_BAD (0)
128 #define NGR_R_COPY buf, buflen
129 #define NGR_R_COPY_ARGS NGR_R_ARGS
130 #define NGR_R_CONST
131 #define NGR_R_END_RESULT(x) /*empty*/
132 #define NGR_R_END_RETURN void
133 #undef NGR_R_END_ARGS /*empty*/
134 #define NGR_R_OK 1
135 #define NGR_R_RETURN int
136 #define NGR_R_SET_CONST const
137 #undef NGR_R_SET_RESULT /*empty*/
138 #define NGR_R_SET_RETURN void
139 #undef NGR_R_SET_ARGS
142 #if !defined(NGR_R_SET_ARGS) && defined(NGR_R_END_ARGS)
143 #define NGR_R_SET_ARGS NGR_R_END_ARGS
144 #endif
146 #define PROTO_R_ARGS char *buf, int buflen
147 #define PROTO_R_BAD NULL
148 #define PROTO_R_COPY buf, buflen
149 #define PROTO_R_COPY_ARGS PROTO_R_ARGS
150 #define PROTO_R_END_RESULT(x) /*empty*/
151 #define PROTO_R_END_RETURN void
152 #undef PROTO_R_ENT_ARGS /*empty*/
153 #undef PROTO_R_ENT_UNUSED
154 #define PROTO_R_OK pptr
155 #undef PROTO_R_SETANSWER
156 #define PROTO_R_RETURN struct protoent *
157 #undef PROTO_R_SET_RESULT
158 #define PROTO_R_SET_RETURN void
159 #undef PROTOENT_DATA
165 #define PASS_R_END_RESULT(x) /*empty*/
166 #define PASS_R_END_RETURN void
167 #undef PASS_R_ENT_ARGS
170 #undef PASS_R_SET_RESULT /*empty*/
171 #define PASS_R_SET_RETURN void
173 #define SERV_R_ARGS char *buf, int buflen
174 #define SERV_R_BAD NULL
175 #define SERV_R_COPY buf, buflen
176 #define SERV_R_COPY_ARGS SERV_R_ARGS
177 #define SERV_R_END_RESULT(x) /*empty*/
178 #define SERV_R_END_RETURN void
179 #undef SERV_R_ENT_ARGS /*empty*/
180 #undef SERV_R_ENT_UNUSED /*empty*/
181 #define SERV_R_OK sptr
182 #undef SERV_R_SETANSWER
183 #define SERV_R_RETURN struct servent *
184 #undef SERV_R_SET_RESULT
185 #define SERV_R_SET_RETURN void
189 #define DE_CONST(konst, var) \
190 do { \
191 union { const void *k; void *v; } _u; \
192 _u.k = konst; \
193 var = _u.v; \
194 } while (0)
196 #define UNUSED(x) (x) = (x)
198 #undef NEED_SOLARIS_BITTYPES
199 #define ISC_SOCKLEN_T socklen_t
201 #ifdef __GNUC__
202 #define ISC_FORMAT_PRINTF(fmt, args) \
203 __attribute__((__format__(__printf__, fmt, args)))
204 #else
205 #define ISC_FORMAT_PRINTF(fmt, args)
206 #endif
208 /* Pull in host order macros when _XOPEN_SOURCE_EXTENDED is defined. */
209 #if defined(__hpux) && defined(_XOPEN_SOURCE_EXTENDED)
210 #include <sys/byteorder.h>
211 #endif
213 #endif
215 /*! \file */