diff options
Diffstat (limited to 'sched.h')
-rw-r--r-- | sched.h | 48 |
1 files changed, 48 insertions, 0 deletions
@@ -28,6 +28,49 @@ #ifndef _SCHED_H #define _SCHED_H +#if !defined( PTW32_HEADER ) +#define PTW32_HEADER + +#ifdef _UWIN +# define HAVE_STRUCT_TIMESPEC 1 +# define HAVE_SIGNAL_H 1 +# undef HAVE_CONFIG_H +# pragma comment(lib, "pthread") +#endif + +#endif /* PTW32_HEADER */ + +#if defined(__MINGW32__) || defined(_UWIN) +/* For pid_t */ +# include <sys/types.h> +/* Required by Unix 98 - including sched.h makes time.h available */ +# include <time.h> +#else +typedef DWORD pid_t; +#endif + +#if ! defined(HAVE_STRUCT_TIMESPEC) && ! defined(PTW32_TIMESPEC) +#define PTW32_TIMESPEC +struct timespec { + long tv_sec; + long tv_nsec; +}; +#endif /* HAVE_STRUCT_TIMESPEC */ + + +/* Thread scheduling policies */ +enum { + SCHED_OTHER = 0, + SCHED_FIFO, + SCHED_RR, + SCHED_MIN = SCHED_OTHER, + SCHED_MAX = SCHED_RR +}; + +struct sched_param { + int sched_priority; +}; + #ifdef __cplusplus extern "C" { @@ -39,6 +82,11 @@ int sched_get_priority_min (int policy); int sched_get_priority_max (int policy); +int sched_setscheduler (pid_t pid, int policy); + +int sched_getscheduler (pid_t pid); + +int sched_rr_get_interval(pid_t pid, struct timespec * interval); #ifdef __cplusplus } /* End of extern "C" */ |