<<=========================================================             00001000
=                                                         =             00002000
=                  INCLPCB5 - I5                          =             00003000
=                                                         =             00004000
=========================================================>>             00005000
                                                                        00006000
                                                                        00007000
Comment                                                                 00008000
                                                                        00009000
   When using this include file please be aware of the following        00010000
requirements :                                                          00011000
                                                                        00012000
   (1)  PCBPT is a logical variable which is the result of              00013000
        multiplying the pin number by PCBSIZE, thus yielding            00014000
        a PCB base relative index of the first word of the pin          00015000
        in question.                                                    00016000
                                                                        00017000
   (2)  PCB should be a logical pointer equated to SYSPCBINDEX.         00018000
                                                                        00019000
   (3)  As a general rule only the SPCB..... declarations are           00020000
        necessary for modules outside the KERNEL.                       00021000
                                                                        00022000
   (4)  When accessing a particular field within one's own              00023000
        PCB , please use the CURPRC (current process) to                00024000
        set the value of PCBPT.                                         00025000
                                                                        00026000
   (5)  At all costs avoid the use of ABSOLUTE constructs when          00027000
        accessing the PCB and for that matter any other system          00028000
        tables which could reside outside of bank 0.                    00029000
                                                                        00030000
;                                                                       00031000
<< Equates for the Process Control Block Table >>                       00032000
                                                                        00033000
EQUATE                                                                  00034000
                                                                        00035000
   RESABORTINFOWORDNUM         = 0,                                     00036000
   SLLIXWORDNUM                = 1,                                     00037000
   DBXDSINFOWORDNUM            = 2,                                     00038000
   STKINFOWORDNUM              = 3,                                     00039000
   WAKEMASKWORDNUM             = 4,                                     00040000
   FATHERINFOWORDNUM           = 5,                                     00041000
   SONINFOWORDNUM              = 6,                                     00042000
   BROTHERINFOWORDNUM          = 7,                                     00043000
   PIINFOWORDNUM               = 8,                                     00044000
   PROCSTATEWORDNUM            = 9,                                     00045000
   EVENTFLAGSWORDNUM           = 10,                                    00046000
   LASTREFCODEWORDNUM          = 11,                                    00047000
   QUEUEINGINFOWORDNUM         = 13,                                    00048000
   PBXWORDNUM                  = 14,                                    00049000
   MAPDSTWORDNUM               = 15,                                    00050000
   PIMPPINWORDNUM              = 16,                                    00051000
   NIMPPINWORDNUM              = 17,                                    00052000
   BPTLINKWORDNUM              = 18,                                    00053000
   NQPTRWORDNUM                = 19,                                    00054000
   PQPTRWORDNUM                = 20;                                    00055000
                                                                        00056000
EQUATE                                                                  00057000
                                                                        00058000
   PCBSIZE                     = 21,                                    00059000
   SYSPCBINDEX                 = 3;                                     00060000
                                                                        00061000
                                                                        00062000
LOGICAL POINTER                                                         00063000
                                                                        00064000
   LPCB                        = 3;                                     00065000
                                                                        00066000
DEFINE                                                                  00067000
                                                                        00068000
   CURPRC                      = ABSOLUTE(4)#;                          00069000
                                                                        00070000
                                                                        00071000
