         << LINES .001/.009 ARE RESERVED FOR SYSTEMS INTEGRATION >>     00000001
$PAGE "INCLRINS"                                               <<07258>>00010000
                                                                        00015000
<<========================================================>>            00020000
<<                                                        >>            00025000
<<                   INCLRINS - H9        * MPE V *       >>            00030000
<<                                                        >>            00035000
<<========================================================>>            00040000
                                                                        00045000
                                                                        00050000
$IF X8=ON                                                               00055000
                                                                        00060000
COMMENT:                                                                00065000
             RIN TABLE GENERAL LAYOUT (Initialized State)               00070000
             --------------------------------------------               00075000
                                                                        00080000
  DST=%26      |-----------------------------------------------|--      00085000
               |           INDEX OF FIRST FREE ENTRY           | |      00090000
               |-----------------------------------------------| |      00095000
 --------------|            (# LOCAL+GLOBAL RINS)*3            | |      00100000
 |             |-----------------------------------------------| |      00105000
 |             |///////////////////////////////////////////////| |      00110000
 |             |-----------------------------------------------|<- FIRST00115000
 |             | RT  |        INDEX OF NEXT FREE               |-- FREE 00120000
 |             |-----------------------------------------------| | ENTRY00125000
 | RT=RIN TYPE |                       0                       | |      00130000
 |  (WHEN      |-----------------------------------------------| |      00135000
 |  ALLOWED)   |                       0                       | |      00140000
 |             |-----------------------------------------------|<-      00145000
 |             | RT  |        INDEX OF NEXT FREE               |--      00150000
 | 1-LOCAL RIN |-----------------------------------------------| |      00155000
 | 2-GLOBAL    |                       0                       | |      00160000
 |   RIN       |-----------------------------------------------| |      00165000
 | 3-FILE RIN  |                       0                       | |      00170000
 |             |-----------------------------------------------| |      00175000
 |             |                                               | |      00180000
 |             ~                                               ~ | .    00185000
 |             ~                                               ~ | .    00190000
 |             |                                               | |      00195000
 |             |-----------------------------------------------| | LAST 00200000
 |             | RT  |              0(EOL)                     |<- FREE 00205000
 |             |-----------------------------------------------|   ENTRY00210000
 |             |                       0                       |        00215000
 |             |-----------------------------------------------|        00220000
 |             |                       0                       |        00225000
 |             |-----------------------------------------------|        00230000
 ------------->|               FREE LIST POINTER               |--      00235000
 SECONDARY     |-----------------------------------------------| |      00240000
 TABLE OF 12-  |               TOTAL #OF ENTRIES               | |      00245000
 WORD ENTRIES  |-----------------------------------------------| |      00250000
 FOR GLOBAL    |              NUMBER FREE ENTRIES              | |      00255000
RIN'S ONLY     |-----------------------------------------------| |      00260000
               |                   RESERVED                    | |      00265000
   ------------|-----------------------------------------------| |      00270000
        |      |IF FREE, PTT TO NEXT FREE|                     |0<      00275000
        |      |-------------------------|                     |1       00280000
        |      ~                                               ~        00285000
     LENGTH=                                                            00290000
   # ALLOCATED                                                          00295000
   GLOBAL RINS                                                          00300000
       *12     ~                                               ~        00305000
        |      |                                               |10      00310000
        |      |                                               |11      00315000
   ------------|-----------------------------------------------|        00320000
                 ALLOCATION AND LOCKING OF LOCAL RINS                   00325000
                 ------------------------------------                   00330000
                                                                        00335000
                                                      DST22(10)=26(8)   00340000
                              RIN TABLE                                 00345000
          |-----------------------------------------------|             00350000
          |           INDEX OF FIRST FREE ENTRY           |             00355000
          |-----------------------------------------------|             00360000
          |        (NUMBER OF LOCAL+GLOBAL RINS)*3        |             00365000
          |-----------------------------------------------|             00370000
          |///////////////////////////////////////////////|             00375000
          |-----------------------------------------------|             00380000
          |                                               |             00385000
          |                                               |             00390000
          |                                               |             00395000
          |                                               |             00400000
JOB INFOR-|-----------------------------------------------|  LOCAL      00405000
  MATION  | 0  1|         INDEX OF NEXT RIN               |--  RIN #1   00410000
  TABLE   |-----------------------------------------------| |(UNLOCKED) 00415000
  -----   |                                               | |           00420000
  (JIT)   |                                               | |           00425000
|------|  |                                               | |           00430000
|      |  |                                               | |           00435000
|      |  |                                               | |           00440000
|      |43|                                               | |           00445000
|------|  |-----------------------------------------------|<-  LOCAL    00450000
| LOCK |->| 0  1|         INDEX OF NEXT RIN               |--RIN #2     00455000
|  RIN |  |-----------------------------------------------| |(UNLOCKED) 00460000
|INDEX |  |                                               | |           00465000
|------|  |-----------------------------------------------| |           00470000
          |                                               | |           00475000
          |-----------------------------------------------| |           00480000
          |                                               | |           00485000
          |                                               | |           00490000
          |                                               | |           00495000
          |-----------------------------------------------|<-  LOCAL    00500000
          | 0  1|               0 END OF LIST             |   RIN #3    00505000
          |-----------------------------------------------|   (LAST)    00510000
          |                PIN OF HOLDER(P)               |-- (LOCKED)  00515000
          |-----------------------------------------------| |           00520000
       ---|              HEAD OF WAITING LIST             | |           00525000
       |  |-----------------------------------------------| |           00530000
       |                                                  | |           00535000
       |                                                    |           00540000
       |                                                    |           00545000
       |                                                    |           00550000
       -->PCB#  waiting processes   PCB#  PCB# of process <--           00555000
                linked through            that "holds" rin              00560000
                PCB impeded queue                                       00565000
                (PCB#  pointers)                                        00570000
P = PIN#                                                                00575000
                                                                        00580000
                                                                        00585000
                 ALLOCATION AND LOCKING OF FILE RINS                    00590000
                 -----------------------------------                    00595000
                                                                        00600000
     DST #22 (%26)                                                      00605000
                              RIN TABLE                                 00610000
          |-----------------------------------------------|             00615000
          |           INDEX OF FIRST FREE ENTRY           |             00620000
          |-----------------------------------------------|             00625000
          |        (NUMBER OF LOCAL+GLOBAL RINS)*3        |             00630000
          |-----------------------------------------------|             00635000
          |///////////////////////////////////////////////|             00640000
          |-----------------------------------------------|             00645000
          |                                               |             00650000
          |                                               |             00655000
          |                                               |             00660000
          |                                               |             00665000
          |                                               |             00670000
          |                                               |             00675000
          |                                               |             00680000
          |-----------------------------------------------|             00685000
          | 1  1|/////////////////////////////////////////|             00690000
          |-----------------------------------------------|             00695000
       ---|               PIN OF HOLDER                   |             00700000
       |  |-----------------------------------------------|             00705000
       |  |          HEAD OF WAITING LIST(P)              |---          00710000
       |  |-----------------------------------------------|  |          00715000
       |                                                     |          00720000
       |                                                     |          00725000
       |                                                     |          00730000
       --> PCB# waiting processes   PCB#  process that    <---          00735000
                linked through PCB       "holds" rin                    00740000
                impeded queue                                           00745000
                                                                        00750000
           P=pin#                                                       00755000
                                                                        00760000
                                                                        00765000
                ALLOCATION AND LOCKING OF GLOBAL RINS                   00770000
                -------------------------------------                   00775000
                                                                        00780000
            DST #22 (%26)                                               00785000
                              RIN TABLE                                 00790000
          |-----------------------------------------------|             00795000
          |           INDEX OF FIRST FREE ENTRY           |             00800000
          |-----------------------------------------------|             00805000
          |        (NUMBER OF LOCAL+GLOBAL RINS)*3        |             00810000
          |-----------------------------------------------|             00815000
          |///////////////////////////////////////////////|             00820000
          |-----------------------------------------------|             00825000
          |                                               |             00830000
          |                                               |             00835000
          |-----------------------------------------------|             00840000
          | 1 0 |    INDEX OF PASSWORD, USERNAME          |-----------  00845000
          |-----------------------------------------------|          |  00850000
          |              PIN OF HOLDER                    |----      |  00855000
          |-----------------------------------------------|   |      |  00860000
      ----|          HEAD OF WAITING LIST(P)              |   |      |  00865000
      |   |-----------------------------------------------|   |      |  00870000
      |   |                                               |   |      |  00875000
      v   |                                               |   v      |  00880000
  PCB#    |                                               |  PCB#    |  00885000
          |                                               |          |  00890000
 waiting  |                                               |  process |  00895000
processes |                                               |   that   |  00900000
          ~                                               ~  'holds' |  00905000
          ~                                               ~   RIN    |  00910000
          |                                               |          |  00915000
          |                                               |          |  00920000
          |-----------------------------------------------|          |  00925000
          |                                               |<----------  00930000
          |                                               |             00935000
          |                 RIN PASSWORD                  |             00940000
          |                                               |             00945000
          |                                               |             00950000
          |-----------------------------------------------|             00955000
          |                                               |             00960000
          |                                               |             00965000
          |                   USERNAME                    |             00970000
          |            (USER NAME AND ACCOUNT)            |             00975000
          |                                               |             00980000
          |                                               |             00985000
          |                                               |             00990000
          |-----------------------------------------------|             00995000
                                                                        01000000
           P=pin#                                                       01005000
           INDEX OF PASSWORD = RELATIVE TO BASE OF SECORDARY            01010000
                               TABLE                                    01015000
;                                                                       01020000
$IF                                                                     01025000
<< Any change to the RIN table will impact   >>                         01030000
<< the following modules:                    >>                         01035000
<<  73,60,64                                 >>                         01040000
<< Global array declarations for the RIN table  >>                      01045000
                                                                        01050000
integer array RIN'GLOBALPTR(@) = DB+1;                                  01055000
integer array RIN'E(*) = DB+0;                                          01060000
                                                                        01065000
                                                                        01070000
equate RIN'DST         = %26,                                           01075000
       RIN'SIR         = 38;                                            01080000
                                                                        01085000
                                                                        01090000
equate RINENTRY        = 0,                                             01095000
       HOLDER          = RINENTRY + 1;                                  01100000
                                                                        01105000
equate WAITHEAD        = HOLDER + 1,                                    01110000
       RIN'LENGTH      = WAITHEAD + 1;                                  01115000
                                                                        01120000
                                                                        01125000
<<Secondary Table Definitions>>                                         01130000
                                                                        01135000
equate FREEPTR         = 0,                                             01140000
       TOTALENTRIES    = FREEPTR + 1,                                   01145000
       NUMFREEENTRIES  = TOTALENTRIES + 1;                              01150000
                                                                        01155000
equate PASSWORDF       = 0,                                             01160000
       PASSWORDLN      = 4,                                             01165000
       USERNAMEF       = PASSWORDF + PASSWORDLN,                        01170000
       USERNMLN        = 8;                                             01175000
                                                                        01180000
equate RIN'PASSUSERLN  = PASSWORDLN + USERNMLN;                         01185000
                                                                        01190000
                                                                        01195000
<<         DB RELATIVE DECLARATIONS                      >>             01200000
<< To use the RIN table via EXCHANGEDB, you must declare >>             01205000
<< a DB relative array RIN as follows:                   >>             01210000
<<       INTEGER ARRAY RIN(*) = DB+0;                    >>             01215000
<<       INTEGER ARRAY RIN'E(*) = RIN;                   >>             01220000
<< RINPTR is an index for RIN table entries.  It is      >>             01225000
<< declared as an integer in the process.                >>             01230000
<< The index for the array must also be declared.  The   >>             01235000
<< index for the array is RIN'PASSUSERINX, which is used >>             01240000
<< to step through each word of the Password and Username>>             01245000
                                                                        01250000
                                                                        01255000
define RIN'FIRSTFREE  = RIN'E(0)#,                                      01260000
       RIN'TOTALNUM   = RIN'E(1)#;                                      01265000
                                                                        01270000
define RIN'E'TYPE     = RIN'E(RINPTR+RINENTRY).(0:2)#,                  01275000
       RIN'E'INDEX    = RIN'E(RINPTR+RINENTRY).(2:14)#,                 01280000
       RIN'E'HEADQ    = RIN'E(RINPTR+WAITHEAD)#,                        01285000
       RIN'E'HOLDER   = RIN'E(RINPTR+HOLDER)#;                          01290000
                                                                        01295000
define RIN'FREEPTR    = RIN'GLOBALPTR(FREEPTR)#,                        01300000
       RIN'TOTENTRIES = RIN'GLOBALPTR(TOTALENTRIES)#,                   01305000
       RIN'FREENTRIES = RIN'GLOBALPTR(NUMFREEENTRIES)#;                 01310000
                                                                        01315000
define RIN'E'PASSWORD = RIN'GLOBALPTR(RIN'E'INDEX+PASSWORDF+            01320000
                      RIN'PASSUSERINX)#,                                01325000
       RIN'E'USERNAME = RIN'GLOBALPTR(RIN'E'INDEX+USERNAMEF+            01330000
                      RIN'PASSUSERINX)#,                                01335000
       RIN'E'NEXTFREE = RIN'GLOBALPTR(RIN'FREEPTR)#,                    01340000
       RIN'E'LINK     = RIN'GLOBALPTR(RIN'E'INDEX)#;                    01345000
$TITLE " "                                                              01350000
