home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 9.ddi / usr / include / sys / sysinfo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  4.7 KB  |  201 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_SYSINFO_H
  11. #define _SYS_SYSINFO_H
  12.  
  13. #ident    "@(#)/usr/include/sys/sysinfo.h.sl 1.1 4.0 12/08/90 38395 AT&T-USL"
  14.  
  15. /*
  16.  *    System Information.
  17.  */
  18.  
  19. struct sysinfo {
  20.     time_t    cpu[5];
  21. #define    CPU_IDLE    0
  22. #define    CPU_USER    1
  23. #define    CPU_KERNEL    2
  24. #define    CPU_WAIT    3
  25. #define CPU_SXBRK    4
  26.     time_t    wait[3];
  27. #define    W_IO    0
  28. #define    W_SWAP    1
  29. #define    W_PIO    2
  30.     long    bread;
  31.     long    bwrite;
  32.     long    lread;
  33.     long    lwrite;
  34.     long    phread;
  35.     long    phwrite;
  36.     long    swapin;
  37.     long    swapout;
  38.     long    bswapin;
  39.     long    bswapout;
  40.     long    pswitch;
  41.     long    syscall;
  42.     long    sysread;
  43.     long    syswrite;
  44.     long    sysfork;
  45.     long    sysexec;
  46.     long    runque;
  47.     long    runocc;
  48.     long    swpque;
  49.     long    swpocc;
  50.     long    iget;
  51.     long    namei;
  52.     long    dirblk;
  53.     ulong    readch;
  54.     ulong    writech;
  55.     long    rcvint;
  56.     long    xmtint;
  57.     long    mdmint;
  58.     long    rawch;
  59.     long    canch;
  60.     long    outch;
  61.     long    msg;
  62.     long    sema;
  63.     long    pnpfault;
  64.     long    wrtfault;
  65.     long    s5ipage;
  66.     long    s5inopage;
  67.     long    ufsipage;
  68.     long    ufsinopage;
  69.     long    xxipage;
  70.     long    xxinopage;
  71. };
  72.  
  73. extern struct sysinfo sysinfo;
  74.  
  75. struct syswait {
  76.     short    iowait;
  77.     short    swap;
  78.     short    physio;
  79. };
  80.  
  81. struct minfo {
  82.     unsigned long     freemem[2];     /* freemem in pages */
  83.                     /* "double" long format    */
  84.                     /* freemem[0] least significant */
  85.     long    freeswap;    /* free swap space */
  86.     long    vfault;      /* translation fault */
  87.     long    demand;        /*  demand zero and demand fill pages */
  88.     long    swap;        /*  pages on swap */
  89.     long    cache;        /*  pages in cache */
  90.     long    file;        /*  pages on file */
  91.     long    pfault;        /* protection fault */
  92.     long    cw;        /*  copy on write */
  93.     long    steal;        /*  steal the page */
  94.     long    freedpgs;    /* pages are freed */
  95.     long    vfpg;         /* pages are freed by vhand*/
  96.     long    sfpg;        /* pages are freed by sched*/
  97.     long    vspg;        /* pages are freed/swapped by vhand */
  98.     long    sspg;        /* pages are freed/swapped by sched */
  99.     long    unmodsw;    /* getpages finds unmodified pages on swap */
  100.     long    unmodfl;    /* getpages finds unmodified pages in file */ 
  101. #ifdef    i386            /* psk */
  102.     long    psoutok;        /* swapping out a process */
  103.     long    psinfail;       /* swapping in a process failed */
  104.     long    psinok;         /* swapping in a process succeeded */
  105.     long    rsout;          /* swapping out a region */
  106.     long    rsin;           /* swapping in a region */
  107. #endif
  108. };
  109.  
  110. typedef struct fsinfo {
  111.     ulong fsireadch;
  112.     ulong fsiwritech;
  113.     ulong fsivop_open;
  114.     ulong fsivop_close;
  115.     ulong fsivop_read;
  116.     ulong fsivop_write;
  117.     ulong fsivop_lookup;
  118.     ulong fsivop_create;
  119.     ulong fsivop_readdir;
  120.     ulong fsivop_getpage;
  121.     ulong fsivop_putpage;
  122.     ulong fsivop_other;
  123. } fsinfo_t;
  124.  
  125. extern struct minfo minfo;
  126.  
  127. struct vminfo {
  128.     ulong    v_pgrec;
  129.     ulong    v_xsfrec;
  130.     ulong    v_xifrec;
  131.     ulong    v_pgin;
  132.     ulong    v_pgpgin;
  133.     ulong    v_pgout;
  134.     ulong    v_pgpgout;
  135.     ulong    v_swpout;
  136.     ulong    v_pswpout;
  137.     ulong    v_swpin;
  138.     ulong    v_pswpin;
  139.     ulong    v_dfree;
  140.     ulong    v_scan;
  141.     ulong    v_pfault;
  142.     ulong    v_vfault;
  143.     ulong    v_sftlock;
  144. };
  145.  
  146. extern struct vminfo vminfo;
  147. extern struct syswait syswait;
  148.  
  149. struct syserr {
  150.     long    inodeovf;
  151.     long    fileovf;
  152.     long    textovf;
  153.     long    procovf;
  154. };
  155.  
  156. extern struct syserr syserr;
  157.  
  158. struct shlbinfo {
  159.     long    shlbs;        /* Max # of libs a process can link in    */
  160.                 /*   at one time.            */
  161.     long    shlblnks;    /* # of times processes that have used    */
  162.                 /*   static shared libraries.        */
  163.     long    shlbovf;    /* # of processes needed more shlibs    */
  164.                 /*   than the system imposed limit.    */
  165.     long    shlbatts;    /* # of times processes have attached    */
  166.                 /*   run time libraries.        */
  167. };
  168.  
  169. extern struct shlbinfo shlbinfo;
  170.  
  171. struct bpbinfo {
  172.     long    usr;        /* usr time for the co-processor    */
  173.     long    sys;        /* system time for the co-processor    */
  174.     long    idle;        /* idle time for the co-processor    */
  175.     long    syscall;    /* # of system calls since boot on the  */
  176.                 /*    co-processor            */
  177. };
  178.  
  179. extern struct bpbinfo bpbinfo[];
  180.  
  181. struct rtminfo {
  182.     long    ev_post;        /* # of evpost operations since boot    */
  183.     long    ev_poll;        /* # of evpoll operations since boot    */
  184.     long    ev_trap;        /* # of evtrap operations since boot    */
  185. };
  186. extern struct rtminfo rtminfo;
  187.  
  188. #define KMEM_NCLASS 3        /* # of KMEM request classes        */
  189. #define KMEM_SMALL  0        /* small KMEM request index        */
  190. #define KMEM_LARGE  1        /* large KMEM request index        */
  191. #define KMEM_OSIZE  2        /* outsize KMEM request index        */
  192.  
  193. struct kmeminfo {
  194.     ulong    km_mem[KMEM_NCLASS];    /* amount of memory owned by KMEM  */
  195.     ulong    km_alloc[KMEM_NCLASS];  /* amount of memory allocated       */
  196.     ulong    km_fail[KMEM_NCLASS];    /* # of failed requests           */
  197. };
  198. extern struct kmeminfo kmeminfo;
  199.  
  200. #endif    /* _SYS_SYSINFO_H */
  201.