2 * D header file for POSIX.
4 * Copyright: Public Domain
5 * License: Public Domain
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
9 module core.sys.posix.sched;
11 private import core.sys.posix.config;
12 public import core.sys.posix.time;
13 public import core.sys.posix.sys.types;
23 int sched_priority (THR)
24 int sched_ss_low_priority (SS|TSP)
25 struct timespec sched_ss_repl_period (SS|TSP)
26 struct timespec sched_ss_init_budget (SS|TSP)
27 int sched_ss_max_repl (SS|TSP)
32 SCHED_SPORADIC (SS|TSP)
35 int sched_getparam(pid_t, sched_param*);
36 int sched_getscheduler(pid_t);
37 int sched_setparam(pid_t, in sched_param*);
38 int sched_setscheduler(pid_t, int, in sched_param*);
48 const SCHED_OTHER = 0;
51 //SCHED_SPORADIC (SS|TSP)
53 else version( darwin )
55 const SCHED_OTHER = 1;
58 // SCHED_SPORADIC seems to be unavailable
60 private const __SCHED_PARAM_SIZE__ = 4;
65 byte[__SCHED_PARAM_SIZE__] opaque;
68 else version( freebsd )
76 const SCHED_OTHER = 2;
78 //SCHED_SPORADIC (SS|TSP)
81 int sched_getparam(pid_t, sched_param*);
82 int sched_getscheduler(pid_t);
83 int sched_setparam(pid_t, in sched_param*);
84 int sched_setscheduler(pid_t, int, in sched_param*);
97 else version( darwin )
101 else version( freebsd )
110 int sched_get_priority_max(int);
111 int sched_get_priority_min(int);
112 int sched_rr_get_interval(pid_t, timespec*);
117 int sched_get_priority_max(int);
118 int sched_get_priority_min(int);
119 int sched_rr_get_interval(pid_t, timespec*);
121 else version( darwin )
123 int sched_get_priority_min(int);
124 int sched_get_priority_max(int);
125 //int sched_rr_get_interval(pid_t, timespec*); // FIXME: unavailable?
127 else version( freebsd )
129 int sched_get_priority_min(int);
130 int sched_get_priority_max(int);
131 int sched_rr_get_interval(pid_t, timespec*);