/* Generated by ./xlat/gen.sh from ./xlat/statx_attrs.in; do not edit. */
#if !(defined(STATX_ATTR_COMPRESSED) || (defined(HAVE_DECL_STATX_ATTR_COMPRESSED) && HAVE_DECL_STATX_ATTR_COMPRESSED))
# define STATX_ATTR_COMPRESSED 0x00000004
#endif
#if !(defined(STATX_ATTR_IMMUTABLE) || (defined(HAVE_DECL_STATX_ATTR_IMMUTABLE) && HAVE_DECL_STATX_ATTR_IMMUTABLE))
# define STATX_ATTR_IMMUTABLE 0x00000010
#endif
#if !(defined(STATX_ATTR_APPEND) || (defined(HAVE_DECL_STATX_ATTR_APPEND) && HAVE_DECL_STATX_ATTR_APPEND))
# define STATX_ATTR_APPEND 0x00000020
#endif
#if !(defined(STATX_ATTR_NODUMP) || (defined(HAVE_DECL_STATX_ATTR_NODUMP) && HAVE_DECL_STATX_ATTR_NODUMP))
# define STATX_ATTR_NODUMP 0x00000040
#endif
#if !(defined(STATX_ATTR_ENCRYPTED) || (defined(HAVE_DECL_STATX_ATTR_ENCRYPTED) && HAVE_DECL_STATX_ATTR_ENCRYPTED))
# define STATX_ATTR_ENCRYPTED 0x00000800
#endif
#if !(defined(STATX_ATTR_AUTOMOUNT) || (defined(HAVE_DECL_STATX_ATTR_AUTOMOUNT) && HAVE_DECL_STATX_ATTR_AUTOMOUNT))
# define STATX_ATTR_AUTOMOUNT 0x00001000
#endif

#ifdef IN_MPERS

# error static const struct xlat statx_attrs in mpers mode

#else

static
const struct xlat statx_attrs[] = {
 XLAT(STATX_ATTR_COMPRESSED),
 XLAT(STATX_ATTR_IMMUTABLE),
 XLAT(STATX_ATTR_APPEND),
 XLAT(STATX_ATTR_NODUMP),
 XLAT(STATX_ATTR_ENCRYPTED),
 XLAT(STATX_ATTR_AUTOMOUNT),
 XLAT_END
};

#endif /* !IN_MPERS */
