$page                                                                   00001000
<< ********************************************************  >>         00002000
<<           include file for user capabilities              >>         00003000
<< ********************************************************  >>         00004000
                                                                        00005000
$if x8 = off                                                            00006000
$control nolist                                                         00007000
$if                                                                     00008000
                                                                        00009000
<<                                                           >>         00010000
<<      user capabilities are two word entries.  they exist  >>         00011000
<<  in four places:                                         >>          00012000
<<                 (1) words %46 - %47 of the jit.           >>         00013000
<<                 (2) words 4 and 5 of a user entry in the  >>         00014000
<<                     system directory.                     >>         00015000
<<                 (3) word 2 of the pxglobal area is the    >>         00016000
<<                     first word of the user caps.          >>         00017000
<<                 (4) word 5 of the pxfixed area is the     >>         00018000
<<                     second word of the user caps. note:   >>         00019000
<<                     this is actually the group capability >>         00020000
<<                     word.                                 >>         00021000
<<                                                           >>         00022000
<<  to access these bits a pointer (ucapptr) is used.  it    >>         00023000
<<  must point at the first word of the two word cap. pair   >>         00024000
<<  and then each bit may be referenced individually.        >>         00025000
<<  it is the responsibility of the user of this include     >>         00026000
<<  file to declare ucapptr.                                 >>         00027000
<<                                                           >>         00028000
<<  example:                                                 >>         00029000
<<                                                           >>         00030000
<<    how to check for account manager capability by looking >>         00031000
<<  in the jit.                                              >>         00032000
<<                                                           >>         00033000
<<         pointer ucapptr;                                  >>         00034000
<<                                                           >>         00035000
<<         ....                                              >>         00036000
<<                                                           >>         00037000
<<                                                           >>         00038000
<<         @ucapptr := @jitusercaps;  << point at caps.      >>         00039000
<<         ....                                              >>         00040000
<<         ....                                              >>         00041000
<<         if ucapam = 0                                     >>         00042000
<<         then ....                  << the bit is not set  >>         00043000
<<                                                           >>         00044000
                                                                        00045000
                                                                        00046000
                                                                        00047000
                                                                        00048000
                                                                        00049000
                                                                        00050000
                                                                        00051000
                                                                        00052000
                                                                        00053000
                                                                        00054000
                                                                        00055000
                                                                        00056000
                                                                        00057000
                                                                        00058000
                                                                        00059000
                                                                        00060000
                                                                        00061000
                                                                        00062000
                                                                        00063000
                                                                        00064000
                                                                        00065000
                                                                        00066000
                                                                        00067000
$page                                                                   00068000
                                                                        00069000
                                                                        00070000
