home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / cmds / root.3 / usr / include / sys / rt.h / rt
Text File  |  1998-08-19  |  3KB  |  88 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. /*    Copyright (c) 1990, 1991, 1992 UNIX System Laboratories, Inc.    */
  12. /*    Copyright (c) 1984, 1985, 1986, 1987, 1988, 1989, 1990 AT&T    */
  13. /*      All Rights Reserved      */
  14.  
  15. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  16. /*    UNIX System Laboratories, Inc.                         */
  17. /*    The copyright notice above does not evidence any       */
  18. /*    actual or intended publication of such source code.    */
  19.  
  20. #ifndef _PROC_CLASS_RT_H    /* wrapper symbol for kernel use */
  21. #define _PROC_CLASS_RT_H    /* subject to change without notice */
  22.  
  23. #ident    "@(#)kern:proc/class/rt.h    1.2"
  24. #ident    "$Header: $"
  25.  
  26. #if defined(__cplusplus)
  27. extern "C" {
  28. #endif
  29.  
  30. #ifdef _KERNEL_HEADERS
  31.  
  32. #ifndef _UTIL_TYPES_H
  33. #include <util/types.h>    /* REQUIRED */
  34. #endif
  35.  
  36. #elif    defined(_KERNEL)
  37.  
  38. #include <sys/types.h>    /* REQUIRED */
  39.  
  40. #endif /* _KERNEL_HEADERS */
  41.  
  42. /*
  43.  * Real-time dispatcher parameter table entry
  44.  */
  45. typedef struct    rtdpent {
  46.     int    rt_globpri;    /* global (class independent) priority */
  47.     long    rt_quantum;    /* default quantum associated with this level */
  48. } rtdpent_t;
  49.  
  50.  
  51. /*
  52.  * Real-time class specific proc structure
  53.  */
  54. typedef struct rtproc {
  55.     long        rt_pquantum;    /* time quantum given to this proc */
  56.     long        rt_timeleft;    /* time remaining in procs quantum */
  57.     short        rt_pri;        /* priority within rt class */
  58.     ushort        rt_flags;    /* flags defined below */
  59.     struct proc    *rt_procp;    /* pointer to proc table entry */
  60.     char        *rt_pstatp;    /* pointer to p_stat */
  61.     int        *rt_pprip;    /* pointer to p_pri */
  62.     uint        *rt_pflagp;    /* pointer to p_flag */
  63.     struct rtproc    *rt_next;    /* link to next rtproc on list */
  64.     struct rtproc    *rt_prev;    /* link to previous rtproc on list */
  65. } rtproc_t;
  66.  
  67.  
  68. /* Flags */
  69. #define RTRAN    0x0001        /* process has run since last swap out */
  70. #define RTBACKQ    0x0002        /* proc goes to back of disp q when preempted */
  71.  
  72.  
  73. #ifdef _KERNEL
  74. /*
  75.  * Kernel version of real-time class specific parameter structure
  76.  */
  77. typedef struct    rtkparms {
  78.     short    rt_pri;
  79.     long    rt_tqntm;
  80. } rtkparms_t;
  81. #endif    /* _KERNEL */
  82.  
  83. #if defined(__cplusplus)
  84.     }
  85. #endif
  86.  
  87. #endif    /* _PROC_CLASS_RT_H */
  88.