DEFINE                                                                  00072000
                                                                        00073000
   RESABORTINFO        = LPCB(PCBPT + RESABORTINFOWORDNUM)#,            00074000
   SLLPTR              = LPCB(PCBPT + SLLIXWORDNUM)#,                   00075000
   DBXDSINFO           = LPCB(PCBPT + DBXDSINFOWORDNUM)#,               00076000
   STKINFO             = LPCB(PCBPT + STKINFOWORDNUM)#,                 00077000
   WAKEMASK            = LPCB(PCBPT + WAKEMASKWORDNUM)#,                00078000
   FATHERINFO          = LPCB(PCBPT + FATHERINFOWORDNUM)#,              00079000
   SONINFO             = LPCB(PCBPT + SONINFOWORDNUM)#,                 00080000
   BROTHERINFO         = LPCB(PCBPT + BROTHERINFOWORDNUM)#,             00081000
   BPTLINK             = LPCB(PCBPT + BPTLINKWORDNUM)#,                 00082000
   PIMPPIN             = LPCB(PCBPT + PIMPPINWORDNUM)#,                 00083000
   EVENTFLAGS          = LPCB(PCBPT + EVENTFLAGSWORDNUM)#,              00084000
   PROCSTATE           = LPCB(PCBPT + PROCSTATEWORDNUM)#,               00085000
   PIINFO              = LPCB(PCBPT + PIINFOWORDNUM)#,                  00086000
   NIMPPIN             = LPCB(PCBPT + NIMPPINWORDNUM)#,                 00087000
   LASTREFCODESEG0     = LPCB(PCBPT + LASTREFCODEWORDNUM)#,             00088000
   LASTREFCODESEG1     = LPCB(PCBPT + LASTREFCODEWORDNUM + 1)#,         00089000
   PBX                 = LPCB(PCBPT + PBXWORDNUM)#,                     00090000
   QUEUEINGINFO        = LPCB(PCBPT + QUEUEINGINFOWORDNUM)#,            00091000
   MAPDST              = LPCB(PCBPT + MAPDSTWORDNUM)#,                  00092000
   NQPTR               = LPCB(PCBPT + NQPTRWORDNUM)#,                   00093000
   PQPTR               = LPCB(PCBPT + PQPTRWORDNUM)#;                   00094000
                                                                        00095000
                                                                        00096000
<< Misc. bits for TBC , TRBC etc. >>                                    00097000
                                                                        00098000
EQUATE                                                                  00099000
                                                                        00100000
   SARBIT                   = 0,                                        00101000
   CRITBIT                  = 2,                                        00102000
   HASSIRBIT                = 3,                                        00103000
   PIOVRBIT                 = 4,                                        00104000
   INCOREPROTECTEXPBIT      = 6,                                        00105000
   PREEMPTCAPBIT            = 7,                                        00106000
   MUSTPREEMPTBIT           = 8,                                        00107000
   IMPEDEDWAITBIT           = 12,                                       00108000
   SIRWAITBIT               = 13,                                       00109000
   TIMWAITBIT               = 14,                                       00110000
   MEMORYWAITBIT            = 15,                                       00111000
   IMPEDEDWAKEBIT           = 12,                                       00112000
   SIRWAKEBIT               = 13,                                       00113000
   TIMWAKEBIT               = 14,                                       00114000
   MEMORYWAKEBIT            = 15,                                       00115000
   WWSBIT                   = 15,                                       00116000
   DISPQBIT                 = 0,                                        00117000
   MAIN                     = 2,                                        00118000
   SOFTKILL                 = %20,                                      00119000
   LSCHEDBIT                = 1,                                        00120000
   CSCHEDBIT                = 2,                                        00121000
   DSCHEDBIT                = 3,                                        00122000
   ESCHEDBIT                = 4,                                        00123000
   INTERACTIVEBIT           = 5,                                        00124000
   CORERESBIT               = 6,                                        00125000
   HOLDSIRPRIBIT            = 5;                                        00126000
                                                                        00127000
