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

#ifdef IN_MPERS

extern const struct xlat shmctl_flags[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat shmctl_flags[] = {
#if defined(IPC_RMID) || (defined(HAVE_DECL_IPC_RMID) && HAVE_DECL_IPC_RMID)
  XLAT(IPC_RMID),
#endif
#if defined(IPC_SET) || (defined(HAVE_DECL_IPC_SET) && HAVE_DECL_IPC_SET)
  XLAT(IPC_SET),
#endif
#if defined(IPC_STAT) || (defined(HAVE_DECL_IPC_STAT) && HAVE_DECL_IPC_STAT)
  XLAT(IPC_STAT),
#endif
#if defined(IPC_INFO) || (defined(HAVE_DECL_IPC_INFO) && HAVE_DECL_IPC_INFO)
  XLAT(IPC_INFO),
#endif
#if defined(SHM_LOCK) || (defined(HAVE_DECL_SHM_LOCK) && HAVE_DECL_SHM_LOCK)
  XLAT(SHM_LOCK),
#endif
#if defined(SHM_UNLOCK) || (defined(HAVE_DECL_SHM_UNLOCK) && HAVE_DECL_SHM_UNLOCK)
  XLAT(SHM_UNLOCK),
#endif
#if defined(SHM_STAT) || (defined(HAVE_DECL_SHM_STAT) && HAVE_DECL_SHM_STAT)
  XLAT(SHM_STAT),
#endif
#if defined(SHM_INFO) || (defined(HAVE_DECL_SHM_INFO) && HAVE_DECL_SHM_INFO)
  XLAT(SHM_INFO),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
