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

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

#if defined(SKF_AD_OFF) || (defined(HAVE_DECL_SKF_AD_OFF) && HAVE_DECL_SKF_AD_OFF)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SKF_AD_OFF) == (-0x1000), "SKF_AD_OFF != -0x1000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SKF_AD_OFF -0x1000
#endif
#if defined(SKF_NET_OFF) || (defined(HAVE_DECL_SKF_NET_OFF) && HAVE_DECL_SKF_NET_OFF)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SKF_NET_OFF) == (-0x100000), "SKF_NET_OFF != -0x100000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SKF_NET_OFF -0x100000
#endif
#if defined(SKF_LL_OFF) || (defined(HAVE_DECL_SKF_LL_OFF) && HAVE_DECL_SKF_LL_OFF)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SKF_LL_OFF) == (-0x200000), "SKF_LL_OFF != -0x200000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SKF_LL_OFF -0x200000
#endif
