#include #include "options.h" #define T(t) (t*)0; #define F(t,n) {t *y = &x.n;} #define C(n) switch(n){case n:;} static void f() { T(struct timespec) { struct sched_param x; F(int,sched_priority) #if defined(POSIX_SPORADIC_SERVER) || defined(POSIX_THREAD_SPORADIC_SERVER) F(int,sched_ss_low_priority) F(struct timespec,sched_ss_repl_period) F(struct timespec,sched_ss_init_budget) F(int,sched_ss_max_repl) T(time_t) C(SCHED_SPORADIC) #endif } #ifdef POSIX_PRIORITY_SCHEDULING T(pid_t) {int(*p)(pid_t,struct sched_param*) = sched_getparam;} {int(*p)(pid_t) = sched_getscheduler;} {int(*p)(pid_t,const struct sched_param*) = sched_setparam;} {int(*p)(pid_t,int,const struct sched_param*) = sched_setscheduler;} #endif C(SCHED_FIFO) C(SCHED_RR) C(SCHED_OTHER) {int(*p)(int) = sched_get_priority_max;} {int(*p)(int) = sched_get_priority_min;} {int(*p)(pid_t,struct timespec*) = sched_rr_get_interval;} {int(*p)(void) = sched_yield;} }