home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 8.ddi / usr / include / sys / priocntl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  1.8 KB  |  65 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ifndef _SYS_PRIOCNTL_H
  11. #define _SYS_PRIOCNTL_H
  12.  
  13. #ident    "@(#)/usr/include/sys/priocntl.h.sl 1.1 4.0 12/08/90 7467 AT&T-USL"
  14.  
  15. #define    PC_VERSION    1    /* First version of priocntl */
  16.  
  17. #define priocntl(idtype, id, cmd, arg)\
  18.     __priocntl(PC_VERSION, idtype, id, cmd, arg)
  19.  
  20. #define priocntlset(psp, cmd, arg)\
  21.     __priocntlset(PC_VERSION, psp, cmd, arg)
  22.  
  23. extern long    __priocntl(), __priocntlset();
  24.  
  25. /*
  26.  * The following are the possible values of the command
  27.  * argument for the priocntl system call.
  28.  */
  29.  
  30. #define PC_GETCID    0    /* Get class ID */
  31. #define    PC_GETCLINFO    1    /* Get info about a configured class */
  32. #define    PC_SETPARMS    2    /* Set scheduling parameters */
  33. #define    PC_GETPARMS    3    /* Get scheduling parameters */
  34. #define PC_ADMIN    4    /* Scheduler administration (used by     */
  35.                 /*   dispadmin(1M), not for general use) */
  36.  
  37. #define PC_CLNULL    -1
  38.  
  39. #define    PC_CLNMSZ    16
  40. #define    PC_CLINFOSZ    (32 / sizeof(long))
  41. #define    PC_CLPARMSZ    (32 / sizeof(long))
  42.  
  43. typedef struct pcinfo {
  44.     id_t    pc_cid;            /* class id */
  45.     char    pc_clname[PC_CLNMSZ];    /* class name */
  46.     long    pc_clinfo[PC_CLINFOSZ];    /* class information */
  47. } pcinfo_t;
  48.  
  49. typedef struct pcparms {
  50.     id_t    pc_cid;                /* process class */
  51.     long    pc_clparms[PC_CLPARMSZ];    /* class specific parameters */
  52. } pcparms_t;
  53.  
  54. /*
  55.  * The following is used by the dispadmin(1M) command for
  56.  * scheduler administration and is not for general use.
  57.  */
  58.  
  59. typedef struct pcadmin {
  60.     id_t    pc_cid;
  61.     caddr_t    pc_cladmin;
  62. } pcadmin_t;
  63.  
  64. #endif    /* _SYS_PRIOCNTL_H */
  65.