/* Generated by ./xlat/gen.sh from ./xlat/getsock_ipv6_options.in; do not edit. */

#include "gcc_compat.h"
#include "static_assert.h"


#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat getsock_ipv6_options in mpers mode

# else

static
const struct xlat getsock_ipv6_options[] = {
/*
* Options specific to getsockopt(SOL_IPV6).
* Common {g,s}etsockopt(SOL_IPV6) options
* should be in sock_ipv6_options.in instead.
*/

#if defined(IP6T_SO_GET_INFO) || (defined(HAVE_DECL_IP6T_SO_GET_INFO) && HAVE_DECL_IP6T_SO_GET_INFO)
  XLAT(IP6T_SO_GET_INFO),
#endif
#if defined(IP6T_SO_GET_ENTRIES) || (defined(HAVE_DECL_IP6T_SO_GET_ENTRIES) && HAVE_DECL_IP6T_SO_GET_ENTRIES)
  XLAT(IP6T_SO_GET_ENTRIES),
#endif
#if defined(IP6T_SO_GET_REVISION_MATCH) || (defined(HAVE_DECL_IP6T_SO_GET_REVISION_MATCH) && HAVE_DECL_IP6T_SO_GET_REVISION_MATCH)
  XLAT(IP6T_SO_GET_REVISION_MATCH),
#endif
#if defined(IP6T_SO_GET_REVISION_TARGET) || (defined(HAVE_DECL_IP6T_SO_GET_REVISION_TARGET) && HAVE_DECL_IP6T_SO_GET_REVISION_TARGET)
  XLAT(IP6T_SO_GET_REVISION_TARGET),
#endif
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
