15#ifndef ZEPHYR_INCLUDE_POSIX_SCHED_H_
16#define ZEPHYR_INCLUDE_POSIX_SCHED_H_
21#include <zephyr/kernel.h>
23#if defined(_GNU_SOURCE) || defined(__DOXYGEN__)
45#if defined(_POSIX_SPORADIC_SERVER) || defined(_POSIX_THREAD_SPORADIC_SERVER) || \
51#define SCHED_SPORADIC 4
54#if (defined(CONFIG_MINIMAL_LIBC) || defined(CONFIG_PICOLIBC) || defined(CONFIG_ARMCLANG_STD_LIBC) \
55 || defined(CONFIG_ARCMWDT_LIBC)) && !defined(_SCHED_PARAM_DEFINED) && \
56 !defined(__sched_param_defined)
60#if defined(_POSIX_SPORADIC_SERVER) || defined(_POSIX_THREAD_SPORADIC_SERVER) || \
62 struct timespec sched_ss_repl_period;
63 struct timespec sched_ss_init_budget;
64 int sched_ss_low_priority;
65 int sched_ss_max_repl;
68#define _SCHED_PARAM_DEFINED
69#define __sched_param_defined
CPU sets for thread affinity (GNU extension, <sched.h>)
int pid_t
Process ID type.
int sched_yield(void)
Yield the processor to another thread of equal or higher priority.
int sched_setparam(pid_t pid, const struct sched_param *param)
Set scheduling parameters for a process.
int sched_rr_get_interval(pid_t pid, struct timespec *interval)
Get the round-robin time quantum for a process.
int sched_getparam(pid_t pid, struct sched_param *param)
Get scheduling parameters for a process.
int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param)
Set the scheduling policy and parameters of a process.
int sched_getscheduler(pid_t pid)
Get the scheduling policy of a process.
int sched_get_priority_min(int policy)
Get the minimum priority value for a scheduling policy.
int sched_get_priority_max(int policy)
Get the maximum priority value for a scheduling policy.
Time value with nanosecond resolution.
POSIX time-of-day types and functions (<sys/time.h>)
POSIX fundamental types (<sys/types.h>)