#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <sched.h>
#include <linux/sched.h>

int main(int argc, char **argv)
{
	printf("SCHED_FIFO = %d - %d\n", sched_get_priority_min(SCHED_FIFO), sched_get_priority_max(SCHED_FIFO));
	printf("SCHED_RR = %d - %d\n", sched_get_priority_min(SCHED_RR), sched_get_priority_max(SCHED_RR));
	printf("SCHED_OTHER = %d - %d\n", sched_get_priority_min(SCHED_OTHER), sched_get_priority_max(SCHED_OTHER));

	/*
	 * SCHED_BATCH, SCHED_IDLE を利用するには _GNU_SOURCE の定義が必要
	 */

	printf("SCHED_BATCH = %d - %d\n", sched_get_priority_min(SCHED_BATCH), sched_get_priority_max(SCHED_BATCH));
	printf("SCHED_IDLE = %d - %d\n", sched_get_priority_min(SCHED_IDLE), sched_get_priority_max(SCHED_IDLE));

	/*
	 * SCHED_DEADLINE は Kernel 3.14以降 で利用可能
	 * <linux/sched.h> のインクルードが必要
	 */

	printf("SCHED_DEADLINE = %d - %d\n", sched_get_priority_min(SCHED_DEADLINE), sched_get_priority_max(SCHED_DEADLINE));

	return 0;
}
