home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / cmds / root.3 / usr / include / sys / fpri.h / fpri
Text File  |  1998-08-19  |  2KB  |  78 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. #ifndef _PROC_CLASS_FPRI_H    /* wrapper symbol for kernel use */
  12. #define _PROC_CLASS_FPRI_H    /* subject to change without notice */
  13.  
  14. #ident    "@(#)kern:proc/class/fpri.h    1.8"
  15. #ident    "$Header: $"
  16.  
  17. #if defined(__cplusplus)
  18. extern "C" {
  19. #endif
  20.  
  21. #ifdef _KERNEL_HEADERS
  22.  
  23. #include <util/types.h>    /* REQUIRED */
  24. #include <proc/priocntl.h>
  25.  
  26. #elif defined(_KERNEL) || defined(_KMEMUSER)
  27.  
  28. #include <sys/types.h>    /* REQUIRED */
  29. #include <sys/priocntl.h>
  30.  
  31. #endif /* _KERNEL_HEADERS */
  32.  
  33. /*
  34.  * Fixed-priority dispatcher parameter table entry
  35.  */
  36. typedef struct    fpdpent {
  37.     int    fp_globpri;    /* global (class independent) priority */
  38.     clock_t    fp_quantum;    /* default quantum associated with this level */
  39. } fpdpent_t;
  40.  
  41.  
  42. /*
  43.  * Fixed-priority class specific lwp structure
  44.  */
  45. typedef struct fplwp {
  46.     clock_t        fp_pquantum;    /* time quantum given to this lwp */
  47.     clock_t        fp_timeleft;    /* time remaining in lwp's quantum */
  48.     short        fp_pri;        /* priority within fp class */
  49.     ushort        fp_flags;    /* flags defined below */
  50.     struct lwp    *fp_lwpp;    /* pointer to lwp struct */
  51.     char        *fp_lstatp;    /* pointer to l_stat */
  52.     int        *fp_lprip;    /* pointer to l_pri */
  53.     uint        *fp_lflagp;    /* pointer to l_flag */
  54.     uint        fp_prmptoffset;    /* offset of user-mode flag for preemption-inhibit */
  55.     qpcparms_t     fp_qpcparms;    /* buffer to store queued parameters */
  56. } fplwp_t;
  57.  
  58.  
  59. /* Flags */
  60. #define FPBACKQ    0x0002        /* lwp goes to back of disp q when preempted */
  61.  
  62.  
  63. #ifdef _KERNEL
  64. /*
  65.  * Kernel version of fixed-priority class specific parameter structure
  66.  */
  67. typedef struct    fpkparms {
  68.     short    fp_pri;
  69.     clock_t    fp_tqntm;    /* expressed in ticks */
  70. } fpkparms_t;
  71. #endif /* _KERNEL */
  72.  
  73. #if defined(__cplusplus)
  74.     }
  75. #endif
  76.  
  77. #endif /* _PROC_CLASS_FPRI_H */
  78.