DEFINE                                                                  00128000
                                                                        00129000
   SARFLAG                  = (0:1)#,                                   00130000
   CRITFLAG                 = (2:1)#,                                   00131000
   HASSIRFLAG               = (3:1)#,                                   00132000
   CRITSIRFLAG              = (2:2)#,                                   00133000
   PIOVRFLAG                = (4:1)#,                                   00134000
   INCPROTECTEXPFLAG        = (6:1)#,                                   00135000
   PREEMPTCAPFLAG           = (7:1)#,                                   00136000
   MUSTPREEMPTFLAG          = (8:1)#,                                   00137000
   PCBLONGWAITFLAG          = (9:1)#,                                   00138000
   PCBSHORTWAITFLAG         = (10:1)#,                                  00139000
   PCBTERMREADFLAG          = (11:1)#,                                  00140000
   USEDQUANTUMFLAG          = (12:1)#,                                  00141000
   HOLDIMPPRIFLAG           = (13:1)#,                                  00142000
   DELAYSOFTFLAG            = (8:1)#,                                   00143000
   STOVABORTFLAG            = (14:1)#,                                  00144000
   RITBRKFLAG               = (15:1)#,                                  00145000
   ABSDBFLAG                = (0:1)#,                                   00146000
   XDSDSTFIELD              = (2:14)#,                                  00147000
   STOVRALLFLAG             = (0:1)#,                                   00148000
   STKDSTFIELD              = (2:14)#,                                  00149000
   INSYSTEMFLAG             = (1:1)#,                                   00150000
   OAFIELD                  = (4:2)#,                                   00151000
   CRITEVENTFIELD           = (12:4)#,                                  00152000
   NONCRITEVENTFIELD        = (0:12)#,                                  00153000
   NONCRITEVENTFLD'         = (0:10)#,                                  00154000
   MOURNWAITFLAG            = (0:1)#,                                   00155000
   BLKDIOWAITFLAG           = (4:1)#,                                   00156000
   IMPEDEDWAITFLAG          = (12:1)#,                                  00157000
   SIRWAITFLAG              = (13:1)#,                                  00158000
   RIT'UCOPWAITFLAG         = (6:1)#,                                   00159000
   MAILWAITFLAG             = (3:1)#,                                   00160000
   JUNKWAITFLAG             = (7:1)#,                                   00161000
   TIMERWAITFLAG            = (14:1)#,                                  00162000
   FATHERSONWAKEFLAGS       = (10:2)#,                                  00163000
   FATHERWAITFLAG           = (11:1)#,                                  00164000
   ABORTWAKEFLAGS           = (8:4)#,                                   00165000
   INTFASONWAITFLAGS        = (9:3)#,                                   00166000
   MEMORYWAITFLAG           = (15:1)#,                                  00167000
   MOURNWAKEFLAG            = (0:1)#,                                   00168000
   IMPEDEDWAKEFLAG          = (12:1)#,                                  00169000
   SIRWAKEFLAG              = (13:1)#,                                  00170000
   TIMERWAKEFLAG            = (14:1)#,                                  00171000
   WWS                      = (15:1)#,                                  00172000
   MEMORYWAKEFLAG           = (15:1)#,                                  00173000
   PTYPEFIELD               = (6:3)#,                                   00174000
   PTYPEFIELD'              = (6:2)#,                                   00175000
   FACFLAG                  = (7:1)#,                                   00176000
   STOVFLAG                 = (5:1)#,                                   00177000
   SYSTEMPROCFLAG           = (6:1)#,                                   00178000
   SONOFMAINFLAG            = (8:1)#,                                   00179000
   MAINPROCFLAG             = (7:1)#,                                   00180000
   ALIVEFLAG                = (0:1)#,                                   00181000
   DEADFLAG                 = (6:1)#,                                   00182000
   PPCFIELD                 = (3:2)#,                                   00183000
   SOFTKILLFLAG             = (11:1)#,                                  00184000
   HARDKILLFLAG             = (10:1)#,                                  00185000
   PPCWAITFIELD             = (1:2)#,                                   00186000
   QUEUEFIELD'              = (1:3)#,                                   00187000
   SOFTINTFLAG              = (9:1)#,                                   00188000
   SIPIFLAGSFIELD           = (9:7)#,                                   00189000
   PIFLAGSFIELD             = (10:6)#,                                  00190000
   HYBERNATEFLAG            = (13:1)#,                                  00191000
   STOPFLAG                 = (12:1)#,                                  00192000
   CYFLAG                   = (14:1)#,                                  00193000
   BKFLAG                   = (15:1)#,                                  00194000
   PSIMFIELD                = (0:3)#,                                   00195000
   WAKESOFTFLAG             = (3:1)#,                                   00196000
   DISPQFLAG                = (0:1)#,                                   00197000
   LSCHEDFLAG               = (1:1)#,                                   00198000
   CSCHEDFLAG               = (2:1)#,                                   00199000
   DSCHEDFLAG               = (3:1)#,                                   00200000
   ESCHEDFLAG               = (4:1)#,                                   00201000
   INTERACTIVEFLAG          = (5:1)#,                                   00202000
   PROCRESIDENTFLAG         = (6:1)#,                                   00203000
   HOLDSIRPRIFLAG           = (5:1)#,                                   00204000
   QUEUEFIELD               = (1:4)#,                                   00205000
   ALLOWSOFTFLAG            = (7:1)#,                                   00206000
   PRIFIELD                 = (8:8)#;                                   00207000
                                                                        00208000