<<                                                           >>         00071000
<<                                                           >>         00072000
<< ********************************************************* >>         00073000
<<        the user capabilities: which bit is which.         >>         00074000
<< ********************************************************* >>         00075000
<<                                                           >>         00076000
<<  |---------------------- system manager                   >>         00077000
<<  |  |------------------- account manager                  >>         00078000
<<  |  |  |---------------- account librarian                >>         00079000
<<  |  |  |  |------------- group librarian                  >>         00080000
<<  |  |  |  |  |---------- diagnostician                    >>         00081000
<<  |  |  |  |  |  |------- system supervisor                >>         00082000
<<  |  |  |  |  |  |  |---- create volumes                   >>         00083000
<<  |  |  |  |  |  |  |  |- use volumes                      >>         00084000
<<  |  |  |  |  |  |  |  |  user logging                     >>         00085000
<<  |  |  |  |  |  |  |  |  |  system process handling       >>         00086000
<<  |  |  |  |  |  |  |  |  |  |  programmatic sessions      >>         00087000
<<  |  |  |  |  |  |  |  |  |  |  |  network administrator   >>         00088000
<<  |  |  |  |  |  |  |  |  |  |  |  |  node manager         >>         00089000
<<  |  |  |  |  |  |  |  |  |  |  |  |  |  communications    >>         00090000
<<  |  |  |  |  |  |  |  |  |  |  |  |  |  |  non-sharable   >>         00091000
<<  |  |  |  |  |  |  |  |  |  |  |  |  |  |  devices        >>         00092000
<<  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  saved files >>         00093000
<<  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |           >>         00094000
<< |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|         >>         00095000
<< |sm|am|al|gl|di|op|cv|uv|lg|sp|ps|na|nm|cs|nd|sf|         >>         00096000
<< |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|         >>         00097000
<<                                                           >>         00098000
<<                                                           >>         00099000
<<   0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15          >>         00100000
<<                                                           >>         00101000
<<                                                           >>         00102000
<< |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|         >>         00103000
<< |//|//|//|//|//|//|//|ba|ia|pm|//|//|mr|//|ds|ph|         >>         00104000
<< |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|         >>         00105000
<<                       |  |  |        |     |  |           >>         00106000
<<                       |  |  |        |     |  |           >>         00107000
<<        batch access --|  |  |        |     |  |           >>         00108000
<<  interactive access -----|  |        |     |  |           >>         00109000
<<     privileged mode --------|        |     |  |           >>         00110000
<<                                      |     |  |           >>         00111000
<<                                      |     |  |           >>         00112000
<<                    multiple rins ----|     |  |           >>         00113000
<<               extra data segment ----------|  |           >>         00114000
<<                 process handling -------------|           >>         00115000
<<                                                           >>         00116000
                                                                        00117000
                                                                        00118000
                                                                        00119000
                                                                        00120000
                                                                        00121000
                                                                        00122000
                                                                        00123000
                                                                        00124000
$page                                                                   00125000
                                                                        00126000
$if x8 = off                                                            00127000
$control list                                                           00128000
$if                                                                     00129000
                                                                        00130000
                                                                        00131000
<< ********************************************************  >>         00132000
<<              user capabilities:  word 0                   >>         00133000
<< ********************************************************  >>         00134000
                                                                        00135000
                                                                        00136000
define                                                                  00137000
  ucapsm                     = ucapptr(0).(0:1)#,                       00138000
  ucapam                     = ucapptr(0).(1:1)#,                       00139000
  ucapal                     = ucapptr(0).(2:1)#,                       00140000
  ucapgl                     = ucapptr(0).(3:1)#,                       00141000
  ucapdi                     = ucapptr(0).(4:1)#,                       00142000
  ucapop                     = ucapptr(0).(5:1)#,                       00143000
  ucapcv                     = ucapptr(0).(6:1)#,                       00144000
  ucapuv                     = ucapptr(0).(7:1)#,                       00145000
  ucaplg                     = ucapptr(0).(8:1)#,                       00146000
  ucapsp                     = ucapptr(0).(9:1)#,                       00147000
  ucapps                     = ucapptr(0).(10:1)#,                      00148000
  ucapna                     = ucapptr(0).(11:1)#,                      00149000
  ucapnm                     = ucapptr(0).(12:1)#,                      00150000
  ucapcs                     = ucapptr(0).(13:1)#,                      00151000
  ucapnd                     = ucapptr(0).(14:1)#,                      00152000
  ucapsf                     = ucapptr(0).(15:1)#;                      00153000
                                                                        00154000
<< ********************************************************  >>         00155000
<<                user capabilities:  word 1                 >>         00156000
<< ********************************************************  >>         00157000
                                                                        00158000
define                                                                  00159000
  ucapba                     = ucapptr(1).(7:1)#,                       00160000
  ucapia                     = ucapptr(1).(8:1)#,                       00161000
  ucappm                     = ucapptr(1).(9:1)#,                       00162000
  ucapmr                     = ucapptr(1).(12:1)#,                      00163000
  ucapds                     = ucapptr(1).(14:1)#,                      00164000
  ucapph                     = ucapptr(1).(15:1)#;                      00165000
                                                                        00166000
<< ******************************************************** >>          00167000
<<           end include file for user capabilities         >>          00168000
<< ******************************************************** >>          00169000
