home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / sps3 / part02 / globals2.c < prev    next >
C/C++ Source or Header  |  1992-05-08  |  7KB  |  158 lines

  1. # ifndef lint
  2. static char SccsId[] =  "@(#)globals2.c    1.2\t7/4/90" ;
  3. # endif
  4.  
  5. # include       "sps.h"
  6.  
  7. /* Read Only variables, global to the code of sps ... */
  8.  
  9. /* Null ttyline device ... */
  10. struct ttyline                  Notty = { "  " } ;
  11.  
  12. /*
  13. ** The symbol table. For each address read from the kernel during
  14. ** initialisation, this table shows the following:
  15. **      i.   the name of that symbol within the kernel ;
  16. **      ii.  whether an extra indirection is needed through the kernel,
  17. **           i.e. whether the value of that symbol should be obtained
  18. **           rather than its address.
  19. **      iii. where the obtained value/address is placed in the Info structure ;
  20. **      iv.  whether the obtained value is associated with a reason for
  21. **           a process wait state.
  22. */
  23. /* The order of entries in this table is unimportant. */
  24.  
  25. extern struct info              Info ;
  26.  
  27. struct symbol   Symbollist[] =
  28. {       
  29.     /* Kernel addresses required in order to access process,
  30.        tty and upage information. All these addresses should be
  31.        located in the symbol file during initialisation. */
  32.     { "_proc",      1,  (caddr_t*)&Info.i_proc0,    (char*)0        },
  33.     { "_nproc",     1,  (caddr_t*)&Info.i_nproc,    (char*)0        },
  34. # ifdef ULTRIX20
  35.     { "_gnode",     1,  (caddr_t*)&Info.i_inode0,   (char*)0        },
  36.     { "_ngnode",    1,  (caddr_t*)&Info.i_ninode,   (char*)0        },
  37. # else
  38. #  ifndef SUNOS41
  39.     { "_inode",     1,  (caddr_t*)&Info.i_inode0,   (char*)0        },
  40. #  endif SUNOS41
  41.     { "_ninode",    1,  (caddr_t*)&Info.i_ninode,   (char*)0        },
  42. # endif ULTRIX20
  43.  
  44. # ifndef SUNOS40
  45.     { "_text",      1,  (caddr_t*)&Info.i_text0,    (char*)0        },
  46.     { "_ntext",     1,  (caddr_t*)&Info.i_ntext,    (char*)0        },
  47.     { "_swbuf",     1,  (caddr_t*)&Info.i_swbuf0,   (char*)0        },
  48.     { "_nswbuf",    1,  (caddr_t*)&Info.i_nswbuf,   (char*)0        },
  49.     { "_buf",       1,  (caddr_t*)&Info.i_buf0,     (char*)0        },
  50.     { "_nbuf",      1,  (caddr_t*)&Info.i_nbuf,     (char*)0        },
  51.     { "_ecmx",      1,  (caddr_t*)&Info.i_ecmx,     (char*)0        },
  52.     { "_Usrptmap",  0,  (caddr_t*)&Info.i_usrptmap, (char*)0        },
  53.     { "_usrpt",     0,  (caddr_t*)&Info.i_usrpt,    (char*)0        },
  54. #  ifdef ULTRIX40
  55.     { "_swapfrag",    1,  (caddr_t*)&Info.i_swapfrag,    (char*)0    },
  56. #  else ULTRIX40
  57.     { "_dmmin",     1,  (caddr_t*)&Info.i_dmmin,    (char*)0        },
  58.     { "_dmmax",     1,  (caddr_t*)&Info.i_dmmax,    (char*)0        },
  59. #  endif ULTRIX40
  60. # endif SUNOS40
  61.  
  62.     { "_cdevsw",    0,  (caddr_t*)&Info.i_cdevsw,   (char*)0        },
  63. # ifdef BSD42
  64. #  ifdef NFS
  65. #   ifndef NOQUOTA
  66.     { "_dquot",     1,  (caddr_t*)&Info.i_quota0,   (char*)0        },
  67.     { "_ndquot",    1,  (caddr_t*)&Info.i_nquota,   (char*)0        },
  68. #   endif NOQUOTA
  69. #  else NFS
  70.     { "_quota",     1,  (caddr_t*)&Info.i_quota0,   (char*)0        },
  71.     { "_nquota",    1,  (caddr_t*)&Info.i_nquota,   (char*)0        },
  72. #  endif NFS
  73.     { "_mbutl",     0,  (caddr_t*)&Info.i_mbutl,    (char*)0        },
  74. # else BSD42
  75.     { "_hz",        1,  (caddr_t*)&Info.i_hz,       (char*)0        },
  76. # endif BSD42
  77.  
  78. # ifdef CHAOS
  79.     { "_Chconntab", 0,  &Info.i_Chconntab,          (char*)0        },
  80. # endif CHAOS
  81.  
  82. # ifdef SUNOS40
  83.     { "_maxmem",    1,  (caddr_t*)&Info.i_ecmx,    (char*)0    },
  84.     { "_segvn_ops",    0,  (caddr_t*)&Info.i_segvn_ops,(char*)0    },
  85.     { "_pty_softc",    0,  (caddr_t*)&Info.i_ptybase,    (char*)0    },
  86.     { "_npty",    1,  (caddr_t*)&Info.i_npty,    (char*)0    },
  87. #  ifdef SUNOS41
  88.     { "_strst",    0,  (caddr_t*)&Info.i_strst,    (char*)0    },
  89.     { "_allstream",    1,  (caddr_t*)&Info.i_allstream, (char*)0    },
  90. #  else SUNOS41
  91.     { "_streams",    0,  (caddr_t*)&Info.i_streams,    (char*)0    },
  92.     { "_streamsNSTREAMS", 1, (caddr_t*)&Info.i_streamsNSTREAMS ,(char*)0 },
  93. #  endif SUNOS41
  94.     { "_Sysbase",    1,  (caddr_t*)&Info.i_sysbase,    (char*)0    },
  95. # endif SUNOS40
  96.  
  97.     /* Kernel addresses associated with process wait states.
  98.        It is not important if some of these addresses are unresolved
  99.        at initialisation. */
  100. # ifndef SUN
  101.     { "_fltab",     0,  &Info.i_waitstate[0],       "floppy"        },
  102.     { "_tu",        0,  &Info.i_waitstate[1],       "tu58"          },
  103.     { "_lp_softc",  0,  &Info.i_waitstate[3],       "printr"        },
  104. # endif SUN
  105.     { "_bfreelist", 0,  &Info.i_waitstate[2],       "buffer"        },
  106.     { "_lbolt",     0,  &Info.i_waitstate[4],       "lbolt"         },
  107.     { "_runin",     0,  &Info.i_waitstate[5],       "runin"         },
  108.     { "_runout",    0,  &Info.i_waitstate[6],       "runout"        },
  109.     { "_ipc",       0,  &Info.i_waitstate[7],       "ptrace"        },
  110. # ifdef SUNOS41
  111.     { "_uunix",     0,  &Info.i_waitstate[8],       "pause"         },
  112. # else SUNOS41
  113.     { "_u",         0,  &Info.i_waitstate[8],       "pause"         },
  114. # endif SUNOS41
  115.     { "_freemem",   0,  &Info.i_waitstate[9],       "freemm"        },
  116.     { "_kernelmap", 0,  &Info.i_waitstate[10],      "kermap"        },
  117.     { "_cwaiting",  0,  &Info.i_waitstate[11],      "cwait"         },
  118. # ifdef BSD42
  119.     { "_selwait",   0,  &Info.i_waitstate[12],      "select"        },
  120. # endif BSD42
  121. # ifdef CHAOS
  122.     { "_Chrfclist", 0,  &Info.i_waitstate[13],      "chrfc"         },
  123. # endif CHAOS
  124. # ifndef SUN
  125.     { "_rhpbuf",    0,  &Info.i_waitstate[14],      "rhpbuf"        },
  126.     { "_rhtbuf",    0,  &Info.i_waitstate[15],      "rhtbuf"        },
  127.     { "_ridcbuf",   0,  &Info.i_waitstate[16],      "ridcbf"        },
  128.     { "_rikbuf",    0,  &Info.i_waitstate[17],      "rikbuf"        },
  129.     { "_rmtbuf",    0,  &Info.i_waitstate[18],      "rmtbuf"        },
  130.     { "_rrkbuf",    0,  &Info.i_waitstate[19],      "rrkbuf"        },
  131.     { "_rrlbuf",    0,  &Info.i_waitstate[20],      "rrlbuf"        },
  132.     { "_rrxbuf",    0,  &Info.i_waitstate[21],      "rrxbuf"        },
  133.     { "_rswbuf",    0,  &Info.i_waitstate[22],      "rswbuf"        },
  134.     { "_rtmbuf",    0,  &Info.i_waitstate[23],      "rtmbuf"        },
  135.     { "_rtsbuf",    0,  &Info.i_waitstate[24],      "rtsbuf"        },
  136.     { "_rudbuf",    0,  &Info.i_waitstate[25],      "rudbuf"        },
  137.     { "_rupbuf",    0,  &Info.i_waitstate[26],      "rupbuf"        },
  138.     { "_rutbuf",    0,  &Info.i_waitstate[27],      "rutbuf"        },
  139.     { "_rvabuf",    0,  &Info.i_waitstate[28],      "rvabuf"        },
  140.     { "_rvpbuf",    0,  &Info.i_waitstate[29],      "rvpbuf"        },
  141.     { "_chtbuf",    0,  &Info.i_waitstate[30],      "chtbuf"        },
  142.     { "_cmtbuf",    0,  &Info.i_waitstate[31],      "cmtbuf"        },
  143.     { "_ctmbuf",    0,  &Info.i_waitstate[32],      "ctmbuf"        },
  144.     { "_ctsbuf",    0,  &Info.i_waitstate[33],      "ctsbuf"        },
  145.     { "_cutbuf",    0,  &Info.i_waitstate[34],      "cutbuf"        },
  146. #  ifdef NFS
  147.     { "_async_bufhead", 0,  &Info.i_waitstate[35],  "async"        },
  148. #  endif NFS
  149. # else SUN
  150.     { "_async_bufhead", 0,  &Info.i_waitstate[14],  "async"        },
  151.     { "_desktops",    0,  &Info.i_waitstate[15],    "dtops"        },
  152. # endif SUN
  153. # ifdef ULTRIX20
  154.     { "_async_bufhead", 0,  &Info.i_waitstate[35],  "async"        },
  155. # endif ULTRIX20
  156.     { (char*)0,     0,  (caddr_t*)0,                (char*)0        }
  157. } ;
  158.