/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos72X src/bos/kernel/sys/sched.h 1.4.3.2 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1988,2021 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)58 1.4.3.2 src/bos/kernel/sys/sched.h, sysproc, bos72X, x2021_25A9 6/4/21 03:16:18 */ /* * COMPONENT_NAME: SYSPROC * * FUNCTIONS: * * ORIGINS: 27 * * * (C) COPYRIGHT International Business Machines Corp. 1988,1993 * All Rights Reserved * Licensed Materials - Property of IBM * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ #ifndef _H_SYS_SCHED #define _H_SYS_SCHED #include #include #ifdef _ALL_SOURCE #include #include #include #define PRIORITY_MIN PSWP /* minumum priority */ #define PRIORITY_MAX PIDLE /* maximum priority */ #define RR_INTERVAL HZ /* time interval for round robin (SCHED_RR) scheduling policy */ #define PTHREAD_PRIO_MIN 1 /* minimum priority for pthreads */ #define PTHREAD_PRIO_MAX 127 /* maximum priority for pthreads */ #endif #define SCHED_OTHER 0 /* default AIX scheduling policy */ #define SCHED_FIFO 1 /* first in-first out scheduling policy */ #define SCHED_RR 2 /* round robin scheduling policy */ #define SCHED_LOCAL 3 /* local thread scope scheduling policy */ #define SCHED_GLOBAL 4 /* global thread scope scheduling policy */ #define SCHED_FIFO2 5 /* FIFO with RQHEAD after short sleep */ #define SCHED_FIFO3 6 /* FIFO with RQHEAD all the time */ #define SCHED_FIFO4 7 /* FIFO with weak preempt */ #ifdef __cplusplus extern "C" { #endif struct sched_param { int sched_priority; int sched_policy; int sched_reserved[6]; }; struct timespec; int _NOTHROW(sched_get_priority_max, (int)); int _NOTHROW(sched_get_priority_min, (int)); int _NOTHROW(sched_getparam, (pid_t, struct sched_param *)); int _NOTHROW(sched_getscheduler, (pid_t)); int _NOTHROW(sched_rr_get_interval, (pid_t, struct timespec *)); int _NOTHROW(sched_setparam, (pid_t, const struct sched_param *)); int _NOTHROW(sched_setscheduler, (pid_t, int, const struct sched_param *)); int _NOTHROW(sched_yield, (void)); #ifdef __cplusplus } #endif #endif /* _H_SYS_SCHED */