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

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

#if defined(PNPIPE_ENCAP) || (defined(HAVE_DECL_PNPIPE_ENCAP) && HAVE_DECL_PNPIPE_ENCAP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PNPIPE_ENCAP) == (1), "PNPIPE_ENCAP != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PNPIPE_ENCAP 1
#endif
#if defined(PNPIPE_IFINDEX) || (defined(HAVE_DECL_PNPIPE_IFINDEX) && HAVE_DECL_PNPIPE_IFINDEX)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PNPIPE_IFINDEX) == (2), "PNPIPE_IFINDEX != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PNPIPE_IFINDEX 2
#endif
#if defined(PNPIPE_HANDLE) || (defined(HAVE_DECL_PNPIPE_HANDLE) && HAVE_DECL_PNPIPE_HANDLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PNPIPE_HANDLE) == (3), "PNPIPE_HANDLE != 3");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PNPIPE_HANDLE 3
#endif
#if defined(PNPIPE_INITSTATE) || (defined(HAVE_DECL_PNPIPE_INITSTATE) && HAVE_DECL_PNPIPE_INITSTATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PNPIPE_INITSTATE) == (4), "PNPIPE_INITSTATE != 4");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PNPIPE_INITSTATE 4
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat sock_pnp_options in mpers mode

# else

static
const struct xlat sock_pnp_options[] = {
 XLAT(PNPIPE_ENCAP),
 XLAT(PNPIPE_IFINDEX),
 XLAT(PNPIPE_HANDLE),
 XLAT(PNPIPE_INITSTATE),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
