/* Generated by ./xlat/gen.sh from ./xlat/socketlayers.in; do not edit. */
#if !(defined(SOL_IP) || (defined(HAVE_DECL_SOL_IP) && HAVE_DECL_SOL_IP))
# define SOL_IP 0
#endif
#if !(defined(SOL_SOCKET) || (defined(HAVE_DECL_SOL_SOCKET) && HAVE_DECL_SOL_SOCKET))
# define SOL_SOCKET 1
#endif
#if !(defined(SOL_TCP) || (defined(HAVE_DECL_SOL_TCP) && HAVE_DECL_SOL_TCP))
# define SOL_TCP 6
#endif
#if !(defined(SOL_UDP) || (defined(HAVE_DECL_SOL_UDP) && HAVE_DECL_SOL_UDP))
# define SOL_UDP 17
#endif
#if !(defined(SOL_IPV6) || (defined(HAVE_DECL_SOL_IPV6) && HAVE_DECL_SOL_IPV6))
# define SOL_IPV6 41
#endif
#if !(defined(SOL_ICMPV6) || (defined(HAVE_DECL_SOL_ICMPV6) && HAVE_DECL_SOL_ICMPV6))
# define SOL_ICMPV6 58
#endif
#if !(defined(SOL_SCTP) || (defined(HAVE_DECL_SOL_SCTP) && HAVE_DECL_SOL_SCTP))
# define SOL_SCTP 132
#endif
#if !(defined(SOL_UDPLITE) || (defined(HAVE_DECL_SOL_UDPLITE) && HAVE_DECL_SOL_UDPLITE))
# define SOL_UDPLITE 136
#endif
#if !(defined(SOL_RAW) || (defined(HAVE_DECL_SOL_RAW) && HAVE_DECL_SOL_RAW))
# define SOL_RAW 255
#endif
#if !(defined(SOL_IPX) || (defined(HAVE_DECL_SOL_IPX) && HAVE_DECL_SOL_IPX))
# define SOL_IPX 256
#endif
#if !(defined(SOL_AX25) || (defined(HAVE_DECL_SOL_AX25) && HAVE_DECL_SOL_AX25))
# define SOL_AX25 257
#endif
#if !(defined(SOL_ATALK) || (defined(HAVE_DECL_SOL_ATALK) && HAVE_DECL_SOL_ATALK))
# define SOL_ATALK 258
#endif
#if !(defined(SOL_NETROM) || (defined(HAVE_DECL_SOL_NETROM) && HAVE_DECL_SOL_NETROM))
# define SOL_NETROM 259
#endif
#if !(defined(SOL_ROSE) || (defined(HAVE_DECL_SOL_ROSE) && HAVE_DECL_SOL_ROSE))
# define SOL_ROSE 260
#endif
#if !(defined(SOL_DECNET) || (defined(HAVE_DECL_SOL_DECNET) && HAVE_DECL_SOL_DECNET))
# define SOL_DECNET 261
#endif
#if !(defined(SOL_X25) || (defined(HAVE_DECL_SOL_X25) && HAVE_DECL_SOL_X25))
# define SOL_X25 262
#endif
#if !(defined(SOL_PACKET) || (defined(HAVE_DECL_SOL_PACKET) && HAVE_DECL_SOL_PACKET))
# define SOL_PACKET 263
#endif
#if !(defined(SOL_ATM) || (defined(HAVE_DECL_SOL_ATM) && HAVE_DECL_SOL_ATM))
# define SOL_ATM 264
#endif
#if !(defined(SOL_AAL) || (defined(HAVE_DECL_SOL_AAL) && HAVE_DECL_SOL_AAL))
# define SOL_AAL 265
#endif
#if !(defined(SOL_IRDA) || (defined(HAVE_DECL_SOL_IRDA) && HAVE_DECL_SOL_IRDA))
# define SOL_IRDA 266
#endif
#if !(defined(SOL_NETBEUI) || (defined(HAVE_DECL_SOL_NETBEUI) && HAVE_DECL_SOL_NETBEUI))
# define SOL_NETBEUI 267
#endif
#if !(defined(SOL_LLC) || (defined(HAVE_DECL_SOL_LLC) && HAVE_DECL_SOL_LLC))
# define SOL_LLC 268
#endif
#if !(defined(SOL_DCCP) || (defined(HAVE_DECL_SOL_DCCP) && HAVE_DECL_SOL_DCCP))
# define SOL_DCCP 269
#endif
#if !(defined(SOL_NETLINK) || (defined(HAVE_DECL_SOL_NETLINK) && HAVE_DECL_SOL_NETLINK))
# define SOL_NETLINK 270
#endif
#if !(defined(SOL_TIPC) || (defined(HAVE_DECL_SOL_TIPC) && HAVE_DECL_SOL_TIPC))
# define SOL_TIPC 271
#endif
#if !(defined(SOL_RXRPC) || (defined(HAVE_DECL_SOL_RXRPC) && HAVE_DECL_SOL_RXRPC))
# define SOL_RXRPC 272
#endif
#if !(defined(SOL_PPPOL2TP) || (defined(HAVE_DECL_SOL_PPPOL2TP) && HAVE_DECL_SOL_PPPOL2TP))
# define SOL_PPPOL2TP 273
#endif
#if !(defined(SOL_BLUETOOTH) || (defined(HAVE_DECL_SOL_BLUETOOTH) && HAVE_DECL_SOL_BLUETOOTH))
# define SOL_BLUETOOTH 274
#endif
#if !(defined(SOL_PNPIPE) || (defined(HAVE_DECL_SOL_PNPIPE) && HAVE_DECL_SOL_PNPIPE))
# define SOL_PNPIPE 275
#endif
#if !(defined(SOL_RDS) || (defined(HAVE_DECL_SOL_RDS) && HAVE_DECL_SOL_RDS))
# define SOL_RDS 276
#endif
#if !(defined(SOL_IUCV) || (defined(HAVE_DECL_SOL_IUCV) && HAVE_DECL_SOL_IUCV))
# define SOL_IUCV 277
#endif
#if !(defined(SOL_CAIF) || (defined(HAVE_DECL_SOL_CAIF) && HAVE_DECL_SOL_CAIF))
# define SOL_CAIF 278
#endif
#if !(defined(SOL_ALG) || (defined(HAVE_DECL_SOL_ALG) && HAVE_DECL_SOL_ALG))
# define SOL_ALG 279
#endif
#if !(defined(SOL_NFC) || (defined(HAVE_DECL_SOL_NFC) && HAVE_DECL_SOL_NFC))
# define SOL_NFC 280
#endif

