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

static const struct xlat schedulers[] = {
#if defined(SCHED_OTHER) || (defined(HAVE_DECL_SCHED_OTHER) && HAVE_DECL_SCHED_OTHER)
	XLAT(SCHED_OTHER),
#endif
#if defined(SCHED_RR) || (defined(HAVE_DECL_SCHED_RR) && HAVE_DECL_SCHED_RR)
	XLAT(SCHED_RR),
#endif
#if defined(SCHED_FIFO) || (defined(HAVE_DECL_SCHED_FIFO) && HAVE_DECL_SCHED_FIFO)
	XLAT(SCHED_FIFO),
#endif
	XLAT_END
};
