/* Automatically generated header! Do not edit! */

#ifndef _PPCINLINE_SOCKET_H
#define _PPCINLINE_SOCKET_H

#ifndef __PPCINLINE_MACROS_H
#include <powerup/ppcinline/macros.h>
#endif /* !__PPCINLINE_MACROS_H */

#ifndef SOCKET_BASE_NAME
#define SOCKET_BASE_NAME SocketBase
#endif /* !SOCKET_BASE_NAME */

#define CloseSocket(d) \
	LP1(0x78, long, CloseSocket, long, d, d0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define Dup2Socket(fa, fb) \
	LP2(0x108, long, Dup2Socket, long, fa, d0, long, fb, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define Errno() \
	LP0(0xa2, long, Errno, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define GetSocketEvents(e) \
	LP1(0x12c, long, GetSocketEvents, unsigned long *, e, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define Inet_LnaOf(i) \
	LP1(0xba, unsigned long, Inet_LnaOf, long, i, d0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define Inet_MakeAddr(n, h) \
	LP2(0xc6, unsigned long, Inet_MakeAddr, unsigned long, n, d0, unsigned long, h, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define Inet_NetOf(i) \
	LP1(0xc0, unsigned long, Inet_NetOf, long, i, d0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define Inet_NtoA(i) \
	LP1(0xae, char *, Inet_NtoA, unsigned long, i, d0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define IoctlSocket(d, r, a) \
	LP3(0x72, long, IoctlSocket, long, d, d0, unsigned long, r, d1, char *, a, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define ObtainSocket(i, d, t, p) \
	LP4(0x90, long, ObtainSocket, long, i, d0, long, d, d1, long, t, d2, long, p, d3, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define ReleaseCopyOfSocket(f, i) \
	LP2(0x9c, long, ReleaseCopyOfSocket, long, f, d0, long, i, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define ReleaseSocket(f, i) \
	LP2(0x96, long, ReleaseSocket, long, f, d0, long, i, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define SetErrnoPtr(e, s) \
	LP2(0xa8, long, SetErrnoPtr, void *, e, a0, long, s, d0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define SetSocketSignals(sin, sio, su) \
	LP3NR(0x84, SetSocketSignals, unsigned long, sin, d0, unsigned long, sio, d1, unsigned long, su, d2, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define SocketBaseTagList(t) \
	LP1(0x126, long, SocketBaseTagList, struct TagItem *, t, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#ifndef NO_PPCINLINE_STDARG
#define SocketBaseTags(tags...) \
	({ULONG _tags[] = { tags }; SocketBaseTagList((struct TagItem *)_tags);})
#endif /* !NO_PPCINLINE_STDARG */

#define WaitSelect(n, r, w, e, t, m) \
	LP6(0x7e, long, WaitSelect, long, n, d0, fd_set *, r, a0, fd_set *, w, a1, fd_set *, e, a2, void *, t, a3, unsigned long *, m, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define accept(s, a, al) \
	LP3(0x30, long, accept, long, s, d0, struct sockaddr *, a, a0, long *, al, a1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define bind(s, n, nl) \
	LP3(0x24, long, bind, long, s, d0, const struct sockaddr *, n, a0, long, nl, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define connect(s, n, nl) \
	LP3(0x36, long, connect, long, s, d0, const struct sockaddr *, n, a0, long, nl, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getdtablesize() \
	LP0(0x8a, long, getdtablesize, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define gethostbyaddr(a, l, t) \
	LP3(0xd8, struct hostent *, gethostbyaddr, const unsigned char *, a, a0, long, l, d0, long, t, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define gethostbyname(n) \
	LP1(0xd2, struct hostent *, gethostbyname, const unsigned char *, n, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define gethostid() \
	LP0(0x120, unsigned long, gethostid, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define gethostname(h, s) \
	LP2(0x11a, long, gethostname, char *, h, a0, long, s, d0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getnetbyaddr(n, t) \
	LP2(0xe4, struct netent *, getnetbyaddr, long, n, d0, long, t, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getnetbyname(n) \
	LP1(0xde, struct netent *, getnetbyname, const unsigned char *, n, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getpeername(s, h, n) \
	LP3(0x6c, long, getpeername, long, s, d0, struct sockaddr *, h, a0, long *, n, a1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getprotobyname(n) \
	LP1(0xf6, struct protoent *, getprotobyname, const unsigned char *, n, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getprotobynumber(p) \
	LP1(0xfc, struct protoent *, getprotobynumber, long, p, d0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getservbyname(n, p) \
	LP2(0xea, struct servent *, getservbyname, const unsigned char *, n, a0, const unsigned char *, p, a1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getservbyport(p, pr) \
	LP2(0xf0, struct servent *, getservbyport, long, p, d0, const unsigned char *, pr, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getsockname(s, h, n) \
	LP3(0x66, long, getsockname, long, s, d0, struct sockaddr *, h, a0, long *, n, a1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define getsockopt(s, l, o, ov, ol) \
	LP5(0x60, long, getsockopt, long, s, d0, long, l, d1, long, o, d2, void *, ov, a0, long *, ol, a1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define inet_addr(c) \
	LP1(0xb4, unsigned long, inet_addr, const unsigned char *, c, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define inet_network(c) \
	LP1(0xcc, unsigned long, inet_network, const unsigned char *, c, a0, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define listen(s, b) \
	LP2(0x2a, long, listen, long, s, d0, long, b, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define recv(s, b, l, f) \
	LP4(0x4e, long, recv, long, s, d0, unsigned char *, b, a0, long, l, d1, long, f, d2, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define recvfrom(s, b, l, f, fr, frl) \
	LP6(0x48, long, recvfrom, long, s, d0, unsigned char *, b, a0, long, l, d1, long, f, d2, struct sockaddr *, fr, a1, long *, frl, a2, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define recvmsg(s, m, f) \
	LP3(0x114, long, recvmsg, long, s, d0, struct msghdr *, m, a0, long, f, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define send(s, m, l, f) \
	LP4(0x42, long, send, long, s, d0, const unsigned char *, m, a0, long, l, d1, long, f, d2, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define sendmsg(s, m, f) \
	LP3(0x10e, long, sendmsg, long, s, d0, struct msghdr *, m, a0, long, f, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define sendto(s, m, l, f, t, tl) \
	LP6(0x3c, long, sendto, long, s, d0, const unsigned char *, m, a0, long, l, d1, long, f, d2, const struct sockaddr *, t, a1, long, tl, d3, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define setsockopt(s, l, o, ov, ol) \
	LP5(0x5a, long, setsockopt, long, s, d0, long, l, d1, long, o, d2, const void *, ov, a0, long, ol, d3, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define shutdown(s, h) \
	LP2(0x54, long, shutdown, long, s, d0, long, h, d1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define socket(d, t, p) \
	LP3(0x1e, long, socket, long, d, d0, long, t, d1, long, p, d2, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#define vsyslog(l, f, a) \
	LP3NR(0x102, vsyslog, unsigned long, l, d0, const char *, f, a0, long *, a, a1, \
	, SOCKET_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)

#endif /* !_PPCINLINE_SOCKET_H */
