41 lines
1.1 KiB
C
41 lines
1.1 KiB
C
#ifndef _SCHED_H
|
|
#define _SCHED_H 1
|
|
|
|
// https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sched.h.html
|
|
|
|
#include <sys/cdefs.h>
|
|
|
|
__BEGIN_DECLS
|
|
|
|
#include <time.h>
|
|
|
|
#define __need_pid_t
|
|
#include <sys/types.h>
|
|
|
|
struct sched_param
|
|
{
|
|
int sched_priority; /* Process or thread execution scheduling priority. */
|
|
int sched_ss_low_priority; /* Low scheduling priority for sporadic server. */
|
|
struct timespec sched_ss_repl_period; /* Replenishment period for sporadic server. */
|
|
struct timespec sched_ss_init_budget; /* Initial budget for sporadic server. */
|
|
int sched_ss_max_repl; /* Maximum pending replenishments for sporadic server. */
|
|
};
|
|
|
|
#define SCHED_FIFO 1
|
|
#define SCHED_RR 2
|
|
#define SCHED_SPORADIC 3
|
|
#define SCHED_OTHER 4
|
|
|
|
int sched_get_priority_max(int policy);
|
|
int sched_get_priority_min(int policy);
|
|
int sched_getparam(pid_t pid, struct sched_param* param);
|
|
int sched_getscheduler(pid_t pid);
|
|
int sched_rr_get_interval(pid_t pid, struct timespec* interval);
|
|
int sched_setparam(pid_t pid, const struct sched_param* param);
|
|
int sched_setscheduler(pid_t pid, int, const struct sched_param* param);
|
|
int sched_yield(void);
|
|
|
|
__END_DECLS
|
|
|
|
#endif
|