/* Generated by ./xlat/gen.sh from ./xlat/socketcalls.in; do not edit. */
#if !(defined(SYS_SOCKET) || (defined(HAVE_DECL_SYS_SOCKET) && HAVE_DECL_SYS_SOCKET))
# define SYS_SOCKET 1
#endif
#if !(defined(SYS_BIND) || (defined(HAVE_DECL_SYS_BIND) && HAVE_DECL_SYS_BIND))
# define SYS_BIND 2
#endif
#if !(defined(SYS_CONNECT) || (defined(HAVE_DECL_SYS_CONNECT) && HAVE_DECL_SYS_CONNECT))
# define SYS_CONNECT 3
#endif
#if !(defined(SYS_LISTEN) || (defined(HAVE_DECL_SYS_LISTEN) && HAVE_DECL_SYS_LISTEN))
# define SYS_LISTEN 4
#endif
#if !(defined(SYS_ACCEPT) || (defined(HAVE_DECL_SYS_ACCEPT) && HAVE_DECL_SYS_ACCEPT))
# define SYS_ACCEPT 5
#endif
#if !(defined(SYS_GETSOCKNAME) || (defined(HAVE_DECL_SYS_GETSOCKNAME) && HAVE_DECL_SYS_GETSOCKNAME))
# define SYS_GETSOCKNAME 6
#endif
#if !(defined(SYS_GETPEERNAME) || (defined(HAVE_DECL_SYS_GETPEERNAME) && HAVE_DECL_SYS_GETPEERNAME))
# define SYS_GETPEERNAME 7
#endif
#if !(defined(SYS_SOCKETPAIR) || (defined(HAVE_DECL_SYS_SOCKETPAIR) && HAVE_DECL_SYS_SOCKETPAIR))
# define SYS_SOCKETPAIR 8
#endif
#if !(defined(SYS_SEND) || (defined(HAVE_DECL_SYS_SEND) && HAVE_DECL_SYS_SEND))
# define SYS_SEND 9
#endif
#if !(defined(SYS_RECV) || (defined(HAVE_DECL_SYS_RECV) && HAVE_DECL_SYS_RECV))
# define SYS_RECV 10
#endif
#if !(defined(SYS_SENDTO) || (defined(HAVE_DECL_SYS_SENDTO) && HAVE_DECL_SYS_SENDTO))
# define SYS_SENDTO 11
#endif
#if !(defined(SYS_RECVFROM) || (defined(HAVE_DECL_SYS_RECVFROM) && HAVE_DECL_SYS_RECVFROM))
# define SYS_RECVFROM 12
#endif
#if !(defined(SYS_SHUTDOWN) || (defined(HAVE_DECL_SYS_SHUTDOWN) && HAVE_DECL_SYS_SHUTDOWN))
# define SYS_SHUTDOWN 13
#endif
#if !(defined(SYS_SETSOCKOPT) || (defined(HAVE_DECL_SYS_SETSOCKOPT) && HAVE_DECL_SYS_SETSOCKOPT))
# define SYS_SETSOCKOPT 14
#endif
#if !(defined(SYS_GETSOCKOPT) || (defined(HAVE_DECL_SYS_GETSOCKOPT) && HAVE_DECL_SYS_GETSOCKOPT))
# define SYS_GETSOCKOPT 15
#endif
#if !(defined(SYS_SENDMSG) || (defined(HAVE_DECL_SYS_SENDMSG) && HAVE_DECL_SYS_SENDMSG))
# define SYS_SENDMSG 16
#endif
#if !(defined(SYS_RECVMSG) || (defined(HAVE_DECL_SYS_RECVMSG) && HAVE_DECL_SYS_RECVMSG))
# define SYS_RECVMSG 17
#endif
#if !(defined(SYS_ACCEPT4) || (defined(HAVE_DECL_SYS_ACCEPT4) && HAVE_DECL_SYS_ACCEPT4))
# define SYS_ACCEPT4 18
#endif
#if !(defined(SYS_RECVMMSG) || (defined(HAVE_DECL_SYS_RECVMMSG) && HAVE_DECL_SYS_RECVMMSG))
# define SYS_RECVMMSG 19
#endif
#if !(defined(SYS_SENDMMSG) || (defined(HAVE_DECL_SYS_SENDMMSG) && HAVE_DECL_SYS_SENDMMSG))
# define SYS_SENDMMSG 20
#endif

#ifdef IN_MPERS

# error static const struct xlat socketcalls in mpers mode

#else

static
const struct xlat socketcalls[] = {
 XLAT(SYS_SOCKET),
 XLAT(SYS_BIND),
 XLAT(SYS_CONNECT),
 XLAT(SYS_LISTEN),
 XLAT(SYS_ACCEPT),
 XLAT(SYS_GETSOCKNAME),
 XLAT(SYS_GETPEERNAME),
 XLAT(SYS_SOCKETPAIR),
 XLAT(SYS_SEND),
 XLAT(SYS_RECV),
 XLAT(SYS_SENDTO),
 XLAT(SYS_RECVFROM),
 XLAT(SYS_SHUTDOWN),
 XLAT(SYS_SETSOCKOPT),
 XLAT(SYS_GETSOCKOPT),
 XLAT(SYS_SENDMSG),
 XLAT(SYS_RECVMSG),
 XLAT(SYS_ACCEPT4),
 XLAT(SYS_RECVMMSG),
 XLAT(SYS_SENDMMSG),
 XLAT_END
};

#endif /* !IN_MPERS */
