mirror of git://git.musl-libc.org/musl
65 lines
1.6 KiB
C
65 lines
1.6 KiB
C
#ifndef _SCHED_H
|
|
#define _SCHED_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define __NEED_struct_timespec
|
|
#define __NEED_pid_t
|
|
#define __NEED_time_t
|
|
|
|
#include <bits/alltypes.h>
|
|
|
|
struct sched_param {
|
|
int sched_priority;
|
|
int sched_ss_low_priority;
|
|
struct timespec sched_ss_repl_period;
|
|
struct timespec sched_ss_init_budget;
|
|
int sched_ss_max_repl;
|
|
};
|
|
|
|
int sched_get_priority_max(int);
|
|
int sched_get_priority_min(int);
|
|
int sched_getparam(pid_t, struct sched_param *);
|
|
int sched_getscheduler(pid_t);
|
|
int sched_rr_get_interval(pid_t, struct timespec *);
|
|
int sched_setparam(pid_t, const struct sched_param *);
|
|
int sched_setscheduler(pid_t, int, const struct sched_param *);
|
|
int sched_yield(void);
|
|
|
|
#define SCHED_OTHER 0
|
|
#define SCHED_FIFO 1
|
|
#define SCHED_RR 2
|
|
|
|
#ifdef _GNU_SOURCE
|
|
#define CSIGNAL 0x000000ff
|
|
#define CLONE_VM 0x00000100
|
|
#define CLONE_FS 0x00000200
|
|
#define CLONE_FILES 0x00000400
|
|
#define CLONE_SIGHAND 0x00000800
|
|
#define CLONE_PTRACE 0x00002000
|
|
#define CLONE_VFORK 0x00004000
|
|
#define CLONE_PARENT 0x00008000
|
|
#define CLONE_THREAD 0x00010000
|
|
#define CLONE_NEWNS 0x00020000
|
|
#define CLONE_SYSVSEM 0x00040000
|
|
#define CLONE_SETTLS 0x00080000
|
|
#define CLONE_PARENT_SETTID 0x00100000
|
|
#define CLONE_CHILD_CLEARTID 0x00200000
|
|
#define CLONE_DETACHED 0x00400000
|
|
#define CLONE_UNTRACED 0x00800000
|
|
#define CLONE_CHILD_SETTID 0x01000000
|
|
#define CLONE_NEWUTS 0x04000000
|
|
#define CLONE_NEWIPC 0x08000000
|
|
#define CLONE_NEWUSER 0x10000000
|
|
#define CLONE_NEWPID 0x20000000
|
|
#define CLONE_NEWNET 0x40000000
|
|
#define CLONE_IO 0x80000000
|
|
int clone (int (*)(void *), void *, int, void *, ...);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|