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

static 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_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
#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
	XLAT_END
};
