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

static const struct xlat clone_flags[] = {
#if defined(CLONE_VM) || (defined(HAVE_DECL_CLONE_VM) && HAVE_DECL_CLONE_VM)
 XLAT(CLONE_VM),
#endif
#if defined(CLONE_FS) || (defined(HAVE_DECL_CLONE_FS) && HAVE_DECL_CLONE_FS)
 XLAT(CLONE_FS),
#endif
#if defined(CLONE_FILES) || (defined(HAVE_DECL_CLONE_FILES) && HAVE_DECL_CLONE_FILES)
 XLAT(CLONE_FILES),
#endif
#if defined(CLONE_SIGHAND) || (defined(HAVE_DECL_CLONE_SIGHAND) && HAVE_DECL_CLONE_SIGHAND)
 XLAT(CLONE_SIGHAND),
#endif
#if defined(CLONE_IDLETASK) || (defined(HAVE_DECL_CLONE_IDLETASK) && HAVE_DECL_CLONE_IDLETASK)
 XLAT(CLONE_IDLETASK),
#endif
#if defined(CLONE_PTRACE) || (defined(HAVE_DECL_CLONE_PTRACE) && HAVE_DECL_CLONE_PTRACE)
 XLAT(CLONE_PTRACE),
#endif
#if defined(CLONE_VFORK) || (defined(HAVE_DECL_CLONE_VFORK) && HAVE_DECL_CLONE_VFORK)
 XLAT(CLONE_VFORK),
#endif
#if defined(CLONE_PARENT) || (defined(HAVE_DECL_CLONE_PARENT) && HAVE_DECL_CLONE_PARENT)
 XLAT(CLONE_PARENT),
#endif
#if defined(CLONE_THREAD) || (defined(HAVE_DECL_CLONE_THREAD) && HAVE_DECL_CLONE_THREAD)
 XLAT(CLONE_THREAD),
#endif
#if defined(CLONE_NEWNS) || (defined(HAVE_DECL_CLONE_NEWNS) && HAVE_DECL_CLONE_NEWNS)
 XLAT(CLONE_NEWNS),
#endif
#if defined(CLONE_SYSVSEM) || (defined(HAVE_DECL_CLONE_SYSVSEM) && HAVE_DECL_CLONE_SYSVSEM)
 XLAT(CLONE_SYSVSEM),
#endif
#if defined(CLONE_SETTLS) || (defined(HAVE_DECL_CLONE_SETTLS) && HAVE_DECL_CLONE_SETTLS)
 XLAT(CLONE_SETTLS),
#endif
#if defined(CLONE_PARENT_SETTID) || (defined(HAVE_DECL_CLONE_PARENT_SETTID) && HAVE_DECL_CLONE_PARENT_SETTID)
 XLAT(CLONE_PARENT_SETTID),
#endif
#if defined(CLONE_CHILD_CLEARTID) || (defined(HAVE_DECL_CLONE_CHILD_CLEARTID) && HAVE_DECL_CLONE_CHILD_CLEARTID)
 XLAT(CLONE_CHILD_CLEARTID),
#endif
#if defined(CLONE_UNTRACED) || (defined(HAVE_DECL_CLONE_UNTRACED) && HAVE_DECL_CLONE_UNTRACED)
 XLAT(CLONE_UNTRACED),
#endif
#if defined(CLONE_CHILD_SETTID) || (defined(HAVE_DECL_CLONE_CHILD_SETTID) && HAVE_DECL_CLONE_CHILD_SETTID)
 XLAT(CLONE_CHILD_SETTID),
#endif
#if defined(CLONE_STOPPED) || (defined(HAVE_DECL_CLONE_STOPPED) && HAVE_DECL_CLONE_STOPPED)
 XLAT(CLONE_STOPPED),
#endif
#if defined(CLONE_NEWUTS) || (defined(HAVE_DECL_CLONE_NEWUTS) && HAVE_DECL_CLONE_NEWUTS)
 XLAT(CLONE_NEWUTS),
#endif
#if defined(CLONE_NEWIPC) || (defined(HAVE_DECL_CLONE_NEWIPC) && HAVE_DECL_CLONE_NEWIPC)
 XLAT(CLONE_NEWIPC),
#endif
#if defined(CLONE_NEWUSER) || (defined(HAVE_DECL_CLONE_NEWUSER) && HAVE_DECL_CLONE_NEWUSER)
 XLAT(CLONE_NEWUSER),
#endif
#if defined(CLONE_NEWPID) || (defined(HAVE_DECL_CLONE_NEWPID) && HAVE_DECL_CLONE_NEWPID)
 XLAT(CLONE_NEWPID),
#endif
#if defined(CLONE_NEWNET) || (defined(HAVE_DECL_CLONE_NEWNET) && HAVE_DECL_CLONE_NEWNET)
 XLAT(CLONE_NEWNET),
#endif
#if defined(CLONE_IO) || (defined(HAVE_DECL_CLONE_IO) && HAVE_DECL_CLONE_IO)
 XLAT(CLONE_IO),
#endif
 XLAT_END
};
