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