1/* 2 * Written by Joel Sherrill <joel@OARcorp.com>. 3 * 4 * COPYRIGHT (c) 1989-2010. 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.3 2010/04/01 18:33:37 jjohnstn Exp $ 18 */ 19 20 21#ifndef _SYS_SCHED_H_ 22#define _SYS_SCHED_H_ 23 24#ifdef __cplusplus 25extern "C" { 26#endif 27 28/* Scheduling Policies */ 29/* Open Group Specifications Issue 6 */ 30#if defined(__CYGWIN__) 31#define SCHED_OTHER 3 32#else 33#define SCHED_OTHER 0 34#endif 35 36#define SCHED_FIFO 1 37#define SCHED_RR 2 38 39#if defined(_POSIX_SPORADIC_SERVER) 40#define SCHED_SPORADIC 4 41#endif 42 43/* Scheduling Parameters */ 44/* Open Group Specifications Issue 6 */ 45 46struct sched_param { 47 int sched_priority; /* Process execution scheduling priority */ 48 49#if defined(_POSIX_SPORADIC_SERVER) || defined(_POSIX_THREAD_SPORADIC_SERVER) 50 int sched_ss_low_priority; /* Low scheduling priority for sporadic */ 51 /* server */ 52 struct timespec sched_ss_repl_period; 53 /* Replenishment period for sporadic server */ 54 struct timespec sched_ss_init_budget; 55 /* Initial budget for sporadic server */ 56 int sched_ss_max_repl; /* Maximum pending replenishments for */ 57 /* sporadic server */ 58#endif 59}; 60 61#ifdef __cplusplus 62} 63#endif 64 65#endif 66/* end of include file */ 67 68