/* Generated by ./xlat/gen.sh from ./xlat/ip_cmsg_types.in; do not edit. */
#if !(defined(IP_TOS) || (defined(HAVE_DECL_IP_TOS) && HAVE_DECL_IP_TOS))
# define IP_TOS 1
#endif
#if !(defined(IP_TTL) || (defined(HAVE_DECL_IP_TTL) && HAVE_DECL_IP_TTL))
# define IP_TTL 2
#endif
#if !(defined(IP_RECVOPTS) || (defined(HAVE_DECL_IP_RECVOPTS) && HAVE_DECL_IP_RECVOPTS))
# define IP_RECVOPTS 6
#endif
#if !(defined(IP_RETOPTS) || (defined(HAVE_DECL_IP_RETOPTS) && HAVE_DECL_IP_RETOPTS))
# define IP_RETOPTS 7
#endif
#if !(defined(IP_PKTINFO) || (defined(HAVE_DECL_IP_PKTINFO) && HAVE_DECL_IP_PKTINFO))
# define IP_PKTINFO 8
#endif
#if !(defined(IP_RECVERR) || (defined(HAVE_DECL_IP_RECVERR) && HAVE_DECL_IP_RECVERR))
# define IP_RECVERR 11
#endif
#if !(defined(IP_ORIGDSTADDR) || (defined(HAVE_DECL_IP_ORIGDSTADDR) && HAVE_DECL_IP_ORIGDSTADDR))
# define IP_ORIGDSTADDR 20
#endif
#if !(defined(IP_CHECKSUM) || (defined(HAVE_DECL_IP_CHECKSUM) && HAVE_DECL_IP_CHECKSUM))
# define IP_CHECKSUM 23
#endif

#ifdef IN_MPERS

# error static const struct xlat ip_cmsg_types in mpers mode

#else

static
const struct xlat ip_cmsg_types[] = {
 XLAT(IP_TOS),
 XLAT(IP_TTL),
 XLAT(IP_RECVOPTS),
 XLAT(IP_RETOPTS),
 XLAT(IP_PKTINFO),
 XLAT(IP_RECVERR),
 XLAT(IP_ORIGDSTADDR),
 XLAT(IP_CHECKSUM),
#if defined(SCM_SECURITY) || (defined(HAVE_DECL_SCM_SECURITY) && HAVE_DECL_SCM_SECURITY)
  XLAT(SCM_SECURITY),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
