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

#ifdef IN_MPERS

# error static const struct xlat shm_resource_flags in mpers mode

#else

static
const struct xlat shm_resource_flags[] = {
#if defined(IPC_CREAT) || (defined(HAVE_DECL_IPC_CREAT) && HAVE_DECL_IPC_CREAT)
  XLAT(IPC_CREAT),
#endif
#if defined(IPC_EXCL) || (defined(HAVE_DECL_IPC_EXCL) && HAVE_DECL_IPC_EXCL)
  XLAT(IPC_EXCL),
#endif
#if defined(SHM_HUGETLB) || (defined(HAVE_DECL_SHM_HUGETLB) && HAVE_DECL_SHM_HUGETLB)
  XLAT(SHM_HUGETLB),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
