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

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

#if defined(KCM_RECV_DISABLE) || (defined(HAVE_DECL_KCM_RECV_DISABLE) && HAVE_DECL_KCM_RECV_DISABLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KCM_RECV_DISABLE) == (1), "KCM_RECV_DISABLE != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KCM_RECV_DISABLE 1
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat sock_kcm_options in mpers mode

# else

static
const struct xlat sock_kcm_options[] = {
 XLAT(KCM_RECV_DISABLE),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
