1 #ifndef DEFINES_BSDSOCKET_PROTOS_H
2 #define DEFINES_BSDSOCKET_PROTOS_H
5 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
9 Desc: Defines for bsdsocket
12 #include <aros/libcall.h>
13 #include <exec/types.h>
14 #include <aros/preprocessor/variadic/cast2iptr.hpp>
17 #define __socket_WB(__SocketBase, __arg1, __arg2, __arg3) \
18 AROS_LC3(int, socket, \
19 AROS_LCA(int,(__arg1),D0), \
20 AROS_LCA(int,(__arg2),D1), \
21 AROS_LCA(int,(__arg3),D2), \
22 struct Library *, (__SocketBase), 5, BSDSocket)
24 #define socket(arg1, arg2, arg3) \
25 __socket_WB(SocketBase, (arg1), (arg2), (arg3))
27 #define __bind_WB(__SocketBase, __arg1, __arg2, __arg3) \
29 AROS_LCA(int,(__arg1),D0), \
30 AROS_LCA(struct sockaddr *,(__arg2),A0), \
31 AROS_LCA(int,(__arg3),D1), \
32 struct Library *, (__SocketBase), 6, BSDSocket)
34 #define bind(arg1, arg2, arg3) \
35 __bind_WB(SocketBase, (arg1), (arg2), (arg3))
37 #define __listen_WB(__SocketBase, __arg1, __arg2) \
38 AROS_LC2(int, listen, \
39 AROS_LCA(int,(__arg1),D0), \
40 AROS_LCA(int,(__arg2),D1), \
41 struct Library *, (__SocketBase), 7, BSDSocket)
43 #define listen(arg1, arg2) \
44 __listen_WB(SocketBase, (arg1), (arg2))
46 #define __accept_WB(__SocketBase, __arg1, __arg2, __arg3) \
47 AROS_LC3(int, accept, \
48 AROS_LCA(int,(__arg1),D0), \
49 AROS_LCA(struct sockaddr *,(__arg2),A0), \
50 AROS_LCA(int *,(__arg3),A1), \
51 struct Library *, (__SocketBase), 8, BSDSocket)
53 #define accept(arg1, arg2, arg3) \
54 __accept_WB(SocketBase, (arg1), (arg2), (arg3))
56 #define __connect_WB(__SocketBase, __arg1, __arg2, __arg3) \
57 AROS_LC3(int, connect, \
58 AROS_LCA(int,(__arg1),D0), \
59 AROS_LCA(struct sockaddr *,(__arg2),A0), \
60 AROS_LCA(int,(__arg3),D1), \
61 struct Library *, (__SocketBase), 9, BSDSocket)
63 #define connect(arg1, arg2, arg3) \
64 __connect_WB(SocketBase, (arg1), (arg2), (arg3))
66 #define __sendto_WB(__SocketBase, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6) \
67 AROS_LC6(int, sendto, \
68 AROS_LCA(int,(__arg1),D0), \
69 AROS_LCA(const void *,(__arg2),A0), \
70 AROS_LCA(int,(__arg3),D1), \
71 AROS_LCA(int,(__arg4),D2), \
72 AROS_LCA(const struct sockaddr *,(__arg5),A1), \
73 AROS_LCA(int,(__arg6),D3), \
74 struct Library *, (__SocketBase), 10, BSDSocket)
76 #define sendto(arg1, arg2, arg3, arg4, arg5, arg6) \
77 __sendto_WB(SocketBase, (arg1), (arg2), (arg3), (arg4), (arg5), (arg6))
79 #define __send_WB(__SocketBase, __arg1, __arg2, __arg3, __arg4) \
81 AROS_LCA(int,(__arg1),D0), \
82 AROS_LCA(const void *,(__arg2),A0), \
83 AROS_LCA(int,(__arg3),D1), \
84 AROS_LCA(int,(__arg4),D2), \
85 struct Library *, (__SocketBase), 11, BSDSocket)
87 #define send(arg1, arg2, arg3, arg4) \
88 __send_WB(SocketBase, (arg1), (arg2), (arg3), (arg4))
90 #define __recvfrom_WB(__SocketBase, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6) \
91 AROS_LC6(int, recvfrom, \
92 AROS_LCA(int,(__arg1),D0), \
93 AROS_LCA(void *,(__arg2),A0), \
94 AROS_LCA(int,(__arg3),D1), \
95 AROS_LCA(int,(__arg4),D2), \
96 AROS_LCA(struct sockaddr *,(__arg5),A1), \
97 AROS_LCA(int *,(__arg6),A2), \
98 struct Library *, (__SocketBase), 12, BSDSocket)
100 #define recvfrom(arg1, arg2, arg3, arg4, arg5, arg6) \
101 __recvfrom_WB(SocketBase, (arg1), (arg2), (arg3), (arg4), (arg5), (arg6))
103 #define __recv_WB(__SocketBase, __arg1, __arg2, __arg3, __arg4) \
104 AROS_LC4(int, recv, \
105 AROS_LCA(int,(__arg1),D0), \
106 AROS_LCA(void *,(__arg2),A0), \
107 AROS_LCA(int,(__arg3),D1), \
108 AROS_LCA(int,(__arg4),D2), \
109 struct Library *, (__SocketBase), 13, BSDSocket)
111 #define recv(arg1, arg2, arg3, arg4) \
112 __recv_WB(SocketBase, (arg1), (arg2), (arg3), (arg4))
114 #define __shutdown_WB(__SocketBase, __arg1, __arg2) \
115 AROS_LC2(int, shutdown, \
116 AROS_LCA(int,(__arg1),D0), \
117 AROS_LCA(int,(__arg2),D1), \
118 struct Library *, (__SocketBase), 14, BSDSocket)
120 #define shutdown(arg1, arg2) \
121 __shutdown_WB(SocketBase, (arg1), (arg2))
123 #define __setsockopt_WB(__SocketBase, __arg1, __arg2, __arg3, __arg4, __arg5) \
124 AROS_LC5(int, setsockopt, \
125 AROS_LCA(int,(__arg1),D0), \
126 AROS_LCA(int,(__arg2),D1), \
127 AROS_LCA(int,(__arg3),D2), \
128 AROS_LCA(void *,(__arg4),A0), \
129 AROS_LCA(int,(__arg5),D3), \
130 struct Library *, (__SocketBase), 15, BSDSocket)
132 #define setsockopt(arg1, arg2, arg3, arg4, arg5) \
133 __setsockopt_WB(SocketBase, (arg1), (arg2), (arg3), (arg4), (arg5))
135 #define __getsockopt_WB(__SocketBase, __arg1, __arg2, __arg3, __arg4, __arg5) \
136 AROS_LC5(int, getsockopt, \
137 AROS_LCA(int,(__arg1),D0), \
138 AROS_LCA(int,(__arg2),D1), \
139 AROS_LCA(int,(__arg3),D2), \
140 AROS_LCA(void *,(__arg4),A0), \
141 AROS_LCA(void *,(__arg5),A1), \
142 struct Library *, (__SocketBase), 16, BSDSocket)
144 #define getsockopt(arg1, arg2, arg3, arg4, arg5) \
145 __getsockopt_WB(SocketBase, (arg1), (arg2), (arg3), (arg4), (arg5))
147 #define __getsockname_WB(__SocketBase, __arg1, __arg2, __arg3) \
148 AROS_LC3(int, getsockname, \
149 AROS_LCA(int,(__arg1),D0), \
150 AROS_LCA(struct sockaddr *,(__arg2),A0), \
151 AROS_LCA(int *,(__arg3),A1), \
152 struct Library *, (__SocketBase), 17, BSDSocket)
154 #define getsockname(arg1, arg2, arg3) \
155 __getsockname_WB(SocketBase, (arg1), (arg2), (arg3))
157 #define __getpeername_WB(__SocketBase, __arg1, __arg2, __arg3) \
158 AROS_LC3(int, getpeername, \
159 AROS_LCA(int,(__arg1),D0), \
160 AROS_LCA(struct sockaddr *,(__arg2),A0), \
161 AROS_LCA(int *,(__arg3),A1), \
162 struct Library *, (__SocketBase), 18, BSDSocket)
164 #define getpeername(arg1, arg2, arg3) \
165 __getpeername_WB(SocketBase, (arg1), (arg2), (arg3))
167 #define __IoctlSocket_WB(__SocketBase, __arg1, __arg2, __arg3) \
168 AROS_LC3(int, IoctlSocket, \
169 AROS_LCA(int,(__arg1),D0), \
170 AROS_LCA(unsigned long,(__arg2),D1), \
171 AROS_LCA(char *,(__arg3),A0), \
172 struct Library *, (__SocketBase), 19, BSDSocket)
174 #define IoctlSocket(arg1, arg2, arg3) \
175 __IoctlSocket_WB(SocketBase, (arg1), (arg2), (arg3))
177 #define __CloseSocket_WB(__SocketBase, __arg1) \
178 AROS_LC1(int, CloseSocket, \
179 AROS_LCA(int,(__arg1),D0), \
180 struct Library *, (__SocketBase), 20, BSDSocket)
182 #define CloseSocket(arg1) \
183 __CloseSocket_WB(SocketBase, (arg1))
185 #define __WaitSelect_WB(__SocketBase, __arg1, __arg2, __arg3, __arg4, __arg5, __arg6) \
186 AROS_LC6(int, WaitSelect, \
187 AROS_LCA(int,(__arg1),D0), \
188 AROS_LCA(fd_set *,(__arg2),A0), \
189 AROS_LCA(fd_set *,(__arg3),A1), \
190 AROS_LCA(fd_set *,(__arg4),A2), \
191 AROS_LCA(struct timeval *,(__arg5),A3), \
192 AROS_LCA(ULONG *,(__arg6),D1), \
193 struct Library *, (__SocketBase), 21, BSDSocket)
195 #define WaitSelect(arg1, arg2, arg3, arg4, arg5, arg6) \
196 __WaitSelect_WB(SocketBase, (arg1), (arg2), (arg3), (arg4), (arg5), (arg6))
198 #define __SetSocketSignals_WB(__SocketBase, __arg1, __arg2, __arg3) \
199 AROS_LC3NR(void, SetSocketSignals, \
200 AROS_LCA(ULONG,(__arg1),D0), \
201 AROS_LCA(ULONG,(__arg2),D1), \
202 AROS_LCA(ULONG,(__arg3),D2), \
203 struct Library *, (__SocketBase), 22, BSDSocket)
205 #define SetSocketSignals(arg1, arg2, arg3) \
206 __SetSocketSignals_WB(SocketBase, (arg1), (arg2), (arg3))
208 #define __getdtablesize_WB(__SocketBase) \
209 AROS_LC0(int, getdtablesize, \
210 struct Library *, (__SocketBase), 23, BSDSocket)
212 #define getdtablesize() \
213 __getdtablesize_WB(SocketBase)
215 #define __ObtainSocket_WB(__SocketBase, __arg1, __arg2, __arg3, __arg4) \
216 AROS_LC4(LONG, ObtainSocket, \
217 AROS_LCA(LONG,(__arg1),D0), \
218 AROS_LCA(LONG,(__arg2),D1), \
219 AROS_LCA(LONG,(__arg3),D2), \
220 AROS_LCA(LONG,(__arg4),D3), \
221 struct Library *, (__SocketBase), 24, BSDSocket)
223 #define ObtainSocket(arg1, arg2, arg3, arg4) \
224 __ObtainSocket_WB(SocketBase, (arg1), (arg2), (arg3), (arg4))
226 #define __ReleaseSocket_WB(__SocketBase, __arg1, __arg2) \
227 AROS_LC2(LONG, ReleaseSocket, \
228 AROS_LCA(LONG,(__arg1),D0), \
229 AROS_LCA(LONG,(__arg2),D1), \
230 struct Library *, (__SocketBase), 25, BSDSocket)
232 #define ReleaseSocket(arg1, arg2) \
233 __ReleaseSocket_WB(SocketBase, (arg1), (arg2))
235 #define __ReleaseCopyOfSocket_WB(__SocketBase, __arg1, __arg2) \
236 AROS_LC2(LONG, ReleaseCopyOfSocket, \
237 AROS_LCA(LONG,(__arg1),D0), \
238 AROS_LCA(LONG,(__arg2),D1), \
239 struct Library *, (__SocketBase), 26, BSDSocket)
241 #define ReleaseCopyOfSocket(arg1, arg2) \
242 __ReleaseCopyOfSocket_WB(SocketBase, (arg1), (arg2))
244 #define __Errno_WB(__SocketBase) \
245 AROS_LC0(LONG, Errno, \
246 struct Library *, (__SocketBase), 27, BSDSocket)
249 __Errno_WB(SocketBase)
251 #define __SetErrnoPtr_WB(__SocketBase, __arg1, __arg2) \
252 AROS_LC2NR(void, SetErrnoPtr, \
253 AROS_LCA(void *,(__arg1),A0), \
254 AROS_LCA(int,(__arg2),D0), \
255 struct Library *, (__SocketBase), 28, BSDSocket)
257 #define SetErrnoPtr(arg1, arg2) \
258 __SetErrnoPtr_WB(SocketBase, (arg1), (arg2))
260 #define __Inet_NtoA_WB(__SocketBase, __arg1) \
261 AROS_LC1(char *, Inet_NtoA, \
262 AROS_LCA(unsigned long,(__arg1),D0), \
263 struct Library *, (__SocketBase), 29, BSDSocket)
265 #define Inet_NtoA(arg1) \
266 __Inet_NtoA_WB(SocketBase, (arg1))
268 #if !defined(NO_INLINE_STDARG) && !defined(BSDSOCKET_NO_INLINE_STDARG)
269 #define Inet_Nto(...) \
271 IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
272 Inet_NtoA((unsigned long)__args); \
274 #endif /* !NO_INLINE_STDARG */
276 #define __inet_addr_WB(__SocketBase, __arg1) \
277 AROS_LC1(unsigned long, inet_addr, \
278 AROS_LCA(const char *,(__arg1),A0), \
279 struct Library *, (__SocketBase), 30, BSDSocket)
281 #define inet_addr(arg1) \
282 __inet_addr_WB(SocketBase, (arg1))
284 #define __Inet_LnaOf_WB(__SocketBase, __arg1) \
285 AROS_LC1(unsigned long, Inet_LnaOf, \
286 AROS_LCA(unsigned long,(__arg1),D0), \
287 struct Library *, (__SocketBase), 31, BSDSocket)
289 #define Inet_LnaOf(arg1) \
290 __Inet_LnaOf_WB(SocketBase, (arg1))
292 #define __Inet_NetOf_WB(__SocketBase, __arg1) \
293 AROS_LC1(unsigned long, Inet_NetOf, \
294 AROS_LCA(unsigned long,(__arg1),D0), \
295 struct Library *, (__SocketBase), 32, BSDSocket)
297 #define Inet_NetOf(arg1) \
298 __Inet_NetOf_WB(SocketBase, (arg1))
300 #define __Inet_MakeAddr_WB(__SocketBase, __arg1, __arg2) \
301 AROS_LC2(unsigned long, Inet_MakeAddr, \
302 AROS_LCA(int,(__arg1),D0), \
303 AROS_LCA(int,(__arg2),D1), \
304 struct Library *, (__SocketBase), 33, BSDSocket)
306 #define Inet_MakeAddr(arg1, arg2) \
307 __Inet_MakeAddr_WB(SocketBase, (arg1), (arg2))
309 #define __inet_network_WB(__SocketBase, __arg1) \
310 AROS_LC1(unsigned long, inet_network, \
311 AROS_LCA(const char *,(__arg1),A0), \
312 struct Library *, (__SocketBase), 34, BSDSocket)
314 #define inet_network(arg1) \
315 __inet_network_WB(SocketBase, (arg1))
317 #define __gethostbyname_WB(__SocketBase, __arg1) \
318 AROS_LC1(struct hostent *, gethostbyname, \
319 AROS_LCA(char *,(__arg1),A0), \
320 struct Library *, (__SocketBase), 35, BSDSocket)
322 #define gethostbyname(arg1) \
323 __gethostbyname_WB(SocketBase, (arg1))
325 #define __gethostbyaddr_WB(__SocketBase, __arg1, __arg2, __arg3) \
326 AROS_LC3(struct hostent *, gethostbyaddr, \
327 AROS_LCA(char *,(__arg1),A0), \
328 AROS_LCA(int,(__arg2),D0), \
329 AROS_LCA(int,(__arg3),D1), \
330 struct Library *, (__SocketBase), 36, BSDSocket)
332 #define gethostbyaddr(arg1, arg2, arg3) \
333 __gethostbyaddr_WB(SocketBase, (arg1), (arg2), (arg3))
335 #define __getnetbyname_WB(__SocketBase, __arg1) \
336 AROS_LC1(struct netent *, getnetbyname, \
337 AROS_LCA(char *,(__arg1),A0), \
338 struct Library *, (__SocketBase), 37, BSDSocket)
340 #define getnetbyname(arg1) \
341 __getnetbyname_WB(SocketBase, (arg1))
343 #define __getnetbyaddr_WB(__SocketBase, __arg1, __arg2) \
344 AROS_LC2(struct netent *, getnetbyaddr, \
345 AROS_LCA(long,(__arg1),D0), \
346 AROS_LCA(int,(__arg2),D1), \
347 struct Library *, (__SocketBase), 38, BSDSocket)
349 #define getnetbyaddr(arg1, arg2) \
350 __getnetbyaddr_WB(SocketBase, (arg1), (arg2))
352 #define __getservbyname_WB(__SocketBase, __arg1, __arg2) \
353 AROS_LC2(struct servent *, getservbyname, \
354 AROS_LCA(char *,(__arg1),A0), \
355 AROS_LCA(char *,(__arg2),A1), \
356 struct Library *, (__SocketBase), 39, BSDSocket)
358 #define getservbyname(arg1, arg2) \
359 __getservbyname_WB(SocketBase, (arg1), (arg2))
361 #define __getservbyport_WB(__SocketBase, __arg1, __arg2) \
362 AROS_LC2(struct servent *, getservbyport, \
363 AROS_LCA(int,(__arg1),D0), \
364 AROS_LCA(char *,(__arg2),A0), \
365 struct Library *, (__SocketBase), 40, BSDSocket)
367 #define getservbyport(arg1, arg2) \
368 __getservbyport_WB(SocketBase, (arg1), (arg2))
370 #define __getprotobyname_WB(__SocketBase, __arg1) \
371 AROS_LC1(struct protoent *, getprotobyname, \
372 AROS_LCA(char *,(__arg1),A0), \
373 struct Library *, (__SocketBase), 41, BSDSocket)
375 #define getprotobyname(arg1) \
376 __getprotobyname_WB(SocketBase, (arg1))
378 #define __getprotobynumber_WB(__SocketBase, __arg1) \
379 AROS_LC1(struct protoent *, getprotobynumber, \
380 AROS_LCA(int,(__arg1),D0), \
381 struct Library *, (__SocketBase), 42, BSDSocket)
383 #define getprotobynumber(arg1) \
384 __getprotobynumber_WB(SocketBase, (arg1))
386 #define __vsyslog_WB(__SocketBase, __arg1, __arg2, __arg3) \
387 AROS_LC3NR(void, vsyslog, \
388 AROS_LCA(int,(__arg1),D0), \
389 AROS_LCA(const char *,(__arg2),A0), \
390 AROS_LCA(LONG *,(__arg3),A1), \
391 struct Library *, (__SocketBase), 43, BSDSocket)
393 #define vsyslog(arg1, arg2, arg3) \
394 __vsyslog_WB(SocketBase, (arg1), (arg2), (arg3))
396 #if !defined(NO_INLINE_STDARG) && !defined(BSDSOCKET_NO_INLINE_STDARG)
397 #define syslog(arg1, arg2, ...) \
399 IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
400 vsyslog(arg1, arg2, __args); \
402 #endif /* !NO_INLINE_STDARG */
405 #define __Dup2Socket_WB(__SocketBase, __arg1, __arg2) \
406 AROS_LC2(int, Dup2Socket, \
407 AROS_LCA(int,(__arg1),D0), \
408 AROS_LCA(int,(__arg2),D1), \
409 struct Library *, (__SocketBase), 44, BSDSocket)
411 #define Dup2Socket(arg1, arg2) \
412 __Dup2Socket_WB(SocketBase, (arg1), (arg2))
414 #define __sendmsg_WB(__SocketBase, __arg1, __arg2, __arg3) \
415 AROS_LC3(int, sendmsg, \
416 AROS_LCA(int,(__arg1),D0), \
417 AROS_LCA(const struct msghdr *,(__arg2),A0), \
418 AROS_LCA(int,(__arg3),D1), \
419 struct Library *, (__SocketBase), 45, BSDSocket)
421 #define sendmsg(arg1, arg2, arg3) \
422 __sendmsg_WB(SocketBase, (arg1), (arg2), (arg3))
424 #define __recvmsg_WB(__SocketBase, __arg1, __arg2, __arg3) \
425 AROS_LC3(int, recvmsg, \
426 AROS_LCA(int,(__arg1),D0), \
427 AROS_LCA(struct msghdr *,(__arg2),A0), \
428 AROS_LCA(int,(__arg3),D1), \
429 struct Library *, (__SocketBase), 46, BSDSocket)
431 #define recvmsg(arg1, arg2, arg3) \
432 __recvmsg_WB(SocketBase, (arg1), (arg2), (arg3))
434 #define __gethostname_WB(__SocketBase, __arg1, __arg2) \
435 AROS_LC2(int, gethostname, \
436 AROS_LCA(char *,(__arg1),A0), \
437 AROS_LCA(int,(__arg2),D0), \
438 struct Library *, (__SocketBase), 47, BSDSocket)
440 #define gethostname(arg1, arg2) \
441 __gethostname_WB(SocketBase, (arg1), (arg2))
443 #define __gethostid_WB(__SocketBase) \
444 AROS_LC0(long, gethostid, \
445 struct Library *, (__SocketBase), 48, BSDSocket)
447 #define gethostid() \
448 __gethostid_WB(SocketBase)
450 #define __SocketBaseTagList_WB(__SocketBase, __arg1) \
451 AROS_LC1(ULONG, SocketBaseTagList, \
452 AROS_LCA(struct TagItem *,(__arg1),A0), \
453 struct Library *, (__SocketBase), 49, BSDSocket)
455 #define SocketBaseTagList(arg1) \
456 __SocketBaseTagList_WB(SocketBase, (arg1))
458 #if !defined(NO_INLINE_STDARG) && !defined(BSDSOCKET_NO_INLINE_STDARG)
459 #define SocketBaseTags(...) \
461 IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
462 SocketBaseTagList((struct TagItem *)__args); \
464 #endif /* !NO_INLINE_STDARG */
466 #define __GetSocketEvents_WB(__SocketBase, __arg1) \
467 AROS_LC1(LONG, GetSocketEvents, \
468 AROS_LCA(ULONG *,(__arg1),A0), \
469 struct Library *, (__SocketBase), 50, BSDSocket)
471 #define GetSocketEvents(arg1) \
472 __GetSocketEvents_WB(SocketBase, (arg1))
474 #if defined(__CONFIG_ROADSHOW__)
475 /* RoadShow Extensions .. */
478 AROS_LC1(long, bpf_open, \
479 AROS_LCA(long, (__arg1), D0), \
480 struct Library *, (__SocketBase), 57, BSDSocket)
482 AROS_LC1(long, bpf_close, \
483 AROS_LCA(long, (__arg1), D0), \
484 struct Library *, (__SocketBase), 58, BSDSocket)
486 AROS_LC3(long, bpf_read, \
487 AROS_LCA(long, (__arg1), D0), \
488 AROS_LCA(void *, (__arg2), A0), \
489 AROS_LCA(long, (__arg3), D1), \
490 struct Library *, (__SocketBase), 59, BSDSocket)
492 AROS_LC3(long, bpf_write, \
493 AROS_LCA(long, (__arg1), D0), \
494 AROS_LCA(void *, (__arg2), A0), \
495 AROS_LCA(long, (__arg3), D1), \
496 struct Library *, (__SocketBase), 60, BSDSocket)
498 AROS_LC2(long, bpf_set_notify_mask, \
499 AROS_LCA(long, (__arg1), D0), \
500 AROS_LCA(unsigned long, (__arg2), D1), \
501 struct Library *, (__SocketBase), 61, BSDSocket)
503 AROS_LC2(long, bpf_set_interrupt_mask, \
504 AROS_LCA(long, (__arg1), D0), \
505 AROS_LCA(unsigned long, (__arg2), D1), \
506 struct Library *, (__SocketBase), 62, BSDSocket)
508 AROS_LC3(long, bpf_ioctl, \
509 AROS_LCA(long, (__arg1), D0), \
510 AROS_LCA(unsigned long, (__arg2), D1), \
511 AROS_LCA(char *, (__arg3), A0), \
512 struct Library *, (__SocketBase), 63, BSDSocket)
514 AROS_LC1(long, bpf_data_waiting, \
515 AROS_LCA(long, (__arg1), D0), \
516 struct Library *, (__SocketBase), 64, BSDSocket)
518 AROS_LC1(long, AddRouteTagList, \
519 AROS_LCA(struct TagItem *, (__arg1), A0), \
520 struct Library *, (__SocketBase), 65, BSDSocket)
522 AROS_LC1(long, DeleteRouteTagList, \
523 AROS_LCA(struct TagItem *, (__arg1), A0), \
524 struct Library *, (__SocketBase), 66, BSDSocket)
526 AROS_LC1(long, ChangeRouteTagList, \
527 AROS_LCA(struct TagItem *, (__arg1), A0), \
528 struct Library *, (__SocketBase), 67, BSDSocket)
530 AROS_LC1NR(void, FreeRouteInfo, \
531 AROS_LCA(struct rt_msghdr *, (__arg1), A0), \
532 struct Library *, (__SocketBase), 68, BSDSocket)
534 AROS_LC2(struct rt_msghdr *, GetRouteInfo, \
535 AROS_LCA(LONG, (__arg1), D0), \
536 AROS_LCA(LONG, (__arg2), D1), \
537 struct Library *, (__SocketBase), 69, BSDSocket)
539 AROS_LC4(long, AddInterfaceTagList, \
540 AROS_LCA(STRPTR, (__arg1), A0), \
541 AROS_LCA(STRPTR, (__arg2), A1), \
542 AROS_LCA(long, (__arg3), D0), \
543 AROS_LCA(struct TagItem *, (__arg4), A2), \
544 struct Library *, (__SocketBase), 70, BSDSocket)
546 AROS_LC2(long, ConfigureInterfaceTagList, \
547 AROS_LCA(STRPTR, (__arg1), A0), \
548 AROS_LCA(struct TagItem *, (__arg2), A1), \
549 struct Library *, (__SocketBase), 71, BSDSocket)
551 AROS_LC1NR(void, ReleaseInterfaceList, \
552 AROS_LCA(struct List *, (__arg1), A0), \
553 struct Library *, (__SocketBase), 72, BSDSocket)
555 AROS_LC0(struct List *, ObtainInterfaceList, \
556 struct Library *, (__SocketBase), 73, BSDSocket)
558 #define __QueryInterfaceTagList_WB(__SocketBase, __arg1, __arg2) \
559 AROS_LC2(long, QueryInterfaceTagList, \
560 AROS_LCA(STRPTR, (__arg1), A0), \
561 AROS_LCA(struct TagItem *, (__arg2), A1), \
562 struct Library *, (__SocketBase), 74, BSDSocket)
564 #define QueryInterfaceTagList(arg1, arg2) \
565 __QueryInterfaceTagList_WB(SocketBase, (arg1), (arg2))
567 AROS_LC5(LONG, CreateAddrAllocMessageA, \
568 AROS_LCA(LONG, (__arg1), D0), \
569 AROS_LCA(LONG, (__arg2), D1), \
570 AROS_LCA(STRPTR, (__arg3), A0), \
571 AROS_LCA(struct AddressAllocationMessage *, (__arg4), A1), \
572 AROS_LCA(struct TagItem *, (__arg5), A2), \
573 struct Library *, (__SocketBase), 75, BSDSocket)
575 AROS_LC1NR(void, DeleteAddrAllocMessage, \
576 AROS_LCA(struct AddressAllocationMessage *, (__arg1), A0), \
577 struct Library *, (__SocketBase), 76, BSDSocket)
579 AROS_LC1NR(void, BeginInterfaceConfig, \
580 AROS_LCA(struct AddressAllocationMessage *, (__arg1), A0), \
581 struct Library *, (__SocketBase), 77, BSDSocket)
583 AROS_LC1NR(void, AbortInterfaceConfig, \
584 AROS_LCA(struct AddressAllocationMessage *, (__arg1), A0), \
585 struct Library *, (__SocketBase), 78, BSDSocket)
587 AROS_LC3(long, AddNetMonitorHookTagList, \
588 AROS_LCA(long, (__arg1), D0), \
589 AROS_LCA(struct Hook *, (__arg2), A0), \
590 AROS_LCA(struct TagItem *, (__arg3), A1), \
591 struct Library *, (__SocketBase), 79, BSDSocket)
593 AROS_LC1NR(void, RemoveNetMonitorHook, \
594 AROS_LCA(struct Hook *, (__arg1), A0), \
595 struct Library *, (__SocketBase), 80, BSDSocket)
597 AROS_LC4(LONG, GetNetworkStatistics, \
598 AROS_LCA(LONG, (__arg1), D0), \
599 AROS_LCA(LONG, (__arg2), D1), \
600 AROS_LCA(APTR, (__arg3), A0), \
601 AROS_LCA(LONG, (__arg4), D2), \
602 struct Library *, (__SocketBase), 81, BSDSocket)
604 AROS_LC1(LONG, AddDomainNameServer, \
605 AROS_LCA(STRPTR, (__arg1), A0), \
606 struct Library *, (__SocketBase), 82, BSDSocket)
608 AROS_LC1(LONG, RemoveDomainNameServer, \
609 AROS_LCA(STRPTR, (__arg1), A0), \
610 struct Library *, (__SocketBase), 83, BSDSocket)
612 AROS_LC1NR(void, ReleaseDomainNameServerList, \
613 AROS_LCA(struct List *, (__arg1), A0), \
614 struct Library *, (__SocketBase), 84, BSDSocket)
616 AROS_LC0(struct List *, ObtainDomainNameServerList, \
617 struct Library *, (__SocketBase), 85, BSDSocket)
619 AROS_LC1NR(void, setnetent, \
620 AROS_LCA(int, (__arg1), D0), \
621 struct Library *, (__SocketBase), 86, BSDSocket)
623 AROS_LC0NR(void, endnetent, \
624 struct Library *, (__SocketBase), 87, BSDSocket)
626 AROS_LC0(struct netent *, getnetent, \
627 struct Library *, (__SocketBase), 88, BSDSocket)
629 AROS_LC1NR(void, setprotoent, \
630 AROS_LCA(int, (__arg1), D0), \
631 struct Library *, (__SocketBase), 89, BSDSocket)
634 #define __endprotoent_WB(__SocketBase) \
635 AROS_LC0NR(void, endprotoent, \
636 struct Library *, (__SocketBase), 90, BSDSocket)
638 #define endprotoent() \
639 __endprotoent_WB(SocketBase)
641 #define __getprotoent_WB(__SocketBase) \
642 AROS_LC0(struct protoent *, getprotoent, \
643 struct Library *, (__SocketBase), 91, BSDSocket)
645 #define getprotoent() \
646 __getprotoent_WB(SocketBase)
649 AROS_LC1NR(void, setservent, \
650 AROS_LCA(int, (__arg1), D0), \
651 struct Library *, (__SocketBase), 92, BSDSocket)
653 AROS_LC0NR(void, endservent, \
654 struct Library *, (__SocketBase), 93, BSDSocket)
656 AROS_LC0(struct servent *, getservent, \
657 struct Library *, (__SocketBase), 94, BSDSocket)
661 #define __inet_aton_WB(__SocketBase, __arg1, __arg2) \
662 AROS_LC2(LONG, inet_aton, \
663 AROS_LCA(STRPTR,(__arg1),A0), \
664 AROS_LCA(struct in_addr *,(__arg2),A1), \
665 struct Library *, (__SocketBase), 95, BSDSocket)
667 #define inet_aton(arg1, arg2) \
668 __inet_aton_WB(SocketBase, (arg1), (arg2))
669 #endif /* __CONFIG_ROADSHOW__ */
670 #endif /* DEFINES_BSDSOCKET_PROTOS_H*/