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

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

#if defined(IFF_TUN) || (defined(HAVE_DECL_IFF_TUN) && HAVE_DECL_IFF_TUN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IFF_TUN) == (1), "IFF_TUN != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IFF_TUN 1
#endif
#if defined(IFF_TAP) || (defined(HAVE_DECL_IFF_TAP) && HAVE_DECL_IFF_TAP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IFF_TAP) == (2), "IFF_TAP != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IFF_TAP 2
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat tun_device_types in mpers mode

# else

static
const struct xlat tun_device_types[] = {
 [IFF_TUN] = XLAT(IFF_TUN),
 [IFF_TAP] = XLAT(IFF_TAP),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
