sched.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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$
  18. */
  19. #ifndef _SYS_SCHED_H_
  20. #define _SYS_SCHED_H_
  21. #include <sys/_timespec.h>
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25. /* Scheduling Policies */
  26. /* Open Group Specifications Issue 6 */
  27. #if defined(__CYGWIN__)
  28. #define SCHED_OTHER 3
  29. #else
  30. #define SCHED_OTHER 0
  31. #endif
  32. #define SCHED_FIFO 1
  33. #define SCHED_RR 2
  34. #if defined(_POSIX_SPORADIC_SERVER)
  35. #define SCHED_SPORADIC 4
  36. #endif
  37. /* Scheduling Parameters */
  38. /* Open Group Specifications Issue 6 */
  39. struct sched_param {
  40. int sched_priority; /* Process execution scheduling priority */
  41. #if defined(_POSIX_SPORADIC_SERVER) || defined(_POSIX_THREAD_SPORADIC_SERVER)
  42. int sched_ss_low_priority; /* Low scheduling priority for sporadic */
  43. /* server */
  44. struct timespec sched_ss_repl_period;
  45. /* Replenishment period for sporadic server */
  46. struct timespec sched_ss_init_budget;
  47. /* Initial budget for sporadic server */
  48. int sched_ss_max_repl; /* Maximum pending replenishments for */
  49. /* sporadic server */
  50. #endif
  51. };
  52. #ifdef __cplusplus
  53. }
  54. #endif
  55. #endif
  56. /* end of include file */