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

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

#if defined(XATTR_CREATE) || (defined(HAVE_DECL_XATTR_CREATE) && HAVE_DECL_XATTR_CREATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XATTR_CREATE) == (1), "XATTR_CREATE != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XATTR_CREATE 1
#endif
#if defined(XATTR_REPLACE) || (defined(HAVE_DECL_XATTR_REPLACE) && HAVE_DECL_XATTR_REPLACE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XATTR_REPLACE) == (2), "XATTR_REPLACE != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XATTR_REPLACE 2
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat xattrflags in mpers mode

# else

static
const struct xlat xattrflags[] = {
 XLAT(XATTR_CREATE),
 XLAT(XATTR_REPLACE),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
