$PAGE "INCLPVU - PRIVATE VOLUME USER TABLE INCLUDE FILE"                00001000
<<**********************************************************>>          00002000
<<**                                                      **>>          00003000
<<**       private volume user table       date: 03/14/83 **>>          00004000
<<**                                                      **>>          00005000
<<**********************************************************>>          00006000
                                                                        00007000
$if x8 = off                                                            00008000
$control nolist                                                         00009000
$if                                                                     00010000
                                                                        00011000
<<**********************************************************>>          00012000
<<**                                                      **>>          00013000
<<**       private volume user table definitions          **>>          00014000
<<**                                                      **>>          00015000
<<**********************************************************>>          00016000
                                                                        00017000
$if x8 = off                                                            00018000
$control list                                                           00019000
$if                                                                     00020000
                                                                        00021000
<<---------------------------------------------------------->>          00022000
<<- private volume user table keeps records of all logical ->>          00023000
<<- mounts. it is kept in a separate data segment.         ->>          00024000
<<- when pv is mounted for the first time a volume set     ->>          00025000
<<- entry is allocated. the volume set entry contains      ->>          00026000
<<- several users entries. the volume set entry and also   ->>          00027000
<<- the pv user table dst are expanadble.                  ->>          00028000
<<-                                                        ->>          00029000
<<- addressing conventions :                               ->>          00030000
<<-                                                        ->>          00031000
<<- integer array pvuser = db + 0;   pv user table         ->>          00032000
<<- integer pointer pvuent;          user entry            ->>          00033000
<<-                                                        ->>          00034000
<<---------------------------------------------------------->>          00035000
                                                                        00036000
equate                                                                  00037000
pvu'dst      = 54,            << pv user table dst          >>          00038000
pvu'sir      = 29,            << pv user table sir          >>          00039000
pvu'header   =  5,            << pv user table header size  >>          00040000
pvu'ent'size =  8,            << pv user entry size         >>          00041000
pvu'vs'unum  =  5,            << init. # of users per vs ent>>          00042000
pvu'vs'header = 5,            << vs entry header size       >>          00043000
pvu'dst'inc  = 128;           << pv user dst increment      >>          00044000
                                                                        00045000
define                                                                  00046000
pvu'vs'inc   = (pvu'ent'size * pvu'vs'unum)#,  << vs ent inc>>          00047000
pvu'vs'ent'sz = (pvu'vs'inc + pvu'vs'header)#; << vs ent sz >>          00048000
                                                                        00049000
<< pv user table header                                     >>          00050000
                                                                        00051000
define                                                                  00052000
pvu'size        = pvuser#,    << pv user table size (words) >>          00053000
pvu'count       = pvuser (1)#,<< number of user entries     >>          00054000
pvu'mvtab'mask  = pvuser (2)#,<< mvtabx bit map (up to 16)  >>          00055000
pvu'max'size    = pvuser (3)#,<< pv user table max. size    >>          00056000
pvu'avail'ent   = pvuser (4)#,<< number of available words  >>          00057000
                                                                        00058000
<< volume set entry header                                  >>          00059000
                                                                        00060000
pvu'vs'opmask   = pvuent (0).(0:8)#,  << op mask            >>          00061000
pvu'vs'mvtabx   = pvuent (0).(8:8)#,  << mvtab index        >>          00062000
pvu'vs'max'user = pvuent (1)#,        << max # of user / vs >>          00063000
pvu'vs'num'user = pvuent (2)#,        << number of users    >>          00064000
pvu'vs'size     = pvuent (3)#,        << vs entry size      >>          00065000
pvu'vs'flags    = pvuent (4)#,        << vs flags           >>          00066000
pvu'vs'mount    = pvu'vs'flags.(15:1)#,  << logical mount   >>          00067000
                                                                        00068000
<< user entry                                               >>          00069000
                                                                        00070000
pvu'ent'vmask   = pvuent (pvue'index)#,    << volume mask   >>          00071000
pvu'ent'pin     = pvuent (pvue'index+1)#,  << user pin      >>          00072000
pvu'ent'ubind'c = pvuent (pvue'index+2)#,  << user bind cnt >>          00073000
pvu'ent'umnt'c  = pvuent (pvue'index+3)#,  << user mount cnt>>          00074000
pvu'ent'sbind'c = pvuent (pvue'index+4)#,  << sys bind count>>          00075000
pvu'ent'smnt'c  = pvuent (pvue'index+5)#,  << sys mount cnt >>          00076000
pvu'ent'name'c  = pvuent (pvue'index+6)#,  << bind name cnt >>          00077000
pvu'ent'name'd  = pvuent (pvue'index+7)#;  << bind name dst >>          00078000
                                                                        00079000
<<**********************************************************>>          00080000
<<**                                                      **>>          00081000
<<**    end of private volume user table include file     **>>          00082000
<<**                                                      **>>          00083000
<<**********************************************************>>          00084000
$page                                                                   00085000