DEFINE                                                                  00209000
   SPCBCRIT       = PCB(PCBPT).CRITFLAG#,                               00210000
   SPCBCRITSIR    = PCB(PCBPT).CRITSIRFLAG#,                            00211000
   SPCBPIOVRFLAG  = PCB(PCBPT).PIOVRFLAG#,                              00212000
   SPCBDELAYSOFT  = PCB(PCBPT).DELAYSOFTFLAG#,                          00213000
   SPCBWAITFIELD  = PCB(PCBPT+WAKEMASKWORDNUM).(0:15)#,                 00214000
   SPCBNONCRITWAIT= PCB(PCBPT+WAKEMASKWORDNUM).NONCRITEVENTFIELD#,      00215000
   SPCBABORTWAKE  = PCB(PCBPT+WAKEMASKWORDNUM).ABORTWAKEFLAGS#,         00216000
   SPCBIMPEDE     = PCB(PCBPT+WAKEMASKWORDNUM).IMPEDEDWAITFLAG#,        00217000
   SPCBPSIM       = PCB(PCBPT+PIINFOWORDNUM).PSIMFIELD#,                00218000
   SPCBWAKESOFT   = PCB(PCBPT+PIINFOWORDNUM).WAKESOFTFLAG#,             00219000
   SPCBSOFTINT    = PCB(PCBPT+PROCSTATEWORDNUM).SOFTINTFLAG#,           00220000
   SPCBPIFLAGS    = PCB(PCBPT+PROCSTATEWORDNUM).PIFLAGSFIELD#,          00221000
   SPCBDISPQ      = PCB(PCBPT+QUEUEINGINFOWORDNUM).DISPQFLAG#,          00222000
   SPCBALLOWSOFT  = PCB(PCBPT+QUEUEINGINFOWORDNUM).ALLOWSOFTFLAG#,      00223000
   SPCBSTKDST     = PCB(PCBPT+STKINFOWORDNUM).STKDSTFIELD#,             00224000
   SPCBXDSDST     = PCB(PCBPT+DBXDSINFOWORDNUM).XDSDSTFIELD#,           00225000
   SPCBFATHERINFO = PCB(PCBPT+FATHERINFOWORDNUM)#,                      00226000
   SPCBSONINFO    = PCB(PCBPT+SONINFOWORDNUM)#,                         00227000
   SPCBBROTHERINFO= PCB(PCBPT+BROTHERINFOWORDNUM)#,                     00228000
   SPCBPIMPPIN    = PCB(PCBPT+PIMPPINWORDNUM)#,                         00229000
   SPCBNIMPPIN    = PCB(PCBPT+NIMPPINWORDNUM)#,                         00230000
   SPCBPTYPE      = PCB(PCBPT+PROCSTATEWORDNUM).PTYPEFIELD#,            00231000
   SPCBPTYPE'     = PCB(PCBPT+PROCSTATEWORDNUM).PTYPEFIELD'#,           00232000
   SPCBQTYPE      = PCB(PCBPT+QUEUEINGINFOWORDNUM).QUEUEFIELD#,         00233000
   SPCBPBX        = PCB(PCBPT+PBXWORDNUM)#,                             00234000
   SPCBMAPDST     = PCB(PCBPT+MAPDSTWORDNUM)#,                          00235000
   SPCBPPRI       = PCB(PCBPT+QUEUEINGINFOWORDNUM).PRIFIELD#;           00236000
                                                                        00237000
<<=========================================================             00238000
=                                                         =             00239000
=                  END INCLPCB5                           =             00240000
=                                                         =             00241000
=========================================================>>             00242000
