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