PRICHK MACRO V05.02 Thursday 18-Dec-86 13:29 Table of contents 1- 2 TITLE PAGE 2- 26 TABLES OF TASKS & PRIVILEGES NEEDED 3- 57 THE PRIVILEGE TABLES 4- 211 THE CODE PRICHK MACRO V05.02 Thursday 18-Dec-86 13:29 Page 1 1 .TITLE PRICHK 2 .SBTTL TITLE PAGE 3 .IDENT /MRH001/ 4 ; 5 ; F.BORGER 6 ; MICHAEL REESE MEDICAL CENTER 7 ; DEPARTMENT OF MEDICAL PHYSICS 8 ; JULY 78 9 ; 10 ; THIS MODULE IS AVAILABLE FOR LINKING INTO MCR, MCI ETC 11 ; 12 ; IT PERFORMS THE SAME FUNCTION OF PDS, IE 13 ; A/LOOKS AT ...XXX TASK USER IS REQUESTING 14 ; 15 ; B/CHECKS PRIVILEDGE WORD OF USER PROFILE FILE TO SEE IF REQUESTOR 16 ; HAS PRIVILEDGE ON CALLING, 17 ; R0 MUST CONTAIN PROTECTION WORD, OBTAINED FROM U.RBOF THE TI PUD 18 ; R1 MUST CONTAIN RAD 50 3 LETTER TASK NAME 19 ; 20 ; C/RETURNS WITH 0 IN R0 AS SUCCESS INDICATOR 21 ; 22 ; D/RETURNS WITH -1 IN R0 AS SUCCESS INDICATOR 23 ; 24 ; E/OTHER REGISTERS UNCHANGED PRICHK MACRO V05.02 Thursday 18-Dec-86 13:29 Page 2 TABLES OF TASKS & PRIVILEGES NEEDED 26 .SBTTL TABLES OF TASKS & PRIVILEGES NEEDED 27 ; 28 ; DEFINE PRIV. BIT VALUES FOR IAS 29 ; 30 ;PRIVILEGE BIT DEFINITIONS FOR CURRENT SYSTEM 31 ; 32 000001 PR.FIL=1 ;file work (PIP,VeriFY,FLX,DMP,QUE,RECover,SDV,SRD,SRT,TUI) 33 000002 PR.RUN=2 ;Task manipulation (INStall,REMove,REPlace,RUN) 34 000004 PR.BAS=4 ;Reese BASic, BASIC+2, etc. 35 000010 PR.COB=10 ;COBOL (not implemented) 36 000020 PR.COR=20 ;was CORal, used for editors (EDI, EDT, TECo) 37 000040 PR.FOR=40 ;FORtran, (FV2,F4P,F77,etc.) 38 000100 PR.LIN=100 ;Linkers (TKB,TKX) 39 000200 PR.MAC=200 ;MACro 40 000400 PR.SCI=400 ;super user, SAVe, OPEn,BAD,ROLlin,etc. 41 001000 PR.SUB=1000 ;Set User at Batch (if bit clear, keep his task at batch level) 42 002000 PR.MCR=2000 ;REESE Hostile Terminal (If bit clear, set as Hostile) 43 004000 PR.DEV=4000 ;Device management (DisMOunt,MOUnt,REDirect,UNLoad) 44 010000 PR.DUM=10000 ;DuMP 45 020000 PR.LIB=20000 ;LIBrarian 46 040000 PR.SYS=40000 ;not implemented 47 100000 PR.RTC=100000 ;not implemented 48 ; 49 ;DEFINE MACRO TO GENTERATE TABLES 50 .MACRO TABLE TASK,PRFLAG 51 .PSECT NAMES 52 .RAD50 ?TASK? 53 .PSECT FLAGS 54 .WORD PRFLAG 55 .ENDM PRICHK MACRO V05.02 Thursday 18-Dec-86 13:29 Page 3 THE PRIVILEGE TABLES 57 .SBTTL THE PRIVILEGE TABLES 58 ; 59 ;MAKE ROOM FOR TABLES IN SEPARATE PSECTS 60 ; 61 ; 62 000000 .PSECT NAMES,ro 63 000000 NAMES: 64 000000 .PSECT FLAGS,ro 65 000000 FLAGS: 66 000000 .PSECT code,ro 67 ; NOW GENERATE TABLES 68 ; 69 000000 TABLE AFO,PR.FIL 70 000002 TABLE ATT,PR.SCI 71 000004 TABLE AT.,PR.MCR 72 000006 TABLE AZP,PR.SCI 73 000010 TABLE BAD,PR.SCI 74 000012 TABLE BAK,PR.SCI 75 000014 TABLE BAS,PR.BAS 76 000016 TABLE BA2,PR.BAS 77 000020 TABLE BA3,PR.BAS 78 000022 TABLE BA4,PR.BAS 79 000024 TABLE BA5,PR.BAS 80 000026 TABLE BA6,PR.BAS 81 000030 TABLE BA7,PR.BAS 82 000032 TABLE BA8,PR.BAS 83 000034 TABLE BA9,PR.BAS 84 000036 TABLE B10,PR.BAS 85 000040 TABLE B11,PR.BAS 86 000042 TABLE BTW,PR.BAS 87 000044 TABLE BTH,PR.BAS 88 000046 TABLE BDI,PR.FIL 89 000050 TABLE BLO,PR.FIL 90 000052 TABLE BOO,PR.SCI 91 000054 TABLE BP2,PR.BAS 92 000056 TABLE BRE,PR.SCI 93 000060 TABLE BRI,PR.FIL 94 000062 TABLE BRU,PR.SCI 95 000064 TABLE B2R,PR.BAS 96 000066 TABLE B2T,PR.BAS 97 000070 TABLE B2X,PR.BAS 98 000072 TABLE CDA,PR.SCI 99 000074 TABLE CMD,PR.SCI 100 000076 TABLE CMP,PR.FIL 101 000100 TABLE CON,PR.SCI 102 000102 TABLE COP,PR.FIL 103 000104 TABLE COR,PR.SCI ;?? 104 000106 TABLE CZP,PR.SCI 105 000110 TABLE DAN,PR.FIL 106 000112 TABLE DEL,PR.FIL 107 000114 TABLE DIA,PR.FIL 108 000116 TABLE DIR,PR.FIL 109 000120 TABLE DMO,PR.DEV 110 000122 TABLE DMP,PR.FIL 111 000124 TABLE DOB,PR.SCI 112 000126 TABLE DOC,PR.FIL 113 000130 TABLE DSC,PR.SCI PRICHK MACRO V05.02 Thursday 18-Dec-86 13:29 Page 3-1 THE PRIVILEGE TABLES 114 000132 TABLE EDI,PR.COR 115 000134 TABLE EDT,PR.COR 116 000136 TABLE EDX,PR.COR 117 000140 TABLE FDU,PR.FIL 118 000142 TABLE FHD,PR.FIL 119 000144 TABLE FLB,PR.SCI 120 000146 TABLE FLX,PR.FIL 121 000150 TABLE FOR,PR.FOR 122 000152 TABLE FV2,PR.FOR 123 000154 TABLE F4P,PR.FOR 124 000156 TABLE F77,PR.FOR 125 000160 TABLE FMT,PR.SCI 126 000162 TABLE FRE,PR.FIL 127 000164 TABLE FRG,PR.SCI 128 000166 TABLE HOL,PR.SCI 129 000170 TABLE IDX,PR.FOR 130 000172 TABLE INI,PR.SCI 131 000174 TABLE INS,PR.RUN 132 000176 TABLE INV,PR.SCI 133 000200 TABLE KED,PR.COR 134 000202 TABLE K52,PR.COR 135 000204 TABLE LBR,PR.LIB 136 000206 TABLE LIS,PR.FIL 137 000210 TABLE LOA,PR.SCI 138 000212 TABLE LST,PR.FIL 139 000214 TABLE LUN,PR.SCI 140 000216 TABLE MAC,PR.MAC 141 000220 TABLE MPP,PR.MAC ;AND THE MACRO PRE-PROCESSOR FOR RATFIV 142 000222 TABLE MAX,PR.MAC 143 000224 TABLE MEM,PR.SCI 144 000226 TABLE MFT,PR.SCI 145 000230 TABLE MMC,PR.SCI ;MAG-TAPE COPY 146 000232 TABLE MOU,PR.DEV 147 000234 TABLE MPG,PR.FIL 148 000236 TABLE MSM,PR.SCI ;MESSAGE MONITOR 149 000240 TABLE MTC,PR.SCI 150 000242 TABLE MUN,PR.COR 151 000244 TABLE OPE,PR.SCI 152 000246 TABLE OPR,PR.SCI 153 000250 TABLE PAG,PR.FIL 154 000252 TABLE PAT,PR.SCI 155 000254 TABLE PIP,PR.FIL 156 000256 TABLE PRI,PR.FIL 157 000260 TABLE PRO,PR.FIL 158 000262 TABLE PSE,PR.SCI 159 000264 TABLE PUR,PR.FIL 160 000266 TABLE PWE,PR.SCI 161 000270 TABLE QUE,PR.FIL 162 000272 TABLE RAT,PR.FOR 163 000274 TABLE RA5,PR.FOR 164 000276 TABLE RCV,PR.FIL 165 000300 TABLE REA,PR.SCI 166 000302 TABLE REC,PR.FIL 167 000304 TABLE RED,PR.DEV 168 000306 TABLE REM,PR.RUN 169 000310 TABLE RES,PR.FOR 170 000312 TABLE REP,PR.RUN PRICHK MACRO V05.02 Thursday 18-Dec-86 13:29 Page 3-2 THE PRIVILEGE TABLES 171 000314 TABLE ROL,PR.SCI 172 000316 TABLE RUN,PR.RUN 173 000320 TABLE SAL,PR.SCI 174 000322 TABLE SAV,PR.SCI 175 000324 TABLE SDV,PR.FIL 176 000326 TABLE SET,PR.SCI 177 000330 TABLE SGN,PR.SCI 178 000332 TABLE SLP,PR.COR 179 000334 TABLE SOR,PR.FIL 180 000336 TABLE SRD,PR.FIL 181 000340 TABLE SRT,PR.FIL 182 000342 TABLE SWA,PR.FIL 183 000344 TABLE SYD,PR.SCI 184 000346 TABLE SYE,PR.SCI 185 000350 TABLE TCP,PR.SCI ;TAPE COPY 186 000352 TABLE TCV,PR.COR 187 000354 TABLE TEC,PR.COR 188 000356 TABLE TEN,PR.COR 189 000360 TABLE TEQ,PR.COR 190 000362 TABLE TES,PR.COR 191 000364 TABLE TIM,PR.SCI 192 000366 TABLE TKB,PR.LIN 193 000370 TABLE TKX,PR.LIN 194 000372 TABLE TPC,PR.SCI 195 000374 TABLE TRU,PR.FIL 196 000376 TABLE TSE,PR.SCI 197 000400 TABLE TUI,PR.FIL 198 000402 TABLE TYP,PR.FIL 199 000404 TABLE TYS,PR.FIL 200 000406 TABLE UFD,PR.SCI 201 000410 TABLE UNL,PR.DEV 202 000412 TABLE UNP,PR.FIL 203 000414 TABLE USE,PR.SCI 204 000416 TABLE UTL,PR.SCI 205 000420 TABLE VFY,PR.FIL 206 000422 TABLE VOL,PR.SCI 207 000424 TABLE XRF,PR.FOR 208 000426 TABLE ZAP,PR.SCI 209 000430 TABLE END,0 ;PUT 0 IN AS END OF TABLE INDICATOR PRICHK MACRO V05.02 Thursday 18-Dec-86 13:29 Page 4 THE CODE 211 .SBTTL THE CODE 212 ; 213 000000 .PSECT code,ro 214 ; 215 ; 216 000000 010246 PRICHK:: MOV R2,-(SP) ;SAVE USED REGISTER 217 000002 005002 CLR R2 218 000004 020162 000000' 1$: CMP R1,NAMES(R2) ;COMPARE REQUESTED NAME WITH TABLE NAME 219 000010 001011 BNE 4$ ;BR IF NOT SAME 220 ;FOUND TASK ON RESTRICTED LIST, CHECK IT 221 000012 036200 000000' BIT FLAGS(R2),R0 ;IS NEEDED BIT SET IN USER PRIVILEGE WORD ? 222 000016 001003 BNE 2$ ;YES ,USER MAY DO FUNCTION 223 000020 012700 177777 MOV #-1,R0 ;NO SHOW ERROR INDICATION 224 000024 000401 BR 3$ ;AND RETURN 225 000026 005000 2$: CLR R0 ;SHOW GOOD 226 000030 012602 3$: MOV (SP)+,R2 ;RESTORE R2 227 000032 000207 RTS PC ;AND RETURN 228 000034 005722 4$: TST (R2)+ ;BUMP R2 TO NEXT WORD IN TABLES 229 000036 005762 000000' TST FLAGS(R2) ;END OF TABLES ? 230 000042 001360 BNE 1$ ;IF NOT, WE TRY AGAIN 231 000044 005000 CLR R0 ;TASK NOT IN RESTRICTED LIST 232 000046 012602 MOV (SP)+,R2 ;RESTORE R2 233 000050 000207 RTS PC ;AND RETURN 234 000001 .END PRICHK MACRO V05.02 Thursday 18-Dec-86 13:29 Page 4-1 Symbol table FLAGS 000000R 003 PR.COB= 000010 PR.FIL= 000001 PR.MAC= 000200 PR.SCI= 000400 NAMES 000000R 002 PR.COR= 000020 PR.FOR= 000040 PR.MCR= 002000 PR.SUB= 001000 PRICHK 000000RG 004 PR.DEV= 004000 PR.LIB= 020000 PR.RTC= 100000 PR.SYS= 040000 PR.BAS= 000004 PR.DUM= 010000 PR.LIN= 000100 PR.RUN= 000002 . ABS. 000000 000 (RW,I,GBL,ABS,OVR) 000000 001 (RW,I,LCL,REL,CON) NAMES 000432 002 (RO,I,LCL,REL,CON) FLAGS 000432 003 (RO,I,LCL,REL,CON) CODE 000052 004 (RO,I,LCL,REL,CON) Errors detected: 0 *** Assembler statistics Work file reads: 0 Work file writes: 0 Size of work file: 123 Words ( 1 Pages) Size of core pool: 12758 Words ( 49 Pages) Operating system: IAS Elapsed time: 00:00:13.35 PRICHK,PRICHK/-SP=PRICHK