Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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
  25. extern "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.  
  46. struct 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.