#ifdef IN_MPERS

# error static const struct xlat socketlayers in mpers mode

#else

static
const struct xlat socketlayers[] = {
 XLAT(SOL_IP),
 XLAT(SOL_SOCKET),
 XLAT(SOL_TCP),
 XLAT(SOL_UDP),
 XLAT(SOL_IPV6),
 XLAT(SOL_ICMPV6),
 XLAT(SOL_SCTP),
 XLAT(SOL_UDPLITE),
 XLAT(SOL_RAW),
 XLAT(SOL_IPX),
 XLAT(SOL_AX25),
 XLAT(SOL_ATALK),
 XLAT(SOL_NETROM),
 XLAT(SOL_ROSE),
 XLAT(SOL_DECNET),
 XLAT(SOL_X25),
 XLAT(SOL_PACKET),
 XLAT(SOL_ATM),
 XLAT(SOL_AAL),
 XLAT(SOL_IRDA),
 XLAT(SOL_NETBEUI),
 XLAT(SOL_LLC),
 XLAT(SOL_DCCP),
 XLAT(SOL_NETLINK),
 XLAT(SOL_TIPC),
 XLAT(SOL_RXRPC),
 XLAT(SOL_PPPOL2TP),
 XLAT(SOL_BLUETOOTH),
 XLAT(SOL_PNPIPE),
 XLAT(SOL_RDS),
 XLAT(SOL_IUCV),
 XLAT(SOL_CAIF),
 XLAT(SOL_ALG),
 XLAT(SOL_NFC),
 XLAT_END
};

#endif /* !IN_MPERS */
