|
nsz |
056b01 |
#include <sched.h>
|
|
nsz |
056b01 |
#define T(t) (t*)0;
|
|
nsz |
056b01 |
#define F(t,n) {t *y = &x.;;}
|
|
nsz |
056b01 |
#define C(n) switch(n){case n:;}
|
|
nsz |
056b01 |
static void f()
|
|
nsz |
056b01 |
{
|
|
nsz |
3c60f4 |
#ifdef X_PS
|
|
nsz |
056b01 |
T(pid_t)
|
|
nsz |
3c60f4 |
#endif
|
|
nsz |
056b01 |
T(time_t)
|
|
nsz |
056b01 |
T(struct timespec)
|
|
nsz |
056b01 |
{
|
|
nsz |
056b01 |
struct sched_param x;
|
|
nsz |
056b01 |
F(int,sched_priority)
|
|
nsz |
056b01 |
F(int,sched_ss_low_priority)
|
|
nsz |
056b01 |
F(struct timespec,sched_ss_repl_period)
|
|
nsz |
056b01 |
F(struct timespec,sched_ss_init_budget)
|
|
nsz |
056b01 |
F(int,sched_ss_max_repl)
|
|
nsz |
056b01 |
}
|
|
nsz |
3c60f4 |
|
|
nsz |
3c60f4 |
C(SCHED_SPORADIC)
|
|
nsz |
3c60f4 |
{int(*p)(void) = sched_yield;}
|
|
nsz |
3c60f4 |
|
|
nsz |
3c60f4 |
#if defined(X_PS) || defined(X_TPS)
|
|
nsz |
056b01 |
C(SCHED_FIFO)
|
|
nsz |
056b01 |
C(SCHED_RR)
|
|
nsz |
056b01 |
C(SCHED_OTHER)
|
|
nsz |
0ef264 |
{int(*p)(int) = sched_get_priority_max;}
|
|
nsz |
0ef264 |
{int(*p)(int) = sched_get_priority_min;}
|
|
nsz |
3c60f4 |
{int(*p)(pid_t,struct timespec*) = sched_rr_get_interval;}
|
|
nsz |
3c60f4 |
#endif
|
|
nsz |
3c60f4 |
|
|
nsz |
3c60f4 |
#ifdef X_PS
|
|
nsz |
0ef264 |
{int(*p)(pid_t,struct sched_param*) = sched_getparam;}
|
|
nsz |
0ef264 |
{int(*p)(pid_t) = sched_getscheduler;}
|
|
nsz |
0ef264 |
{int(*p)(pid_t,const struct sched_param*) = sched_setparam;}
|
|
nsz |
0ef264 |
{int(*p)(pid_t,int,const struct sched_param*) = sched_setscheduler;}
|
|
nsz |
3c60f4 |
#endif
|
|
nsz |
056b01 |
}
|