1 /* 2 * Written by Joel Sherrill <joel@OARcorp.com>. 3 * 4 * COPYRIGHT (c) 1989-2000. 5 * On-Line Applications Research Corporation (OAR). 6 * 7 * Permission to use, copy, modify, and distribute this software for any 8 * purpose without fee is hereby granted, provided that this entire notice 9 * is included in all copies of any software which is or includes a copy 10 * or modification of this software. 11 * 12 * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED 13 * WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION 14 * OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS 15 * SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. 16 * 17 * $Id: sched.h,v 1.2 2002/06/20 19:51:24 fitzsim Exp $ 18 */ 19 20 21 #ifndef __POSIX_SYS_SCHEDULING_h 22 #define __POSIX_SYS_SCHEDULING_h 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 #include <sys/unistd.h> 29 30 #include <sys/types.h> 31 #include <sys/time.h> 32 33 /* Scheduling Policies, P1003.1b-1993, p. 250 34 NOTE: SCHED_SPORADIC added by P1003.4b/D8, p. 34. */ 35 36 #define SCHED_OTHER 0 37 #define SCHED_FIFO 1 38 #define SCHED_RR 2 39 40 #if defined(_POSIX_SPORADIC_SERVER) 41 #define SCHED_SPORADIC 3 42 #endif 43 44 /* Scheduling Parameters, P1003.1b-1993, p. 249 45 NOTE: Fields whose name begins with "ss_" added by P1003.4b/D8, p. 33. */ 46 47 struct sched_param { 48 int sched_priority; /* Process execution scheduling priority */ 49 50 #if defined(_POSIX_SPORADIC_SERVER) 51 int ss_low_priority; /* Low scheduling priority for sporadic */ 52 /* server */ 53 struct timespec ss_replenish_period; 54 /* Replenishment period for sporadic server */ 55 struct timespec ss_initial_budget; /* Initial budget for sporadic server */ 56 #endif 57 }; 58 59 #ifdef __cplusplus 60 } 61 #endif 62 63 #endif 64 /* end of include file */ 65 66