cdc:nos2.source:opl.opl871:deck:sxinit.001
Deck SXINIT Part 001
3 Modifications
Listing Sections
- Deck SXINIT Start
- Deck SXINIT Part 1 (Line 2047)
Source
Seq # *Modification Id* Act ----------------------------+ 02047 M00S01981.sxinit +++| FASTFOR DUMMY = 1 STEP 1 UNTIL MAXSLV + 1 02048 M00S01982.sxinit +++| DO 02049 M00S01983.sxinit +++| BEGIN # INITIALIZE EACH SLAVE # 02050 M00S01984.sxinit +++| IF DUMMY EQ MIDX OR ## 02051 M00S01985.sxinit +++| SINDX GR NUMSLV 02052 M00S01986.sxinit +++| THEN # BYPASS THIS *MF* # 02053 M00S01987.sxinit +++| BEGIN 02054 M00S01988.sxinit +++| TEST DUMMY; 02055 M00S01989.sxinit +++| END 02056 M00S01990.sxinit +++| 02057 M00S01991.sxinit +++| P<MTOSREPBLK> = LOC(MTOSHEAD) + L$MTOSH + (SINDX-1)*NUMRB; 02058 M00S01992.sxinit +++| PFNAME = STOMPFN; 02059 M00S01993.sxinit +++| CHAR10 = XCOD(DUMMY); 02060 M00S01994.sxinit +++| CHAR1 = C<9,1>CHAR10; 02061 M00S01995.sxinit +++| B<36,6>PFNAME = CHAR1; 02062 M00S01996.sxinit +++| SLVN$INDX[0] = CHAR1; 02063 M00S01997.sxinit +++| MSH$PFNS[SINDX] = PFNAME; 02064 M00S01998.sxinit +++| 02065 M00S01999.sxinit +++|# 02066 M00S02000.sxinit +++|* ATTACH AND READ THE *STOM* FILE FOR THIS SLAVE 02067 M00S02001.sxinit +++|# 02068 M00S02002.sxinit +++| 02069 M00S02003.sxinit +++| PFD("ATTACH",PFNAME,0,"PW",STOMPW,"M","RM","RC",PFSTAT, "NA",0 02070 M00S02004.sxinit +++| ,"UP",0,0); 02071 M00S02005.sxinit +++| IF PFSTAT NQ OK 02072 M00S02006.sxinit +++| THEN # REJECT SLAVE # 02073 M00S02007.sxinit +++| BEGIN 02074 M00S02008.sxinit +++| STATS = S"OMIT"; 02075 M00S02009.sxinit +++| MMFD$PROB[0] = "NO *STOM* FILE."; 02076 M00S02010.sxinit +++| GOTO INITSLAVE; 02077 M00S02011.sxinit +++| END 02078 M00S02012.sxinit +++| 02079 M00S02013.sxinit +++| ZSETFET(LOC(STOMM),PFNAME,LOC(STOMMBUF),STOMBUFL,SFETL); 02080 M00S02014.sxinit +++| READ(STOMM,NRCL); 02081 M00S02015.sxinit +++| READW(STOMM,RBBUF,RBSIZE,STAT); 02082 M00S02016.sxinit +++| MMFD$PROB[0] = "STOM FILE LENGTH PROB."; 02083 M00S02017.sxinit +++| IF STAT NQ OK 02084 M00S02018.sxinit +++| THEN # REJECT SLAVE # 02085 M00S02019.sxinit +++| BEGIN 02086 M00S02020.sxinit +++| STATS = S"OMIT"; 02087 M00S02021.sxinit +++| GOTO INITSLAVE; 02088 M00S02022.sxinit +++| END 02089 M00S02023.sxinit +++| 02090 M00S02024.sxinit +++| PDATE(PDATESTAT[0]); 02091 M00S02025.sxinit +++| RTIME(RTIMESTAT[0]); 02092 M00S02026.sxinit +++| 02093 M00S02027.sxinit +++|# 02094 M00S02028.sxinit +++|* INITIALIZE THE *MTOS* FILE HEADER 02095 M00S02029.sxinit +++|* TO INDICATE THE SLAVE EXEC STATUS. 02096 M00S02030.sxinit +++|# 02097 M00S02031.sxinit +++| 02098 M00S02032.sxinit +++| MSH$SSW[SINDX] = SM$SSW[0]; 02099 M00S02033.sxinit +++| MSH$MIDS[SINDX] = SM$MIDS[0]; 02100 M00S02034.sxinit +++| 02101 M00S02035.sxinit +++| IF SM$IDLE[0] 02102 M00S02036.sxinit +++| THEN 02103 M00S02037.sxinit +++| BEGIN 02104 M00S02038.sxinit +++| STATS = S"IDLE"; 02105 M00S02039.sxinit +++| SLVN$STAT[0] = "IDLE."; 02106 M00S02040.sxinit +++| MSH$TIMOUT[SINDX] = MAXSECS; 02107 M00S02041.sxinit +++| END 02108 M00S02042.sxinit +++| 02109 M00S02043.sxinit +++| ELSE 02110 M00S02044.sxinit +++| BEGIN 02111 M00S02045.sxinit +++| STATS = S"ACTIVE"; 02112 M00S02046.sxinit +++| SLVN$STAT[0] = "ACTIVE."; 02113 M00S02047.sxinit +++| MSH$TIMOUT[SINDX] = RTIMSECS[0] + SLAV$INTV; 02114 M00S02048.sxinit +++| END 02115 M00S02049.sxinit +++| 02116 M00S02050.sxinit +++|# 02117 M00S02051.sxinit +++|* CHECK THE LENGTH OF THE *STOM* FILE AND 02118 M00S02052.sxinit +++|* INITIALIZE THE MASTER REPLY CODE FIELDS. 02119 M00S02053.sxinit +++|# 02120 M00S02054.sxinit +++| 02121 M00S02055.sxinit +++| FASTFOR RB = 1 STEP 1 UNTIL NUMRB 02122 M00S02056.sxinit +++| DO 02123 M00S02057.sxinit +++| BEGIN # CHECK LENGTH OF THE *STOM* FILE # 02124 M00S02058.sxinit +++| READW(STOMM,RBBUF,RBSIZE,STAT); 02125 M00S02059.sxinit +++| IF STAT NQ OK 02126 M00S02060.sxinit +++| THEN 02127 M00S02061.sxinit +++| BEGIN 02128 M00S02062.sxinit +++| STATS = S"OMIT"; 02129 M00S02063.sxinit +++| GOTO INITSLAVE; 02130 M00S02064.sxinit +++| END 02131 M00S02065.sxinit +++| 02132 M00S02066.sxinit +++| IF MSR$MRC[RB] EQ S"ACCEPTED" 02133 M00S02067.sxinit +++| THEN # INITIALIZE REPLY CODE AND STATUS 02134 M00S02068.sxinit +++| FIELDS # 02135 M00S02069.sxinit +++| BEGIN 02136 M00S02070.sxinit +++| MSR$MRC[RB] = S"FINISHED"; 02137 M00S02071.sxinit +++| MSR$REPLY[RB] = S"ABANDONED"; 02138 M00S02072.sxinit +++| MSR$PDATE[RB] = PDATEV[0]; 02139 M00S02073.sxinit +++| END 02140 M00S02074.sxinit +++| 02141 M00S02075.sxinit +++| END # CHECK LENGTH OF THE *STOM* FILE # 02142 M00S02076.sxinit +++| 02143 M00S02077.sxinit +++|INITSLAVE: 02144 M00S02078.sxinit +++| 02145 M00S02079.sxinit +++| MSH$STATS[SINDX] = STATS; 02146 M00S02080.sxinit +++| IF STATS EQ S"ACTIVE" OR STATS EQ S"IDLE" 02147 M00S02081.sxinit +++| THEN # SLAVE IS DEFINED # 02148 M00S02082.sxinit +++| BEGIN 02149 M00S02083.sxinit +++| MSH$DEFD[SINDX] = TRUE; 02150 M00S02084.sxinit +++| SLAVECTR = SLAVECTR + 1; 02151 M00S02085.sxinit +++| MESSAGE(SLVNSTAT,SYSUDF1); 02152 M00S02086.sxinit +++| SINDX = SINDX + 1; 02153 M00S02087.sxinit +++| END 02154 M00S02088.sxinit +++| 02155 M00S02089.sxinit +++| ELSE # SLAVE IS NOT DEFINED # 02156 M00S02090.sxinit +++| BEGIN 02157 M00S02091.sxinit +++| MSH$DEFD[SINDX] = FALSE; 02158 M00S02092.sxinit +++| SLVN$STAT[0] = "OMITTED - "; 02159 M00S02093.sxinit +++| MESSAGE(SLVNSTAT,SYSUDF1); 02160 M00S02094.sxinit +++| MESSAGE(MMFDETAIL,SYSUDF1); 02161 M00S02095.sxinit +++| END 02162 M00S02096.sxinit +++| 02163 M00S02097.sxinit +++| END # INITIALIZE EACH SLAVE # 02164 M00S02098.sxinit +++| 02165 M00S02099.sxinit +++| 02166 M00S02100.sxinit +++| 02167 M00S02101.sxinit +++|INITMASTER: 02168 M00S02102.sxinit +++| 02169 M00S02103.sxinit +++|# 02170 M00S02104.sxinit +++|* ESTABLISH THE NEXT TIME TO CALL THE SLAVE 02171 M00S02105.sxinit +++|* REQUEST PROCESSOR AND TO FLUSH THE *MTOS* BUFFERS. 02172 M00S02106.sxinit +++|* ISSUE A MESSAGE WITH THE FINAL INITIALIZATION STATUS. 02173 M00S02107.sxinit +++|# 02174 M00S02108.sxinit +++| 02175 M00S02109.sxinit +++| MTOS$EXPIR = MAXSECS; 02176 M00S02110.sxinit +++| STOM$EXPIR = MAXSECS; 02177 M00S02111.sxinit +++| IF STATM EQ S"SMF" 02178 M00S02112.sxinit +++| THEN 02179 M00S02113.sxinit +++| BEGIN 02180 M00S02114.sxinit +++| MMF$TEXT[0] = " EXEC IN SINGLE MAINFRAME MODE."; 02181 M00S02115.sxinit +++| MESSAGE(MMFSTAT,SYSUDF1); 02182 M00S02116.sxinit +++| RETURN; 02183 M00S02117.sxinit +++| END 02184 M00S02118.sxinit +++| 02185 M00S02119.sxinit +++| IF STATM EQ S"ACTIVE" 02186 M00S02120.sxinit +++| THEN # TEST IF ALL SLAVES OMITTED # 02187 M00S02121.sxinit +++| BEGIN # CHECK SLAVE STATUS # 02188 M00S02122.sxinit +++| IF SLAVECTR NQ 0 02189 M00S02123.sxinit +++| THEN 02190 M00S02124.sxinit +++| BEGIN 02191 M00S02125.sxinit +++| MTOS$EXPIR = 0; 02192 M00S02126.sxinit +++| STOM$EXPIR = 0; 02193 M00S02127.sxinit +++| MMF$STAT[0] = "OK."; 02194 M00S02128.sxinit +++| MESSAGE(MMFSTAT,SYSUDF1); 02195 M00S02129.sxinit +++| RETURN; 02196 M00S02130.sxinit +++| END 02197 M00S02131.sxinit +++| 02198 M00S02132.sxinit +++| ELSE 02199 M00S02133.sxinit +++| BEGIN 02200 M00S02134.sxinit +++| MMFD$PROB[0] = "ALL SLAVES OMITTED."; 02201 M00S02135.sxinit +++| END 02202 M00S02136.sxinit +++| 02203 M00S02137.sxinit +++| END # CHECK SLAVE STATUS # 02204 M00S02138.sxinit +++| 02205 M00S02139.sxinit +++| MMF$STAT[0] = "FAILED - "; 02206 M00S02140.sxinit +++| MESSAGE(MMFSTAT,SYSUDF1); 02207 M00S02141.sxinit +++| MESSAGE(MMFDETAIL,SYSUDF1); 02208 M00S02142.sxinit +++| RETERN(MTOSM,RCL); 02209 M00S02143.sxinit +++| RETURN; 02210 M00S02144.sxinit +++| END # INITSRP # 02211 M00S02145.sxinit +++| 02212 M00S02146.sxinit +++| TERM 02213 M00S02147.sxinit +++|PROC INITTAB; 02214 M00S02148.sxinit +++|# TITLE INITTAB - INITIALIZES ASSORTED TABLES. # 02215 M00S02149.sxinit +++| BEGIN # INITTAB # 02216 M00S02150.sxinit +++| 02217 M00S02151.sxinit +++|# 02218 M00S02152.sxinit +++|** INITTAB - INITIALIZES ASSORTED TABLES. 02219 M00S02153.sxinit +++|* 02220 M00S02154.sxinit +++|* THIS ROUTINE WILL INITIALIZE TABLES USED BY *SSEXEC* AND CREATE 02221 M00S02155.sxinit +++|* THE MEMORY ALLOCATION TABLE (*MAT*) WHICH DESCRIBES THE *FWA* OF 02222 M00S02156.sxinit +++|* EACH TABLE, THE ENTRY COUNT AND THE SPACE ALLOCATED FOR EACH 02223 M00S02157.sxinit +++|* TABLE. 02224 M00S02158.sxinit +++|* 02225 M00S02159.sxinit +++|* EXIT TABLES DEFINED IN THE *MAT* HAVE BEEN INITIALIZED. 02226 M00S02160.sxinit +++|* 02227 M00S02161.sxinit +++|* MESSAGES SSEXEC SEEKING FL INCREASE. 02228 M00S02162.sxinit +++|* SSEXEC ACTIVE. 02229 M00S02163.sxinit +++|* EXEC ABNORMAL - INITTAB. 02230 M00S02164.sxinit +++|# 02231 M00S02165.sxinit +++| 02232 M00S02166.sxinit +++|# 02233 M00S02167.sxinit +++|**** PROC INITTAB - XREF LIST BEGIN. 02234 M00S02168.sxinit +++|# 02235 M00S02169.sxinit +++| 02236 M00S02170.sxinit +++| XREF 02237 M00S02171.sxinit +++| BEGIN 02238 M00S02172.sxinit +++| PROC ABORT; # CALLS ABORT MACRO # 02239 M00S02173.sxinit +++| PROC CALCTS; # CALCULATES TABLE SPACE # 02240 M00S02174.sxinit +++| PROC INITTS; # INITIALIZES TABLES # 02241 M00S02175.sxinit +++| PROC MEMORY; # CALLS MESSAGE MACRO # 02242 M00S02176.sxinit +++| PROC MESSAGE; # CALLS *MESSAGE* MACRO # 02243 M00S02177.sxinit +++| PROC MNGMEM; # CHANGES FIELD LENGTH # 02244 M00S02178.sxinit +++| PROC MSG; # CALLS *MESSAGE* MACRO # 02245 M00S02179.sxinit +++| PROC RECALL; # CALLS RECALL MACRO # 02246 M00S02180.sxinit +++| FUNC XCDD C(10); # INTEGER TO DECIMAL DISPLAY # 02247 M00S02181.sxinit +++| PROC ZFILL; # ZEROES BUFFER SPACE # 02248 M00S02182.sxinit +++| END 02249 M00S02183.sxinit +++| 02250 M00S02184.sxinit +++|# 02251 M00S02185.sxinit +++|**** PROC INITTAB - XREF LIST END. 02252 M00S02186.sxinit +++|# 02253 M00S02187.sxinit +++| 02254 M00S02188.sxinit +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 02255 M00S02189.sxinit +++|*CALL COMBFAS 02256 M00S02190.sxinit +++|*CALL COMBMAT 02257 M00S02191.sxinit +++|*CALL COMXACM 02258 M00S02192.sxinit +++|*CALL COMXCTF 02259 M00S02193.sxinit +++|*CALL COMXMSC 02260 M00S02194.sxinit +++|*CALL COMXINT 02261 M00S02195.sxinit +++|*CALL,COMXJCA 02262 M00S02196.sxinit +++| 02263 M00S02197.sxinit +++| ITEM DC$FL C(10); # CHARACTER FIELD FOR *XCDD* # 02264 M00S02198.sxinit +++| ITEM FLCHNG I; # FIELD LENGTH CHANGE AMOUNT # 02265 M00S02199.sxinit +++| ITEM I U; # INDEX # 02266 M00S02200.sxinit +++| ITEM RCLFLAG B; # *FL* ACCESS DELAY FLAG # 02267 M00S02201.sxinit +++| ITEM RESP U; # RESPONSE FROM *MNGMEM* # 02268 M00S02202.sxinit +++| ITEM TLAST U; # LAST TABLE WORD # 02269 M00S02203.sxinit +++| ITEM TLEN U; # TABLE LENGTH # 02270 M00S02204.sxinit +++| ITEM TSTART U; # FIRST TABLE WORD # 02271 M00S02205.sxinit +++| 02272 M00S02206.sxinit +++|# 02273 M00S02207.sxinit +++|* ARRAY FOR *ZFILL* PROCEDURE. 02274 M00S02208.sxinit +++|# 02275 M00S02209.sxinit +++| 02276 M00S02210.sxinit +++| BASED 02277 M00S02211.sxinit +++| ARRAY DUMAR[0:0] P(1); 02278 M00S02212.sxinit +++| ; 02279 M00S02213.sxinit +++| 02280 M00S02214.sxinit +++| 02281 M00S02215.sxinit +++|# 02282 M00S02216.sxinit +++|* MESSAGE BUFFER. 02283 M00S02217.sxinit +++|# 02284 M00S02218.sxinit +++| 02285 M00S02219.sxinit +++| ARRAY MSGBUF[0:0] P(5); 02286 M00S02220.sxinit +++| BEGIN # ARRAY MSGBUF # 02287 M00S02221.sxinit +++| ITEM MSG$LINE C(00,00,40); # MESSAGE LINE # 02288 M00S02222.sxinit +++| ITEM MSG$RZRO C(04,00,12); # ZERO BYE TERMINATOR # 02289 M00S02223.sxinit +++| END # ARRAY MSGBUF # 02290 M00S02224.sxinit +++| 02291 M00S02225.sxinit +++| ARRAY STATARY[0:0] P(1); # STATUS FOR MEMORY MACRO # 02292 M00S02226.sxinit +++| BEGIN # STATARY # 02293 M00S02227.sxinit +++| ITEM STAT U(00,00,30); # STATUS # 02294 M00S02228.sxinit +++| ITEM ZEROFL U(00,30,30); # ZERO FILL REST OF WORD # 02295 M00S02229.sxinit +++| END # STATARY # 02296 M00S02230.sxinit +++| 02297 M00S02231.sxinit +++| CONTROL EJECT; 02298 M00S02232.sxinit +++| 02299 M00S02233.sxinit +++|# 02300 M00S02234.sxinit +++|* CALL *CALCTS* TO CALCULATE THE ENTRY COUNTS AND THE TABLE SPACE 02301 M00S02235.sxinit +++|* REQUIRED. 02302 M00S02236.sxinit +++|# 02303 M00S02237.sxinit +++| 02304 M00S02238.sxinit +++| CALCTS; 02305 M00S02239.sxinit +++| 02306 M00S02240.sxinit +++| P<RA$AREA> = 0; # POINTER TO *RA* AREA # 02307 M00S02241.sxinit +++| 02308 M00S02242.sxinit +++|# 02309 M00S02243.sxinit +++|* CYCLE THROUGH ARRAY *MAT* CALCULATING THE *FWA* OF EACH ENTRY 02310 M00S02244.sxinit +++|* BASED ON THE *FWA* AND SPACE REQUIRED OF THE PREVIOUS ENTRY. 02311 M00S02245.sxinit +++|# 02312 M00S02246.sxinit +++| 02313 M00S02247.sxinit +++| NEXTADR = RA$HHA; # FOR *MNGMEM* OPERATIONS # 02314 M00S02248.sxinit +++| MAT$FWA[0] = RA$HHA; # USE NEXT AVAILABLE FOR FIRST # 02315 M00S02249.sxinit +++| 02316 M00S02250.sxinit +++| SLOWFOR I = 1 STEP 1 ## 02317 M00S02251.sxinit +++| WHILE I LS MAT$ENTRY"MAT$LAST" 02318 M00S02252.sxinit +++| DO 02319 M00S02253.sxinit +++| BEGIN 02320 M00S02254.sxinit +++| MAT$FWA[I] = MAT$FWA[I-1] + MAT$SPACE[I-1]; 02321 M00S02255.sxinit +++| END 02322 M00S02256.sxinit +++| 02323 M00S02257.sxinit +++|# 02324 M00S02258.sxinit +++|* GET THE MEMORY REQUIRED FOR THE VARIABLE TABLES. 02325 M00S02259.sxinit +++|# 02326 M00S02260.sxinit +++| 02327 M00S02261.sxinit +++| STAT = 0; # REQUEST CURRENT *FL* # 02328 M00S02262.sxinit +++| MEMORY("CM",STATARY,RCL,NA); 02329 M00S02263.sxinit +++| 02330 M00S02264.sxinit +++| IF STAT EQ 0 02331 M00S02265.sxinit +++| THEN 02332 M00S02266.sxinit +++| BEGIN # IF CURRENT *FL* NOT RETURNED # 02333 M00S02267.sxinit +++| FE$RTN[0] = "INITTAB."; # SET ROUTINE INTO ERROR MESSAGE # 02334 M00S02268.sxinit +++| MESSAGE(FEMSG[0],UDFL1); 02335 M00S02269.sxinit +++| ABORT; 02336 M00S02270.sxinit +++| END # IF CURRENT *FL* NOT RETURNED # 02337 M00S02271.sxinit +++| 02338 M00S02272.sxinit +++| CUR$FL = STAT; # USED BY *MNGMEM* # 02339 M00S02273.sxinit +++| MAX$FL = CUR$FL; # SET MAXIMUM *FL* # 02340 M00S02274.sxinit +++| UNU$FL = CUR$FL - NEXTADR; 02341 M00S02275.sxinit +++| FLCHNG = MAT$FWA[MAT$ENTRY"MAT$LAST" - 1] + ## 02342 M00S02276.sxinit +++| MAT$SPACE[MAT$ENTRY"MAT$LAST" - 1] - NEXTADR; 02343 M00S02277.sxinit +++| RCLFLAG = FALSE; # DELAY FLAG # 02344 M00S02278.sxinit +++| 02345 M00S02279.sxinit +++| SLOWFOR I = 0 WHILE RESP EQ 0 02346 M00S02280.sxinit +++| DO 02347 M00S02281.sxinit +++| BEGIN # LOOP UNTIL *FL* INCREASE SATISFIED # 02348 M00S02282.sxinit +++| MNGMEM(FLCHNG,RESP); # REQUEST *FL* INCREASE # 02349 M00S02283.sxinit +++| IF RESP EQ 0 02350 M00S02284.sxinit +++| THEN 02351 M00S02285.sxinit +++| BEGIN # IF ATTEMPT UNSUCCESSFUL # 02352 M00S02286.sxinit +++| MSG$LINE[0] = "$SSEXEC SEEKING FL INCREASE."; 02353 M00S02287.sxinit +++| MESSAGE(MSGBUF[0],LINE1); 02354 M00S02288.sxinit +++| RECALL; 02355 M00S02289.sxinit +++| RCLFLAG = TRUE; 02356 M00S02290.sxinit +++| END # IF ATTEMPT UNSUCCESSFUL # 02357 M00S02291.sxinit +++| 02358 M00S02292.sxinit +++| END # LOOP UNTIL *FL* INCREASE SATISFIED # 02359 M00S02293.sxinit +++| 02360 M00S02294.sxinit +++| IF RCLFLAG 02361 M00S02295.sxinit +++| THEN 02362 M00S02296.sxinit +++| BEGIN # IF *FL* ACCESS DELAYED # 02363 M00S02297.sxinit +++| MSG$LINE[0] = " FL OBTAINED."; 02364 M00S02298.sxinit +++| MESSAGE(MSG$LINE[0],LINE1); 02365 M00S02299.sxinit +++| END # IF *FL* ACCESS DELAYED # 02366 M00S02300.sxinit +++| 02367 M00S02301.sxinit +++| MSG(" ",SYSUDF1); 02368 M00S02302.sxinit +++| 02369 M00S02303.sxinit +++|# 02370 M00S02304.sxinit +++|* CALL *INITTS* TO PRESET INITIAL VALUES IN THE VARIABLE AND FIXED 02371 M00S02305.sxinit +++|* TABLES. 02372 M00S02306.sxinit +++|# 02373 M00S02307.sxinit +++| 02374 M00S02308.sxinit +++| 02375 M00S02309.sxinit +++| TSTART = MAT$FWA[MAT$ENTRY"HLRQ"]; 02376 M00S02310.sxinit +++| TLAST = MAT$FWA[MAT$ENTRY"MAT$LAST" -1] + ## 02377 M00S02311.sxinit +++| MAT$SPACE[MAT$ENTRY"MAT$LAST" -1]; 02378 M00S02312.sxinit +++| TLEN = TLAST - TSTART; 02379 M00S02313.sxinit +++| P<DUMAR> = TSTART; 02380 M00S02314.sxinit +++| ZFILL(DUMAR,TLEN); 02381 M00S02315.sxinit +++| 02382 M00S02316.sxinit +++| INITTS; 02383 M00S02317.sxinit +++| END # INITTAB # 02384 M00S02318.sxinit +++| 02385 M00S02319.sxinit +++| TERM 02386 M00S02320.sxinit +++|PROC INITTS; 02387 M00S02321.sxinit +++|# TITLE INITTS - PRESET ASSORTED TABLES. # 02388 M00S02322.sxinit +++| 02389 M00S02323.sxinit +++| BEGIN # INITTS # 02390 M00S02324.sxinit +++| 02391 M00S02325.sxinit +++|# 02392 M00S02326.sxinit +++|** INITTS - PRESET ASSORTED TABLES. 02393 M00S02327.sxinit +++|* 02394 M00S02328.sxinit +++|* THIS PROCEDURE WILL LINK TOGETHER ENTRIES TO FORM FREE SPACE 02395 M00S02329.sxinit +++|* CHAINS AND PRESET VALUES IN TABLES USED BY *SSEXEC*. 02396 M00S02330.sxinit +++|* 02397 M00S02331.sxinit +++|* EXIT TABLE VALUES HAVE BEEN PRESET. 02398 M00S02332.sxinit +++|# 02399 M00S02333.sxinit +++| 02400 M00S02334.sxinit +++|# 02401 M00S02335.sxinit +++|**** PROC INITTS - XREF LIST BEGIN. 02402 M00S02336.sxinit +++|# 02403 M00S02337.sxinit +++| 02404 M00S02338.sxinit +++| XREF 02405 M00S02339.sxinit +++| BEGIN 02406 M00S02340.sxinit +++| PROC BZFILL; # ZERO FILLS WORD # 02407 M00S02341.sxinit +++| PROC MESSAGE; # ISSUE MESSAGE # 02408 M00S02342.sxinit +++| FUNC XCOD C(10); # CHANGES INTEGER TO DISPLAY # 02409 M00S02343.sxinit +++| PROC ZFILL; # ZERO FILL BUFFER # 02410 M00S02344.sxinit +++| END 02411 M00S02345.sxinit +++| 02412 M00S02346.sxinit +++|# 02413 M00S02347.sxinit +++|**** PROC INITTS - XREF LIST END. 02414 M00S02348.sxinit +++|# 02415 M00S02349.sxinit +++| 02416 M00S02350.sxinit +++| DEF FILLSIZE #7#; # FILL SIZE FOR *BZFILL* # 02417 M00S02351.sxinit +++| 02418 M00S02352.sxinit +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 02419 M00S02353.sxinit +++|*CALL COMBFAS 02420 M00S02354.sxinit +++|*CALL COMBBZF 02421 M00S02355.sxinit +++|*CALL COMBCHN 02422 M00S02356.sxinit +++|*CALL COMBCMD 02423 M00S02357.sxinit +++|*CALL COMBFET 02424 M00S02358.sxinit +++|*CALL,COMBLBL 02425 M00S02359.sxinit +++|*CALL COMBLRQ 02426 M00S02360.sxinit +++|*CALL COMBMAT 02427 M00S02361.sxinit +++|*CALL COMBMCT 02428 M00S02362.sxinit +++|*CALL COMBTDM 02429 M00S02363.sxinit +++|*CALL COMBUDT 02430 M00S02364.sxinit +++|*CALL COMXBST 02431 M00S02365.sxinit +++|*CALL COMXCTF 02432 M00S02366.sxinit +++|*CALL COMXFCQ 02433 M00S02367.sxinit +++|*CALL COMXHLR 02434 M00S02368.sxinit +++|*CALL COMXINT 02435 M00S02369.sxinit +++|*CALL COMXLTC 02436 M00S02370.sxinit +++|*CALL COMXMSC 02437 M00S02371.sxinit +++| 02438 M00S02372.sxinit +++| ITEM FIRST U; # POINTER TO FIRST BUFFER WORD # 02439 M00S02373.sxinit +++| ITEM I U; # INDEX # 02440 M00S02374.sxinit +++| ITEM J U; # INDEX # 02441 M00S02375.sxinit +++| ITEM MSGTEMP C(7); # TEMPORARY CHARACTER ITEM # 02442 M00S02376.sxinit +++| ITEM ZEROFILL S:TYPFILL = S"ZFILL"; # ZERO BUFFER FILL # 02443 M00S02377.sxinit +++| 02444 M00S02378.sxinit +++| 02445 M00S02379.sxinit +++|# 02446 M00S02380.sxinit +++|* SMALL BUFFERS AND *FETS*. 02447 M00S02381.sxinit +++|# 02448 M00S02382.sxinit +++| 02449 M00S02383.sxinit +++| ARRAY CHARARY[0:0] P(1); 02450 M00S02384.sxinit +++| BEGIN 02451 M00S02385.sxinit +++| ITEM CHARTEMP C(00,00,10); # CHARACTER BUFFER # 02452 M00S02386.sxinit +++| ITEM CHARID C(00,42,03); # CHARACTER *ID* # 02453 M00S02387.sxinit +++| END 02454 M00S02388.sxinit +++| 02455 M00S02389.sxinit +++| ARRAY NAMEFILE[0:0] P(1); 02456 M00S02390.sxinit +++| BEGIN # NAMFILE # 02457 M00S02391.sxinit +++| ITEM NAME$HDR C(00,00,07) = ["FILE"]; # NAME HEADER # 02458 M00S02392.sxinit +++| ITEM NAME$UNID C(00,24,03); # UNIQUE ID # 02459 M00S02393.sxinit +++| END # NAMFILE # 02460 M00S02394.sxinit +++| 02461 M00S02395.sxinit +++| CONTROL EJECT; 02462 M00S02396.sxinit +++| 02463 M00S02397.sxinit +++|# 02464 M00S02398.sxinit +++|* CHAIN ALL *HLRQ* ENTRIES TOGETHER AND PLACE A UNIQUE FILE NAME 02465 M00S02399.sxinit +++|* INTO EACH ENTRY. ALSO SET THE *CHN$BOC* AND *CHN$EOC* FIELDS 02466 M00S02400.sxinit +++|* IN *COMBCHN* TO POINT TO THE BEGINNING AND END OF THE *HLRQ* FREE 02467 M00S02401.sxinit +++|* SPACE CHAIN. 02468 M00S02402.sxinit +++|* 02469 M00S02403.sxinit +++|* THE UNIQUE FILE NAMES ARE OBTAINED BY PLACING A NUMERIC 02470 M00S02404.sxinit +++|* IDENTIFIER AT THE END OF THE WORD "FILE". THE NUMERIC IDENTIFIER 02471 M00S02405.sxinit +++|* IS INCREMENTED BY ONE FOR EACH NEW FILE NAME. 02472 M00S02406.sxinit +++|# 02473 M00S02407.sxinit +++| 02474 M00S02408.sxinit +++| P<HLRQ> = MAT$FWA[MAT$ENTRY"HLRQ"]; # POINT TO FIRST ENTRY # 02475 M00S02409.sxinit +++| CHN$BOC[LCHN"HL$FRSPC"] = P<HLRQ>; # BEGINNING OF CHAIN # 02476 M00S02410.sxinit +++| 02477 M00S02411.sxinit +++| SLOWFOR I = 1 STEP 1 ## 02478 M00S02412.sxinit +++| WHILE I LQ MAT$COUNT[MAT$ENTRY"HLRQ"] 02479 M00S02413.sxinit +++| DO 02480 M00S02414.sxinit +++| BEGIN # FOR ALL *HLRQ* ENTRIES # 02481 M00S02415.sxinit +++| CHN$EOC[LCHN"HL$FRSPC"] = P<HLRQ>; # END OF CHAIN POINTER # 02482 M00S02416.sxinit +++| 02483 M00S02417.sxinit +++| J = I + 100; 02484 M00S02418.sxinit +++| CHARTEMP[0] = XCOD(J); # CHANGE INDEX TO DISPLAY CODE # 02485 M00S02419.sxinit +++| NAME$UNID[0] = CHARID[0]; 02486 M00S02420.sxinit +++| HLR$FLNM[0] = NAME$HDR[0]; # PLACE FILE NAME INTO ENTRY # 02487 M00S02421.sxinit +++| 02488 M00S02422.sxinit +++| HLR$LNK1[0] = P<HLRQ> + HLRQLEN; # LINK TO NEXT ENTRY # 02489 M00S02423.sxinit +++| P<HLRQ> = HLR$LNK1[0]; # POINT TO THE NEXT ENTRY # 02490 M00S02424.sxinit +++| END # FOR ALL *HLRQ* ENTRIES # 02491 M00S02425.sxinit +++| 02492 M00S02426.sxinit +++| P<HLRQ> = P<HLRQ> - HLRQLEN; # POINT TO LAST ENTRY OF CHAIN # 02493 M00S02427.sxinit +++| HLR$LNK1[0] = 0; # CLEAR LAST POINTER # 02494 M00S02428.sxinit +++| 02495 M00S02429.sxinit +++| 02496 M00S02430.sxinit +++|# 02497 M00S02431.sxinit +++|* CHAIN ALL *LLRQ* ENTRIES TOGETHER INTO A FREE SPACE CHAIN. 02498 M00S02432.sxinit +++|# 02499 M00S02433.sxinit +++| 02500 M00S02434.sxinit +++| P<LLRQ> = MAT$FWA[MAT$ENTRY"LLRQ"]; # POINT TO FIRST ENTRY # 02501 M00S02435.sxinit +++| CHN$BOC[LCHN"LL$FRSPC"] = P<LLRQ>; # BEGINNING OF CHAIN # 02502 M00S02436.sxinit +++| 02503 M00S02437.sxinit +++| SLOWFOR I = 1 STEP 1 ## 02504 M00S02438.sxinit +++| WHILE I LQ MAT$COUNT[MAT$ENTRY"LLRQ"] 02505 M00S02439.sxinit +++| DO 02506 M00S02440.sxinit +++| BEGIN # FOR ALL *LLRQ* ENTRIES # 02507 M00S02441.sxinit +++| CHN$EOC[LCHN"LL$FRSPC"] = P<LLRQ>; # END OF CHAIN POINTER # 02508 M00S02442.sxinit +++| LLR$LINK1[0] = P<LLRQ> + LLRQENTL; # LINK TO NEXT ENTRY # 02509 M00S02443.sxinit +++| P<LLRQ> = LLR$LINK1[0]; # POINT TO NEXT ENTRY # 02510 M00S02444.sxinit +++| END # FOR ALL *LLRQ* ENTRIES # 02511 M00S02445.sxinit +++| 02512 M00S02446.sxinit +++| P<LLRQ> = P<LLRQ> - LLRQENTL; # POINT TO LAST ENTRY OF CHAIN # 02513 M00S02447.sxinit +++| LLR$LINK1[0] = 0; # CLEAR LAST POINTER # 02514 M00S02448.sxinit +++| 02515 M00S02449.sxinit +++| 02516 M00S02450.sxinit +++|# 02517 M00S02451.sxinit +++|* CHAIN ALL *RTRQ* ENTRIES TOGETHER INTO A FREE SPACE CHAIN. 02518 M00S02452.sxinit +++|# 02519 M00S02453.sxinit +++| 02520 M00S02454.sxinit +++| P<LINKWRD> = MAT$FWA[MAT$ENTRY"RTRQ"]; # POINT TO FIRST ENTRY # 02521 M00S02455.sxinit +++| CHN$BOC[LCHN"RTD$FRSPC"] = P<LINKWRD>; # BEGINNING OF CHAIN # 02522 M00S02456.sxinit +++| 02523 M00S02457.sxinit +++| SLOWFOR I = 1 STEP 1 ## 02524 M00S02458.sxinit +++| WHILE I LQ MAT$COUNT[MAT$ENTRY"RTRQ"] 02525 M00S02459.sxinit +++| DO 02526 M00S02460.sxinit +++| BEGIN # FOR ALL *RTRQ* ENTRIES # 02527 M00S02461.sxinit +++| CHN$EOC[LCHN"RTD$FRSPC"] = P<LINKWRD>; # END OF CHAIN # 02528 M00S02462.sxinit +++| LINK$ADR[0] = P<LINKWRD> + TDAMLEN + 1; # LINK TO NEXT ENTRY # 02529 M00S02463.sxinit +++| P<LINKWRD> = LINK$ADR[0]; # POINT TO NEXT ENTRY # 02530 M00S02464.sxinit +++| END # FOR ALL *RTRQ* ENTRIES # 02531 M00S02465.sxinit +++| 02532 M00S02466.sxinit +++| P<LINKWRD> = P<LINKWRD> - TDAMLEN - 1; # POINT TO LAST ENTRY # 02533 M00S02467.sxinit +++| LINK$ADR[0] = 0; # CLEAR LAST POINTER # 02534 M00S02468.sxinit +++| 02535 M00S02469.sxinit +++| 02536 M00S02470.sxinit +++|# 02537 M00S02471.sxinit +++|* CHAIN ALL *FCTQ* ENTRIES TOGETHER INTO A FREE SPACE CHAIN. 02538 M00S02472.sxinit +++|# 02539 M00S02473.sxinit +++| 02540 M00S02474.sxinit +++| P<FCTQ> = MAT$FWA[MAT$ENTRY"FCTQ"]; # POINT TO FIRST ENTRY # 02541 M00S02475.sxinit +++| CHN$BOC[LCHN"FCT$FRSPC"] = P<FCTQ>; # BEGINNING OF CHAIN # 02542 M00S02476.sxinit +++| 02543 M00S02477.sxinit +++| SLOWFOR I = 1 STEP 1 ## 02544 M00S02478.sxinit +++| WHILE I LQ MAT$COUNT[MAT$ENTRY"FCTQ"] 02545 M00S02479.sxinit +++| DO 02546 M00S02480.sxinit +++| BEGIN # FOR ALL *FCTQ* ENTRIES # 02547 M00S02481.sxinit +++| CHN$EOC[LCHN"FCT$FRSPC"] = P<FCTQ>; # END OF CHAIN POINTER # 02548 M00S02482.sxinit +++| FCTQLINK1[0] = P<FCTQ> + FCTQHL + FCTENTL; # LINK TO NEXT # 02549 M00S02483.sxinit +++| P<FCTQ> = FCTQLINK1[0]; # POINT TO NEXT ENTRY # 02550 M00S02484.sxinit +++| END # FOR ALL *FCTQ* ENTRIES # 02551 M00S02485.sxinit +++| 02552 M00S02486.sxinit +++| P<FCTQ> = P<FCTQ> - FCTQHL - FCTENTL; # POINT TO LAST ENTRY # 02553 M00S02487.sxinit +++| FCTQLINK1[0] = 0; # CLEAR LAST POINTER # 02554 M00S02488.sxinit +++| 02555 M00S02489.sxinit +++| 02556 M00S02490.sxinit +++|# 02557 M00S02491.sxinit +++|* SET THE AUTHORIZED FLAG IN THE FIRST *BST* ENTRY. 02558 M00S02492.sxinit +++|# 02559 M00S02493.sxinit +++| 02560 M00S02494.sxinit +++| P<BST> = MAT$FWA[MAT$ENTRY"BST"]; # POINT TO FIRST ENTRY # 02561 M00S02495.sxinit +++| BST$AUTH[1] = TRUE; # SET AUTHORIZED FLAG # 02562 M00S02496.sxinit +++| 02563 M00S02497.sxinit +++| 02564 M00S02498.sxinit +++|# 02565 M00S02499.sxinit +++|* INITIALIZE THE CATALOG *FET*. 02566 M00S02500.sxinit +++|# 02567 M00S02501.sxinit +++| 02568 M00S02502.sxinit +++| P<FETSET> = MAT$FWA[MAT$ENTRY"CAT$FET"]; # POINT TO *FCT* FET # 02569 M00S02503.sxinit +++| 02570 M00S02504.sxinit +++| FIRST = MAT$FWA[MAT$ENTRY"CAT$BUF"]; # FIRST LOCATION POINTER # 02571 M00S02505.sxinit +++| FET$IN[0] = FIRST; # IN POINTER # 02572 M00S02506.sxinit +++| FET$OUT[0] = FIRST; # OUT POINTER # 02573 M00S02507.sxinit +++| FET$LIM[0] = FIRST + SEQBL; # LIMIT # 02574 M00S02508.sxinit +++| 02575 M00S02509.sxinit +++| FCTFADR = MAT$FWA[MAT$ENTRY"CAT$FET"]; 02576 M00S02510.sxinit +++| P<FCTFET> = FCTFADR; 02577 M00S02511.sxinit +++| 02578 M00S02512.sxinit +++| 02579 M00S02513.sxinit +++|# 02580 M00S02514.sxinit +++|* INITIALIZE THE MAP *FET*. 02581 M00S02515.sxinit +++|# 02582 M00S02516.sxinit +++| 02583 M00S02517.sxinit +++| P<FETSET> = MAT$FWA[MAT$ENTRY"MAP$FET"]; # POINT TO *MAP* FET # 02584 M00S02518.sxinit +++| 02585 M00S02519.sxinit +++| FIRST = MAT$FWA[MAT$ENTRY"MAP$BUF"]; # FIRST LOCATION POINTER # 02586 M00S02520.sxinit +++| FET$IN[0] = FIRST; # IN POINTER # 02587 M00S02521.sxinit +++| FET$OUT[0] = FIRST; # OUT POINTER # 02588 M00S02522.sxinit +++| FET$LIM[0] = FIRST + MAPBUFL; # LIMIT # 02589 M00S02523.sxinit +++| 02590 M00S02524.sxinit +++| MAPFADR = MAT$FWA[MAT$ENTRY"MAP$FET"]; 02591 M00S02525.sxinit +++| P<MAPFET> = MAPFADR; 02592 M00S02526.sxinit +++| 02593 M00S02527.sxinit +++|# 02594 M00S02528.sxinit +++|* INITIALIZE THE TEMPORARY *FET*. 02595 M00S02529.sxinit +++|# 02596 M00S02530.sxinit +++| 02597 M00S02531.sxinit +++| P<FETSET> = MAT$FWA[MAT$ENTRY"TEMP$FET"]; 02598 M00S02532.sxinit +++| 02599 M00S02533.sxinit +++| FIRST = MAT$FWA[MAT$ENTRY"TEMP$BUF"]; # FIRST LOCATION POINTER # 02600 M00S02534.sxinit +++| FET$IN[0] = FIRST; # IN POINTER # 02601 M00S02535.sxinit +++| FET$OUT[0] = FIRST; # OUT POINTER # 02602 M00S02536.sxinit +++| FET$LIM[0] = FIRST + TBUFL; # LIMIT # 02603 M00S02537.sxinit +++| 02604 M00S02538.sxinit +++| TFETADR = MAT$FWA[MAT$ENTRY"TEMP$FET"]; 02605 M00S02539.sxinit +++| P<TFET> = TFETADR; 02606 M00S02540.sxinit +++| 02607 M00S02541.sxinit +++|# 02608 M00S02542.sxinit +++|* INITIALIZE THE POINTERS TO THE BASED ARRAYS. 02609 M00S02543.sxinit +++|# 02610 M00S02544.sxinit +++| 02611 M00S02545.sxinit +++| ASTBADR = MAT$FWA[MAT$ENTRY"AST$BUF"]; 02612 M00S02546.sxinit +++| 02613 M00S02547.sxinit +++| FCTBADR = MAT$FWA[MAT$ENTRY"CAT$BUF"]; 02614 M00S02548.sxinit +++| P<FCTBUF> = FCTBADR; 02615 M00S02549.sxinit +++| 02616 M00S02550.sxinit +++| MAPBADR = MAT$FWA[MAT$ENTRY"MAP$BUF"]; 02617 M00S02551.sxinit +++| P<MAPBUF> = MAPBADR; 02618 M00S02552.sxinit +++| 02619 M00S02553.sxinit +++| TBUFADR = MAT$FWA[MAT$ENTRY"TEMP$BUF"]; 02620 M00S02554.sxinit +++| P<TBUF> = TBUFADR; 02621 M00S02555.sxinit +++| 02622 M00S02556.sxinit +++| WBUFADR = MAT$FWA[MAT$ENTRY"TEMP$WB"]; 02623 M00S02557.sxinit +++| P<WBUF> = WBUFADR; 02624 M00S02558.sxinit +++| 02625 M00S02559.sxinit +++| OCTLEN = MAT$COUNT[MAT$ENTRY"OCT"]; 02626 M00S02560.sxinit +++| OCTADR = MAT$FWA[MAT$ENTRY"OCT"]; 02627 M00S02561.sxinit +++| P<OCT> = OCTADR; 02628 M00S02562.sxinit +++| 02629 M00S02563.sxinit +++| OMTADR = MAT$FWA[MAT$ENTRY"OMT"]; 02630 M00S02564.sxinit +++| P<OMT> = OMTADR; 02631 M00S02565.sxinit +++| 02632 M00S02566.sxinit +++| PRMBADR = MAT$FWA[MAT$ENTRY"PREAMBLE"]; 02633 M00S02567.sxinit +++| P<PRMBUF> = PRMBADR; 02634 M00S02568.sxinit +++| 02635 M00S02569.sxinit +++| LTCTPTR = MAT$FWA[MAT$ENTRY"LTCT"]; 02636 M00S02570.sxinit +++| P<LTCT> = LTCTPTR; 02637 M00S02571.sxinit +++| 02638 M00S02572.sxinit +++| UDTCADR = MAT$FWA[MAT$ENTRY"UDT$CONT"]; 02639 M00S02573.sxinit +++| P<UDT$CN> = UDTCADR + 1; # HEADER NOT INCLUDED # 02640 M00S02574.sxinit +++| 02641 M00S02575.sxinit +++| UDTSADR = MAT$FWA[MAT$ENTRY"UDT$SM"]; 02642 M00S02576.sxinit +++| P<UDT$SMA> = UDTSADR; 02643 M00S02577.sxinit +++| 02644 M00S02578.sxinit +++| P<LABEL$CART> = MAT$FWA[MAT$ENTRY"LABBUF"]; 02645 M00S02579.sxinit +++| 02646 M00S02580.sxinit +++| MWRBADR = MAT$FWA[MAT$ENTRY"MW$BUFS"]; 02647 M00S02581.sxinit +++| 02648 M00S02582.sxinit +++| MRDBADR = MAT$FWA[MAT$ENTRY"MR$BUFS"]; 02649 M00S02583.sxinit +++| 02650 M00S02584.sxinit +++| SBTADR = MAT$FWA[MAT$ENTRY"SBT"]; 02651 M00S02585.sxinit +++| 02652 M00S02586.sxinit +++|# 02653 M00S02587.sxinit +++|* PUT THE FAMILY NAMES INTO THE *MRFT* TABLE. 02654 M00S02588.sxinit +++|# 02655 M00S02589.sxinit +++| 02656 M00S02590.sxinit +++| P<MRFT> = MAT$FWA[MAT$ENTRY"MRFT"]; # POINT TO FIRST ENTRY # 02657 M00S02591.sxinit +++| 02658 M00S02592.sxinit +++| SLOWFOR I = 1 STEP 1 WHILE I LQ FAMCNT 02659 M00S02593.sxinit +++| DO 02660 M00S02594.sxinit +++| BEGIN # FOR ALL *MRFT* ENTRIES # 02661 M00S02595.sxinit +++| MSGTEMP = NAMEFAM[I]; 02662 M00S02596.sxinit +++| BZFILL(MSGTEMP,ZEROFILL,FILLSIZE); 02663 M00S02597.sxinit +++| MRFTFAM[(I-1)] = MSGTEMP; # MOVE FAMILY NAME # 02664 M00S02598.sxinit +++| END # FOR ALL *MRFT* ENTRIES # 02665 M00S02599.sxinit +++| 02666 M00S02600.sxinit +++| 02667 M00S02601.sxinit +++| END # INITTS # 02668 M00S02602.sxinit +++| 02669 M00S02603.sxinit +++| TERM 02670 M00S02604.sxinit +++|PROC OPENCAT; 02671 M00S02605.sxinit +++| 02672 M00S02606.sxinit +++|# TITLE OPENCAT - OPENS THE MAP AND CATALOG FILES. # 02673 M00S02607.sxinit +++| 02674 M00S02608.sxinit +++| BEGIN # OPENCAT # 02675 M00S02609.sxinit +++| 02676 M00S02610.sxinit +++|# 02677 M00S02611.sxinit +++|** OPENCAT - OPENS MAP AND CATALOG FILES. 02678 M00S02612.sxinit +++|* 02679 M00S02613.sxinit +++|* THIS ROUTINE CALLS *MOPEN* AND *COPEN* TO OPEN THE *SM* MAPS 02680 M00S02614.sxinit +++|* AND THE *SFM* CATALOGS. IT ALSO REBUILDS THE FREE AU 02681 M00S02615.sxinit +++|* COUNTS IN THE *AST* TABLES AND UPDATES THE PREAMBLES. 02682 M00S02616.sxinit +++|* 02683 M00S02617.sxinit +++|* PROC OPENCAT. 02684 M00S02618.sxinit +++|* 02685 M00S02619.sxinit +++|* ENTRY USES THE LIST OF LOGICAL *SM* NUMBERS, THE LIST 02686 M00S02620.sxinit +++|* OF FAMILIES WITH 8 *SFM* CATALOGS, AND THE CATALOGS 02687 M00S02621.sxinit +++|* OF THE FAMILIES WITH 8 *SFM* CATALOGS. 02688 M00S02622.sxinit +++|* 02689 M00S02623.sxinit +++|* EXIT MAP AND CATALOG FILES HAVE BEEN OPENED AND ALL *AST* 02690 M00S02624.sxinit +++|* TABLES HAVE BEEN UPDATED. 02691 M00S02625.sxinit +++|* 02692 M00S02626.sxinit +++|* MESSAGES 1) AST UPDATED. 02693 M00S02627.sxinit +++|* PFN=PFN, FAMILY=FAMILY, UI=UI. 02694 M00S02628.sxinit +++|* SUBCATALOG SM ID=ID. 02695 M00S02629.sxinit +++|* 02696 M00S02630.sxinit +++|* 2) ATTACH ERROR ON SFM SMMAP. 02697 M00S02631.sxinit +++|* PFN=PFN, FAMILY=FAMILY, UI=UI. 02698 M00S02632.sxinit +++|* 02699 M00S02633.sxinit +++|* 3) ATTACH ERROR ON SFM SUBFAMILY CATALOG. 02700 M00S02634.sxinit +++|* PFN=PFN, FAMILY=FAMILY, UI=UI. 02701 M00S02635.sxinit +++|* 02702 M00S02636.sxinit +++|* 4) CIO ERROR ON SFM SMMAP. 02703 M00S02637.sxinit +++|* PFN=PFN, FAMILY=FAMILY, UI=UI. 02704 M00S02638.sxinit +++|* 02705 M00S02639.sxinit +++|* 5) CIO ERROR ON SFM SUBFAMILY CATALOG. 02706 M00S02640.sxinit +++|* PFN=PFN, FAMILY=FAMILY, UI=UI. 02707 M00S02641.sxinit +++|* 02708 M00S02642.sxinit +++|* 6) EXEC ABNORMAL, OPENCAT. 02709 M00S02643.sxinit +++|* 02710 M00S02644.sxinit +++|* 7) INITIALIZATION PROBLEMS - 02711 M00S02645.sxinit +++|* NO SMMAP FOUND. 02712 M00S02646.sxinit +++|# 02713 M00S02647.sxinit +++| 02714 M00S02648.sxinit +++|# 02715 M00S02649.sxinit +++|**** PROC OPENCAT - XREF LIST BEGIN. 02716 M00S02650.sxinit +++|# 02717 M00S02651.sxinit +++| 02718 M00S02652.sxinit +++| XREF 02719 M00S02653.sxinit +++| BEGIN 02720 M00S02654.sxinit +++| PROC ABORT; # CALLS *ABORT* MACRO # 02721 M00S02655.sxinit +++| PROC ACQ$FCT; # ACQUIRES AN *FCTQ* ENTRY # 02722 M00S02656.sxinit +++| PROC BZFILL; # BLANKS OR ZERO FILLS WORD # 02723 M00S02657.sxinit +++| PROC COPEN; # OPENS AN *MSG* CATALOG # 02724 M00S02658.sxinit +++| PROC CRAST; # CREATES AN *AST* ENTRY # 02725 M00S02659.sxinit +++| PROC CRDAST; # READS THE *AST* TABLE # 02726 M00S02660.sxinit +++| PROC MESSAGE; # CALLS *MESSAGE* MACRO # 02727 M00S02661.sxinit +++| PROC MOPEN; # OPEN A *SM* MAP # 02728 M00S02662.sxinit +++| PROC RMVBLNK; # REMOVE MULTIPLE BLANKS # 02729 M00S02663.sxinit +++| PROC RLS$FCT; # RELEASE AN *FCTQ* ENTRY # 02730 M00S02664.sxinit +++| PROC SETPFP; # SETS USER INDEX AND FAMILY # 02731 M00S02665.sxinit +++| PROC UASTPRM; # UPDATE *AST* AND PREAMBLE # 02732 M00S02666.sxinit +++| FUNC XCDD C(3); # INTEGER TO DECIMAL DISPLAY # 02733 M00S02667.sxinit +++| FUNC XCOD; # CHANGE OCTAL TO DISPLAY CODE # 02734 M00S02668.sxinit +++| PROC XWOD; # CHANGE INTEGER TO OCTAL # 02735 M00S02669.sxinit +++| END 02736 M00S02670.sxinit +++| 02737 M00S02671.sxinit +++|# 02738 M00S02672.sxinit +++|**** PROC OPENCAT - XREF LIST END. 02739 M00S02673.sxinit +++|# 02740 M00S02674.sxinit +++| 02741 M00S02675.sxinit +++| DEF QRADDR #0#; # ADDRESS OF *HLRQ* ENTRY # 02742 M00S02676.sxinit +++| 02743 M00S02677.sxinit +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 02744 M00S02678.sxinit +++| 02745 M00S02679.sxinit +++|*CALL COMBFAS 02746 M00S02680.sxinit +++|*CALL COMBBZF 02747 M00S02681.sxinit +++|*CALL COMBCMS 02748 M00S02682.sxinit +++|*CALL COMBCMD 02749 M00S02683.sxinit +++|*CALL COMBMCT 02750 M00S02684.sxinit +++|*CALL COMBPFP 02751 M00S02685.sxinit +++|*CALL COMBUDT 02752 M00S02686.sxinit +++|*CALL COMXCTF 02753 M00S02687.sxinit +++|*CALL COMXINT 02754 M00S02688.sxinit +++|*CALL COMXMSC 02755 M00S02689.sxinit +++|*CALL COMSPFM 02756 M00S02690.sxinit +++| 02757 M00S02691.sxinit +++| ITEM ACCM B; # FILE ACCESS MODE FLAG # 02758 M00S02692.sxinit +++| ITEM CER U; # *ACQ$FCT* RETURN CODE # 02759 M00S02693.sxinit +++| ITEM CR U; # *CRDAST* RETURN STATUS # 02760 M00S02694.sxinit +++| ITEM CSNOTFD B; # *SMMAP* NOT FOUND FLAG # 02761 M00S02695.sxinit +++| ITEM FCTX U; # LOOP INDEX - FCT ORDINAL # 02762 M00S02696.sxinit +++| ITEM FMX U; # LOOP INDEX - FAMILY # 02763 M00S02697.sxinit +++| ITEM FOUND B; # ITEM FOUND FLAG # 02764 M00S02698.sxinit +++| ITEM MMM U; # INDEX # 02765 M00S02699.sxinit +++| ITEM MOPENCALL B; # *MOPEN* CALL FLAG # 02766 M00S02700.sxinit +++| ITEM MSGTEMP C(8); # ITEM FOR *BZFILL* # 02767 M00S02701.sxinit +++| ITEM QADDR U; # ADDRESS OF *FCTQ* ENTRY # 02768 M00S02702.sxinit +++| ITEM RSTATUS U; # ERROR STATUS FROM *MOPEN* # 02769 M00S02703.sxinit +++| ITEM SFX U; # LOOP INDEX - SUBFAMILY # 02770 M00S02704.sxinit +++| ITEM SMX U; # LOOP INDEX - STORAGE MODULE # 02771 M00S02705.sxinit +++| ITEM STAT U; # RETURN STATUS # 02772 M00S02706.sxinit +++| ITEM UI U; # USER INDEX # 02773 M00S02707.sxinit +++| 02774 M00S02708.sxinit +++|# 02775 M00S02709.sxinit +++|* ARRAY TO HOLD DATA FROM *XCDD*. 02776 M00S02710.sxinit +++|# 02777 M00S02711.sxinit +++| 02778 M00S02712.sxinit +++| ARRAY ARTEMP[0:0] S(1); 02779 M00S02713.sxinit +++| BEGIN 02780 M00S02714.sxinit +++| ITEM TEMPCHAR C(00,00,10); # TEMPORARY CHARACTER ITEM # 02781 M00S02715.sxinit +++| ITEM CHARSUB C(00,00,01); # SUBCATALOG *SM* *ID* # 02782 M00S02716.sxinit +++| END 02783 M00S02717.sxinit +++| 02784 M00S02718.sxinit +++| ARRAY BADDR[0:0] P(FCTENTL); # *FCT* BUFFER ADDRESS # 02785 M00S02719.sxinit +++| ; 02786 M00S02720.sxinit +++| 02787 M00S02721.sxinit +++| ARRAY BADSUB[0:0] P(3); 02788 M00S02722.sxinit +++| BEGIN 02789 M00S02723.sxinit +++| ITEM BAD$ID C(00,00,20) = [" SUBCATALOG SM ID="]; # ID # 02790 M00S02724.sxinit +++| ITEM BAD$SUB C(02,00,01); # BAD *SM* NUMBER # 02791 M00S02725.sxinit +++| ITEM BAD$ZRO U(02,18,12) = [0]; # ZERO TERMINATOR # 02792 M00S02726.sxinit +++| END 02793 M00S02727.sxinit +++| 02794 M00S02728.sxinit +++| ARRAY CAT[0:0] P(1); # CATALOG FILE NAME # 02795 M00S02729.sxinit +++| BEGIN # CAT # 02796 M00S02730.sxinit +++| ITEM CAT$PFN C(00,00,07) = ["SFMCAT "]; # SFMCAT # 02797 M00S02731.sxinit +++| ITEM CAT$UNID C(00,36,01); # UNIQUE IDENTIFIER # 02798 M00S02732.sxinit +++| END # CAT # 02799 M00S02733.sxinit +++| 02800 M00S02734.sxinit +++| ARRAY DIS[0:0] P(2); 02801 M00S02735.sxinit +++| BEGIN 02802 M00S02736.sxinit +++| ITEM DIS$UI C(01,24,06); # USER INDEX IN DISPLAY CODE # 02803 M00S02737.sxinit +++| END 02804 M00S02738.sxinit +++| 02805 M00S02739.sxinit +++| ARRAY MAP[0:0] P(1); 02806 M00S02740.sxinit +++| BEGIN # MAP # 02807 M00S02741.sxinit +++| ITEM MAP$PFN C(00,00,06) = ["SMMAP "]; # SMMAP # 02808 M00S02742.sxinit +++| ITEM MAP$UNID C(00,30,01); # UNIQUE IDENTIFIER # 02809 M00S02743.sxinit +++| END # MAP # 02810 M00S02744.sxinit +++| 02811 M00S02745.sxinit +++| 02812 M00S02746.sxinit +++|# 02813 M00S02747.sxinit +++|* MESSAGE BUFFER. 02814 M00S02748.sxinit +++|# 02815 M00S02749.sxinit +++| 02816 M00S02750.sxinit +++| ARRAY MSGBUF[0:0] P(5); 02817 M00S02751.sxinit +++| BEGIN # ARRAY MSGBUF # 02818 M00S02752.sxinit +++| ITEM MSG$LINE C(00,00,40); # MESSAGE LINE # 02819 M00S02753.sxinit +++| ITEM MSG$RZRO C(04,00,12); # ZERO BYE TERMINATOR # 02820 M00S02754.sxinit +++| END # ARRAY MSGBUF # 02821 M00S02755.sxinit +++| 02822 M00S02756.sxinit +++| ARRAY REAL$AST[1:ASTENTL] S(ASTENTW);; # BUFFER FOR *AST* TABLE 02823 M00S02757.sxinit +++| # 02824 M00S02758.sxinit +++| 02825 M00S02759.sxinit +++| SWITCH CERJMP:CMASTAT 02826 M00S02760.sxinit +++| CNOERRJ:NOERR, # NO ERRORS # 02827 M00S02761.sxinit +++| CINTLKJ:INTLK, # CATALOG/MAP FILE INTERLOCKED # 02828 M00S02762.sxinit +++| CFOPENJ:FOPEN, # CATALOG/MAP FILE ALREADY OPEN # 02829 M00S02763.sxinit +++| CCIOERRJ:CIOERR, # CIO ERROR # 02830 M00S02764.sxinit +++| CATTERRJ:ATTERR, # CATALOG/MAP ATTACH ERROR # 02831 M00S02765.sxinit +++| COCTFULLJ:OCTFULL; # OPEN CATALOG TABLE FULL # 02832 M00S02766.sxinit +++| 02833 M00S02767.sxinit +++| SWITCH CGERJMP:CMASTAT 02834 M00S02768.sxinit +++| CGNOERRJ:NOERR, # NO ERRORS # 02835 M00S02769.sxinit +++| CGINTLKJ:INTLK, # CATALOG/MAP FILE INTERLOCKED # 02836 M00S02770.sxinit +++| CGNOTOPENJ:NOTOPEN, # CATALOG/MAP FILE NOT OPEN # 02837 M00S02771.sxinit +++| CGNOSUBCATJ:NOSUBCAT, # NO SUCH SUBCATALOG # 02838 M00S02772.sxinit +++| CGCIOERRJ:CIOERR, # *CIO* ERROR # 02839 M00S02773.sxinit +++| CGORDERRJ:ORDERR; # ORDINAL OUT OF RANGE # 02840 M00S02774.sxinit +++| 02841 M00S02775.sxinit +++| SWITCH CRERJMP:CMASTAT 02842 M00S02776.sxinit +++| CRNOERRJ:NOERR, # NO ERRORS # 02843 M00S02777.sxinit +++| CRINTLKJ:INTLK, # CATALOG/MAP FILE INTERLOCKED # 02844 M00S02778.sxinit +++| CRNOTOPENJ:NOTOPEN, # CATALOG/MAP FILE NOT OPEN # 02845 M00S02779.sxinit +++| CRNOSUBCATJ:NOSUBCAT, # NO SUCH SUBCATALOG # 02846 M00S02780.sxinit +++| CRCIOERRJ:CIOERR; # *CIO* ERROR # 02847 M00S02781.sxinit +++| 02848 M00S02782.sxinit +++| SWITCH MERJMP:CMASTAT 02849 M00S02783.sxinit +++| MNOERRJ:NOERR, # NO ERRORS # 02850 M00S02784.sxinit +++| MINTLKJ:INTLK, # CATALOG/MAP FILE INTERLOCKED # 02851 M00S02785.sxinit +++| MFOPENJ:FOPEN, # CATALOG/MAP FILE ALREADY OPEN # 02852 M00S02786.sxinit +++| MCIOERRJ:CIOERR, # *CIO* ERROR # 02853 M00S02787.sxinit +++| MATTERRJ:ATTERR, # CATALOG/MAP ATTACH ERROR # 02854 M00S02788.sxinit +++| MOCTFULLJ:OCTFULL; # OPEN CATALOG TABLE FULL # 02855 M00S02789.sxinit +++| CONTROL EJECT; 02856 M00S02790.sxinit +++| 02857 M00S02791.sxinit +++|# 02858 M00S02792.sxinit +++|* CONSTRUCT THE MAP FILE NAME AND CALL *MOPEN* TO OPEN EACH *SM* 02859 M00S02793.sxinit +++|* MAP. 02860 M00S02794.sxinit +++|# 02861 M00S02795.sxinit +++| 02862 M00S02796.sxinit +++| 02863 M00S02797.sxinit +++| MSGTEMP = FAM$NAME[DEFAULTORD]; 02864 M00S02798.sxinit +++| BZFILL(MSGTEMP,TYPFILL"BFILL",7); 02865 M00S02799.sxinit +++| MSGFAM[0] = MSGTEMP; # FAMILY NAME TO MESSAGE # 02866 M00S02800.sxinit +++| 02867 M00S02801.sxinit +++|# 02868 M00S02802.sxinit +++|* ISSUE A *SETPFP* SO THE MAP FILE CAN BE ATTACHED. 02869 M00S02803.sxinit +++|# 02870 M00S02804.sxinit +++| 02871 M00S02805.sxinit +++| PFP$UI = DEF$UI; # SET USER INDEX FOR *SETPFP* # 02872 M00S02806.sxinit +++| PFP$FAM = FAM$NAME[DEFAULTORD]; # SET FAMILY NAME FOR *SETPFP* # 02873 M00S02807.sxinit +++| PFP$FG1 = TRUE; # SET FAMILY BIT FOR *SETPFP* # 02874 M00S02808.sxinit +++| PFP$FG4 = TRUE; # SET INDEX BIT FOR *SETPFP* # 02875 M00S02809.sxinit +++| SETPFP(PFP); # SET USER INDEX AND FAMILY # 02876 M00S02810.sxinit +++| 02877 M00S02811.sxinit +++| XWOD(DEF$UI,DIS); # CHANGE OCTAL TO DISPLAY CODE # 02878 M00S02812.sxinit +++| MSGUI[0] = DIS$UI[0]; # SET USER INDEX AND FAMILY # 02879 M00S02813.sxinit +++| 02880 M00S02814.sxinit +++| P<UDT$SMA> = UDTSADR; 02881 M00S02815.sxinit +++| SLOWFOR SMX = 1 STEP 1 UNTIL UDT$LINE$SMN[0] 02882 M00S02816.sxinit +++| DO 02883 M00S02817.sxinit +++| BEGIN # PROCESS FOR EACH LOGICAL *SM* NUMBER # 02884 M00S02818.sxinit +++| MMM = SM$ID[1]; 02885 M00S02819.sxinit +++| MAP$UNID[0] = SM$ID[1]; 02886 M00S02820.sxinit +++| MSGTEMP = MAP$PFN[0]; 02887 M00S02821.sxinit +++| BZFILL(MSGTEMP,TYPFILL"BFILL",7); 02888 M00S02822.sxinit +++| MSGPFN[0] = MSGTEMP; # PLACE FILE NAME INTO MESSAGE # 02889 M00S02823.sxinit +++| BZFILL(MAP,TYPFILL"ZFILL",7); # TYPFILL"ZFILL" FILE NAME # 02890 M00S02824.sxinit +++| 02891 M00S02825.sxinit +++| RSTATUS = 0; 02892 M00S02826.sxinit +++| MOPEN(MMM,MAP$PFN[0],"M",RSTATUS); 02893 M00S02827.sxinit +++| 02894 M00S02828.sxinit +++|# 02895 M00S02829.sxinit +++|* SIMULATED CASE STATEMENT FOR *MOPEN* PROCESSING. 02896 M00S02830.sxinit +++|# 02897 M00S02831.sxinit +++| 02898 M00S02832.sxinit +++| GOTO MERJMP[RSTATUS]; 02899 M00S02833.sxinit +++| 02900 M00S02834.sxinit +++|MCIOERRJ: 02901 M00S02835.sxinit +++| MSG$LINE[0] = " CIO ERROR ON SFM SMMAP."; 02902 M00S02836.sxinit +++| MESSAGE(MSGBUF,UDFL1); # MESSAGE TO DAYFILE # 02903 M00S02837.sxinit +++| MSG$LINE[0] = MSG$TEXT[0]; 02904 M00S02838.sxinit +++| RMVBLNK(MSGBUF[0],40); 02905 M00S02839.sxinit +++| MESSAGE(MSGBUF,UDFL1); # MESSAGE TO DAYFILE # 02906 M00S02840.sxinit +++| CSNOTFD = TRUE; 02907 M00S02841.sxinit +++| GOTO ENDCASE0; # COMMON EXIT # 02908 M00S02842.sxinit +++| 02909 M00S02843.sxinit +++|MATTERRJ: 02910 M00S02844.sxinit +++| MSG$LINE[0] = " ATTACH ERROR ON SFM SMMAP."; 02911 M00S02845.sxinit +++| MESSAGE(MSGBUF,UDFL1); 02912 M00S02846.sxinit +++| 02913 M00S02847.sxinit +++| MSG$LINE[0] = MSG$TEXT[0]; 02914 M00S02848.sxinit +++| RMVBLNK(MSGBUF[0],40); 02915 M00S02849.sxinit +++| MESSAGE(MSGBUF,UDFL1); 02916 M00S02850.sxinit +++| CSNOTFD = TRUE; 02917 M00S02851.sxinit +++| GOTO ENDCASE0; # COMMON EXIT # 02918 M00S02852.sxinit +++| 02919 M00S02853.sxinit +++|MNOERRJ: 02920 M00S02854.sxinit +++|MINTLKJ: 02921 M00S02855.sxinit +++|ENDCASE0: 02922 M00S02856.sxinit +++| P<UDT$SMA> = P<UDT$SMA> + SMALT; 02923 M00S02857.sxinit +++| 02924 M00S02858.sxinit +++|# 02925 M00S02859.sxinit +++|* END OF CASE STATEMENT FOR *MOPEN* ERROR RESPONSE. 02926 M00S02860.sxinit +++|# 02927 M00S02861.sxinit +++| 02928 M00S02862.sxinit +++| END # PROCESS FOR EACH LOGICAL *SM* NUMBER # 02929 M00S02863.sxinit +++| 02930 M00S02864.sxinit +++| P<UDT$SMA> = UDTSADR; # RESET SMA ADDRESS # 02931 M00S02865.sxinit +++| 02932 M00S02866.sxinit +++| IF CSNOTFD 02933 M00S02867.sxinit +++| THEN 02934 M00S02868.sxinit +++| BEGIN # NO SMMAP FOUND # 02935 M00S02869.sxinit +++| FATALERR = TRUE; 02936 M00S02870.sxinit +++| 02937 M00S02871.sxinit +++| MSG$LINE[0] = " INITIALIZATION PROBLEMS -"; 02938 M00S02872.sxinit +++| MESSAGE(MSGBUF[0],UDFL1); 02939 M00S02873.sxinit +++| 02940 M00S02874.sxinit +++| MSG$LINE[0] = " NO SMMAP FOUND "; 02941 M00S02875.sxinit +++| MESSAGE(MSGBUF[0],UDFL1); 02942 M00S02876.sxinit +++| END # NO SMMAP FOUND # 02943 M00S02877.sxinit +++| 02944 M00S02878.sxinit +++| CONTROL EJECT; 02945 M00S02879.sxinit +++| 02946 M00S02880.sxinit +++|# 02947 M00S02881.sxinit +++|* CONSTRUCT THE *SFM* CATALOG FILE NAME FROM THE FAMILY NAME LIST. 02948 M00S02882.sxinit +++|* CALL *COPEN* TO OPEN THE *SFM* CATALOG. SCAN THE *FCT* TO 02949 M00S02883.sxinit +++|* RECONSTRUCT THE FREE VOLUME CHAIN AND COUNT THE 02950 M00S02884.sxinit +++|* AU AVAIABLE FOR ALLOCATION. 02951 M00S02885.sxinit +++|# 02952 M00S02886.sxinit +++| 02953 M00S02887.sxinit +++| SLOWFOR FMX = 1 STEP 1 UNTIL FAMCNT 02954 M00S02888.sxinit +++| DO 02955 M00S02889.sxinit +++| BEGIN # FOR EACH FAMILY WITH EIGHT SUBFAMILY CATALOGS # 02956 M00S02890.sxinit +++| 02957 M00S02891.sxinit +++| MSGTEMP = NAMEFAM[FMX]; 02958 M00S02892.sxinit +++| BZFILL(MSGTEMP,TYPFILL"BFILL",7); 02959 M00S02893.sxinit +++| MSGFAM[0] = MSGTEMP; 02960 M00S02894.sxinit +++| 02961 M00S02895.sxinit +++| SLOWFOR SFX = 0 STEP 1 UNTIL MAXSF 02962 M00S02896.sxinit +++| DO 02963 M00S02897.sxinit +++| BEGIN # FOR EACH SUBFAMILY # 02964 M00S02898.sxinit +++| 02965 M00S02899.sxinit +++| UI = DEF$UI + SFX; # CALCULATE USER INDEX # 02966 M00S02900.sxinit +++| XWOD(UI,DIS); 02967 M00S02901.sxinit +++| MSGUI[0] = DIS$UI[0]; 02968 M00S02902.sxinit +++| 02969 M00S02903.sxinit +++|# 02970 M00S02904.sxinit +++|* ISSUE A *SETPFP* SO THE SFMCAT FILE CAN BE ATTACHED. 02971 M00S02905.sxinit +++|# 02972 M00S02906.sxinit +++| 02973 M00S02907.sxinit +++| PFP$UI = DEF$UI + SFX; # SET USER INDEX FOR *SETPFP* # 02974 M00S02908.sxinit +++| PFP$FAM = NAMEFAM[FMX]; # SET FAMILY NAME FOR *SETPFP* # 02975 M00S02909.sxinit +++| PFP$FG1 = TRUE; # SET FAMILY BIT FOR *SETPFP* # 02976 M00S02910.sxinit +++| PFP$FG4 = TRUE; # SET INDEX BIT FOR *SETPFP* # 02977 M00S02911.sxinit +++| SETPFP(PFP); # SET USER INDEX AND FAMILY # 02978 M00S02912.sxinit +++| 02979 M00S02913.sxinit +++| CAT$UNID[0] = XCOD(SFX); # CHANGE INDEX TO DISPLAY CODE # 02980 M00S02914.sxinit +++| 02981 M00S02915.sxinit +++| MSGPFN[0] = CAT$PFN[0]; # PLACE FILE NAME INTO MESSAGE # 02982 M00S02916.sxinit +++| 02983 M00S02917.sxinit +++| ACCM = FALSE; # RANDOM ACCESS MODE # 02984 M00S02918.sxinit +++| STAT = 0; 02985 M00S02919.sxinit +++| COPEN(NAMEFAM[FMX],SFX,CAT,"M",ACCM,STAT); 02986 M00S02920.sxinit +++| 02987 M00S02921.sxinit +++|# 02988 M00S02922.sxinit +++|* SIMULATED CASE STATEMENT FOR *COPEN* ERROR RESPONSE. 02989 M00S02923.sxinit +++|# 02990 M00S02924.sxinit +++| 02991 M00S02925.sxinit +++| GOTO CERJMP[STAT]; 02992 M00S02926.sxinit +++| 02993 M00S02927.sxinit +++|CCIOERRJ: 02994 M00S02928.sxinit +++|CINTLKJ: 02995 M00S02929.sxinit +++| 02996 M00S02930.sxinit +++| TEST SFX; # NEXT CATALOG # 02997 M00S02931.sxinit +++| 02998 M00S02932.sxinit +++|CATTERRJ: 02999 M00S02933.sxinit +++| MSG$LINE[0] = "ATTACH ERROR ON SFM SUBFAMILY CATALOG."; 03000 M00S02934.sxinit +++| MESSAGE(MSGBUF[0],UDFL1); 03001 M00S02935.sxinit +++| 03002 M00S02936.sxinit +++| MSG$LINE[0] = MSG$TEXT[0]; 03003 M00S02937.sxinit +++| RMVBLNK(MSGBUF[0],40); 03004 M00S02938.sxinit +++| MESSAGE(MSGBUF[0],UDFL1); 03005 M00S02939.sxinit +++| TEST SFX; # NEXT CATALOG # 03006 M00S02940.sxinit +++| 03007 M00S02941.sxinit +++|CNOERRJ: 03008 M00S02942.sxinit +++| 03009 M00S02943.sxinit +++|# 03010 M00S02944.sxinit +++|* END OF CASE STATEMENT FOR *COPEN* ERROR RESPONSE. 03011 M00S02945.sxinit +++|# 03012 M00S02946.sxinit +++| 03013 M00S02947.sxinit +++|# 03014 M00S02948.sxinit +++|* THE FIRST WORD OF THE SUBCATALOG PREAMBLES 03015 M00S02949.sxinit +++|* ARE SCANNED TO DETERMINE WHICH SUBCATALOGS EXIST. 03016 M00S02950.sxinit +++|* FOR EACH EXISTING SUBCATALOG, THE NUMBER OF *FCT* ENTRIES 03017 M00S02951.sxinit +++|* TO SCAN IS OBTAINED FROM THE FIRST WORD OF THE SUBCATALOG 03018 M00S02952.sxinit +++|* PREAMBLE. 03019 M00S02953.sxinit +++|# 03020 M00S02954.sxinit +++| 03021 M00S02955.sxinit +++| SLOWFOR SMX = 1 STEP 1 UNTIL MAXSM 03022 M00S02956.sxinit +++| DO 03023 M00S02957.sxinit +++| BEGIN # FOR EACH SUBCATALOG # 03024 M00S02958.sxinit +++| IF PRM$SCW1[SMX] EQ 0 03025 M00S02959.sxinit +++| THEN 03026 M00S02960.sxinit +++| BEGIN 03027 M00S02961.sxinit +++| TEST SMX; 03028 M00S02962.sxinit +++| END 03029 M00S02963.sxinit +++| 03030 M00S02964.sxinit +++|# 03031 M00S02965.sxinit +++|* READ THE CATALOG *AST* AND UPDATE IT BASED ON THE 03032 M00S02966.sxinit +++|* ANALYSIS OF EACH *FCT* ENTRY IN THE SUBCATALOG. 03033 M00S02967.sxinit +++|# 03034 M00S02968.sxinit +++| 03035 M00S02969.sxinit +++| CRDAST(NAMEFAM[FMX],SFX,PRM$SMID[SMX], ## 03036 M00S02970.sxinit +++| ASTBADR,QRADDR,CR); 03037 M00S02971.sxinit +++| 03038 M00S02972.sxinit +++|# 03039 M00S02973.sxinit +++|* SIMULATED CASE STATEMENT FOR *CRDAST* ERROR PROCESSING. 03040 M00S02974.sxinit +++|# 03041 M00S02975.sxinit +++| 03042 M00S02976.sxinit +++| GOTO CRERJMP[CR]; 03043 M00S02977.sxinit +++| 03044 M00S02978.sxinit +++|CRINTLKJ: 03045 M00S02979.sxinit +++|CRCIOERRJ: 03046 M00S02980.sxinit +++| TEST SFX; 03047 M00S02981.sxinit +++| 03048 M00S02982.sxinit +++|CRNOERRJ: 03049 M00S02983.sxinit +++| 03050 M00S02984.sxinit +++|# 03051 M00S02985.sxinit +++|* END OF SIMULATED CASE STATEMENT FOR *CRDAST* ERROR PROCESSING. 03052 M00S02986.sxinit +++|# 03053 M00S02987.sxinit +++| 03054 M00S02988.sxinit +++| SLOWFOR FCTX = MAXGRT STEP 1 ## 03055 M00S02989.sxinit +++| WHILE FCTX LQ (PRM$ENTRC[SMX] + 15) ## 03056 M00S02990.sxinit +++| AND PRM$ENTRC[SMX] GR 0 03057 M00S02991.sxinit +++| DO 03058 M00S02992.sxinit +++| BEGIN # FOR ALL *FCT* ENTRIES FOR THIS SUBCATALOG # 03059 M00S02993.sxinit +++| 03060 M00S02994.sxinit +++| ACQ$FCT(NAMEFAM[FMX],SFX,PRM$SMID[SMX],FCTX, ## 03061 M00S02995.sxinit +++| QADDR,QRADDR,CER ); 03062 M00S02996.sxinit +++| 03063 M00S02997.sxinit +++|# 03064 M00S02998.sxinit +++|* SIMULATED CASE STATEMENT FOR *ACQ$FCT* ERROR PROCESSING. 03065 M00S02999.sxinit +++|# 03066 M00S03000.sxinit +++| 03067 M00S03001.sxinit +++| GOTO CGERJMP[CER]; 03068 M00S03002.sxinit +++| 03069 M00S03003.sxinit +++|CGCIOERRJ: 03070 M00S03004.sxinit +++|CGINTLKJ: 03071 M00S03005.sxinit +++| TEST SFX; 03072 M00S03006.sxinit +++| 03073 M00S03007.sxinit +++|CGNOERRJ: 03074 M00S03008.sxinit +++| 03075 M00S03009.sxinit +++| CRAST(FCTX,QADDR,ASTBADR); 03076 M00S03010.sxinit +++| UASTPRM(NAMEFAM[FMX],SFX,SMX,QADDR,STAT); 03077 M00S03011.sxinit +++| RLS$FCT(QADDR,0,CER); 03078 M00S03012.sxinit +++| IF CER NQ CMASTAT"NOERR" 03079 M00S03013.sxinit +++| THEN 03080 M00S03014.sxinit +++| BEGIN 03081 M00S03015.sxinit +++| GOTO RLSERR; 03082 M00S03016.sxinit +++| END 03083 M00S03017.sxinit +++| 03084 M00S03018.sxinit +++| END # FOR ALL *FCT* ENTRIES FOR THIS SUBCATALOG # 03085 M00S03019.sxinit +++| 03086 M00S03020.sxinit +++|# 03087 M00S03021.sxinit +++|* END OF SIMULATED CASE STATEMENT FOR *ACQ$FCT* PROCESSING. 03088 M00S03022.sxinit +++|# 03089 M00S03023.sxinit +++| 03090 M00S03024.sxinit +++| TEMPCHAR[0] = PRM$SMID[SMX]; 03091 M00S03025.sxinit +++| BAD$SUB[0] = CHARSUB[0]; 03092 M00S03026.sxinit +++| 03093 M00S03027.sxinit +++| MSG$LINE[0] = " AST UPDATED."; 03094 M00S03028.sxinit +++| MESSAGE(MSGBUF[0],UDFL1); 03095 M00S03029.sxinit +++| 03096 M00S03030.sxinit +++| MSG$LINE[0] = MSG$TEXT[0]; 03097 M00S03031.sxinit +++| RMVBLNK(MSGBUF[0],40); 03098 M00S03032.sxinit +++| MESSAGE(MSGBUF[0],UDFL1); 03099 M00S03033.sxinit +++| 03100 M00S03034.sxinit +++| MESSAGE(BADSUB[0],UDFL1); 03101 M00S03035.sxinit +++| 03102 M00S03036.sxinit +++| END # FOR EACH SUBCATALOG # 03103 M00S03037.sxinit +++| 03104 M00S03038.sxinit +++| END # FOR EACH SUBFAMILY # 03105 M00S03039.sxinit +++| 03106 M00S03040.sxinit +++| END # FOR EACH FAMILY WITH EIGHT SUBFAMILY CATALOGS # 03107 M00S03041.sxinit +++| 03108 M00S03042.sxinit +++| RETURN; 03109 M00S03043.sxinit +++| 03110 M00S03044.sxinit +++|MOCTFULLJ: 03111 M00S03045.sxinit +++|MFOPENJ: 03112 M00S03046.sxinit +++|COCTFULLJ: 03113 M00S03047.sxinit +++|CFOPENJ: 03114 M00S03048.sxinit +++|CRNOTOPENJ: 03115 M00S03049.sxinit +++|CRNOSUBCATJ: 03116 M00S03050.sxinit +++|CGNOTOPENJ: 03117 M00S03051.sxinit +++|CGNOSUBCATJ: 03118 M00S03052.sxinit +++|CGORDERRJ: 03119 M00S03053.sxinit +++|RLSERR: 03120 M00S03054.sxinit +++| FE$RTN[0] = "OPENCAT."; 03121 M00S03055.sxinit +++| MESSAGE(FEMSG,UDFL1); # EXEC ABNORMAL, OPENCAT # 03122 M00S03056.sxinit +++| ABORT; 03123 M00S03057.sxinit +++| 03124 M00S03058.sxinit +++| 03125 M00S03059.sxinit +++| END # OPENCAT # 03126 M00S03060.sxinit +++| 03127 M00S03061.sxinit +++| TERM 03128 M00S03062.sxinit +++|PROC SET0100; 03129 M00S03063.sxinit +++|# TITLE SET0100 - PRESETS COMMON AREA(S) USED BY (1,0). # 03130 M00S03064.sxinit +++| 03131 M00S03065.sxinit +++| BEGIN # SET0100 # 03132 M00S03066.sxinit +++| 03133 M00S03067.sxinit +++|# 03134 M00S03068.sxinit +++|** SET0100 - PRESETS COMMON AREA USED BY (1,0). 03135 M00S03069.sxinit +++|* 03136 M00S03070.sxinit +++|* *SET0100* IS A NON-EXECUTABLE ROUTINE WHICH PRESETS 03137 M00S03071.sxinit +++|* ANY COMMON AREA(S) USED EXCLUSIVELY BY THE (1,0) OVERLAY. 03138 M00S03072.sxinit +++|* THIS IS DONE VIA A *CONTROL PRESET* DIRECTIVE. 03139 M00S03073.sxinit +++|* 03140 M00S03074.sxinit +++|# 03141 M00S03075.sxinit +++| 03142 M00S03076.sxinit +++| DEF LISTCON #0#; 03143 M00S03077.sxinit +++|*CALL COMBFAS 03144 M00S03078.sxinit +++| 03145 M00S03079.sxinit +++| CONTROL PRESET; 03146 M00S03080.sxinit +++| 03147 M00S03081.sxinit +++|*CALL COMXINT 03148 M00S03082.sxinit +++| END # SET0100 # 03149 M00S03083.sxinit +++| 03150 M00S03084.sxinit +++| TERM 03151 M00S03085.sxinit +++|PROC TERMCAT; 03152 M00S03086.sxinit +++|# TITLE TERMCAT - CLOSES THE CATALOGS AND SMMAPS. # 03153 M00S03087.sxinit +++| BEGIN # TERMCAT # 03154 M00S03088.sxinit +++| 03155 M00S03089.sxinit +++|# 03156 M00S03090.sxinit +++|** *TERMCAT* - CLOSES THE CATALOGS AND SMAMAPS. 03157 M00S03091.sxinit +++|* 03158 M00S03092.sxinit +++|* THIS PROCEDURE CLOSES THE SFM CATALOGS AND SMAMAPS. 03159 M00S03093.sxinit +++|* 03160 M00S03094.sxinit +++|* PROC TERMCAT 03161 M00S03095.sxinit +++|* 03162 M00S03096.sxinit +++|* EXIT EACH SFM CATALOG AND SMMAP IS CLOSED. 03163 M00S03097.sxinit +++|# 03164 M00S03098.sxinit +++| 03165 M00S03099.sxinit +++| 03166 M00S03100.sxinit +++|# 03167 M00S03101.sxinit +++|**** PROC TERMCAT - XREF LIST BEGIN. 03168 M00S03102.sxinit +++|# 03169 M00S03103.sxinit +++| 03170 M00S03104.sxinit +++| XREF 03171 M00S03105.sxinit +++| BEGIN 03172 M00S03106.sxinit +++| PROC CCLOSE; # CLOSES THE CATALOGS # 03173 M00S03107.sxinit +++| PROC MCLOSE; # CLOSES THE SMAMAPS # 03174 M00S03108.sxinit +++| END 03175 M00S03109.sxinit +++| 03176 M00S03110.sxinit +++|# 03177 M00S03111.sxinit +++|**** PROC TERMCAT - XREF LIST END. 03178 M00S03112.sxinit +++|# 03179 M00S03113.sxinit +++| 03180 M00S03114.sxinit +++| 03181 M00S03115.sxinit +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 03182 M00S03116.sxinit +++|*CALL COMBFAS 03183 M00S03117.sxinit +++|*CALL COMBCMD 03184 M00S03118.sxinit +++| 03185 M00S03119.sxinit +++| 03186 M00S03120.sxinit +++| ITEM CSTAT U; # STATUS RETURNED FROM CCLOSE # 03187 M00S03121.sxinit +++| ITEM I U; # LOOP COUNTER # 03188 M00S03122.sxinit +++| 03189 M00S03123.sxinit +++| 03190 M00S03124.sxinit +++| 03191 M00S03125.sxinit +++| 03192 M00S03126.sxinit +++| 03193 M00S03127.sxinit +++|# 03194 M00S03128.sxinit +++|* CLOSE THE CATALOGS FOR EACH FAMILY AND SUB-FAMILY 03195 M00S03129.sxinit +++|# 03196 M00S03130.sxinit +++| 03197 M00S03131.sxinit +++| FASTFOR I = 1 STEP 1 UNTIL OCTLEN 03198 M00S03132.sxinit +++| DO 03199 M00S03133.sxinit +++| BEGIN 03200 M00S03134.sxinit +++| IF OCT$W1[I] NQ 0 03201 M00S03135.sxinit +++| THEN 03202 M00S03136.sxinit +++| BEGIN 03203 M00S03137.sxinit +++| CCLOSE(OCT$FAM[I],OCT$SUBF[I],0,CSTAT); 03204 M00S03138.sxinit +++| END 03205 M00S03139.sxinit +++| 03206 M00S03140.sxinit +++| END 03207 M00S03141.sxinit +++| 03208 M00S03142.sxinit +++|# 03209 M00S03143.sxinit +++|* CLOSE ALL THE SMAMAPS 03210 M00S03144.sxinit +++|# 03211 M00S03145.sxinit +++| 03212 M00S03146.sxinit +++| FASTFOR I = 1 STEP 1 UNTIL MAXSM 03213 M00S03147.sxinit +++| DO 03214 M00S03148.sxinit +++| BEGIN 03215 M00S03149.sxinit +++| IF OMT$OPEN[I] 03216 M00S03150.sxinit +++| THEN 03217 M00S03151.sxinit +++| BEGIN 03218 M00S03152.sxinit +++| MCLOSE(I,CSTAT); 03219 M00S03153.sxinit +++| END 03220 M00S03154.sxinit +++| 03221 M00S03155.sxinit +++| END 03222 M00S03156.sxinit +++| 03223 M00S03157.sxinit +++| END # TERMCAT # 03224 M00S03158.sxinit +++| 03225 M00S03159.sxinit +++| TERM # TERMCAT # 03226 M00S03160.sxinit +++|PROC TERMSCP; 03227 M00S03161.sxinit +++| 03228 M00S03162.sxinit +++|# TITLE TERMSCP - RELINQUISHES SCP STATUS. # 03229 M00S03163.sxinit +++| BEGIN # TERMSCP # 03230 M00S03164.sxinit +++| 03231 M00S03165.sxinit +++|# 03232 M00S03166.sxinit +++|** TERMSCP - RELINQUISHES SCP STATUS. 03233 M00S03167.sxinit +++|* 03234 M00S03168.sxinit +++|* THIS PROCEDURE ISSUES AN SF.EXIT. 03235 M00S03169.sxinit +++|* 03236 M00S03170.sxinit +++|* PROC TERMSCP 03237 M00S03171.sxinit +++|* 03238 M00S03172.sxinit +++|# 03239 M00S03173.sxinit +++| 03240 M00S03174.sxinit +++| 03241 M00S03175.sxinit +++|# 03242 M00S03176.sxinit +++|**** PROC TERMSCP - XREF LIST BEGIN. 03243 M00S03177.sxinit +++|# 03244 M00S03178.sxinit +++| 03245 M00S03179.sxinit +++| XREF 03246 M00S03180.sxinit +++| BEGIN 03247 M00S03181.sxinit +++| PROC SFCALL; 03248 M00S03182.sxinit +++| END 03249 M00S03183.sxinit +++| 03250 M00S03184.sxinit +++|# 03251 M00S03185.sxinit +++|**** PROC TERMSCP - XREF LIST END. 03252 M00S03186.sxinit +++|# 03253 M00S03187.sxinit +++| 03254 M00S03188.sxinit +++| 03255 M00S03189.sxinit +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 03256 M00S03190.sxinit +++|*CALL COMBFAS 03257 M00S03191.sxinit +++|*CALL COMBUCR 03258 M00S03192.sxinit +++| 03259 M00S03193.sxinit +++| 03260 M00S03194.sxinit +++| 03261 M00S03195.sxinit +++| 03262 M00S03196.sxinit +++|# 03263 M00S03197.sxinit +++|* ISSUE AN SF.EXIT. 03264 M00S03198.sxinit +++|# 03265 M00S03199.sxinit +++| 03266 M00S03200.sxinit +++| SFFC = SFEXIT; 03267 M00S03201.sxinit +++| SFCALL(SFBLKPTR,RCL); 03268 M00S03202.sxinit +++| END # TERMSCP # 03269 M00S03203.sxinit +++| 03270 M00S03204.sxinit +++| TERM 03271 M00S03205.sxinit +++|PROC WRAPUP; 03272 M00S03206.sxinit +++| 03273 M00S03207.sxinit +++|# TITLE WRAPUP - WRAP-UP PROCESSING PRIOR TO NORMAL TERMINATION. # 03274 M00S03208.sxinit +++| 03275 M00S03209.sxinit +++| BEGIN # WRAPUP # 03276 M00S03210.sxinit +++| 03277 M00S03211.sxinit +++|# 03278 M00S03212.sxinit +++|** WRAPUP - WRAPUP PROCESSING PRIOR TO NORMAL TERMINATION. 03279 M00S03213.sxinit +++|* 03280 M00S03214.sxinit +++|* THIS PROCEDURE DOES THE WRAP-UP PROCESSING PRIOR TO NORMAL 03281 M00S03215.sxinit +++|* TERMINATION. 03282 M00S03216.sxinit +++|* 03283 M00S03217.sxinit +++|* PROC WRAPUP 03284 M00S03218.sxinit +++|* 03285 M00S03219.sxinit +++|* MESSAGES CPU SECONDS = XXX. 03286 M00S03220.sxinit +++|* CPU PERCENT = XX.X. 03287 M00S03221.sxinit +++|* FL CHANGES = XXX. 03288 M00S03222.sxinit +++|* MAXIMUM FL = XXX. 03289 M00S03223.sxinit +++|* OVERLAY LOADS = XXX. 03290 M00S03224.sxinit +++|* FILES STAGED = XXX. 03291 M00S03225.sxinit +++|* FILES DESTAGED = XXX. 03292 M00S03226.sxinit +++|* 03293 M00S03227.sxinit +++|# 03294 M00S03228.sxinit +++| 03295 M00S03229.sxinit +++| XREF 03296 M00S03230.sxinit +++| BEGIN 03297 M00S03231.sxinit +++| PROC MESSAGE; # INTERFACE TO *MESSAGE* MACRO # 03298 M00S03232.sxinit +++| PROC RTIME; # INTERFACE TO *RTIME* MACRO # 03299 M00S03233.sxinit +++| PROC TERMCAT; # CLOSES THE CATALOGS AND SMAMAPS 03300 M00S03234.sxinit +++| # 03301 M00S03235.sxinit +++| PROC TERMSCP; # RELINQUISHES SCP STATUS # 03302 M00S03236.sxinit +++| PROC TIME; # INTERFACE TO *TIME* MACRO # 03303 M00S03237.sxinit +++| FUNC XCDD C(6); # CONVERT TO DECIMAL DISPLAY # 03304 M00S03238.sxinit +++| END 03305 M00S03239.sxinit +++| 03306 M00S03240.sxinit +++|# 03307 M00S03241.sxinit +++|**** PROC WRAPUP - XREF LIST END. 03308 M00S03242.sxinit +++|# 03309 M00S03243.sxinit +++| 03310 M00S03244.sxinit +++| 03311 M00S03245.sxinit +++| DEF LISTCON #0#; # DO NOT LIST COMDECKS # 03312 M00S03246.sxinit +++|*CALL COMBFAS 03313 M00S03247.sxinit +++|*CALL COMXMSC 03314 M00S03248.sxinit +++|*CALL COMXOVL 03315 M00S03249.sxinit +++| 03316 M00S03250.sxinit +++| ARRAY WRAPMESS [0:0] S(3); 03317 M00S03251.sxinit +++| BEGIN 03318 M00S03252.sxinit +++| ITEM WRAPFILL1 C(00,00,01) = [" "]; # LEADING BLANK # 03319 M00S03253.sxinit +++| ITEM WRAPDESC C(00,06,14); # MSG HEADER # 03320 M00S03254.sxinit +++| ITEM WRAPEQ C(01,30,02) = ["= "]; # EQUAL SIGN # 03321 M00S03255.sxinit +++| ITEM WRAPQTY C(01,42,06); # QUANTITY # 03322 M00S03256.sxinit +++| ITEM WRAPPRD C(02,18,01) = ["."]; # PERIOD # 03323 M00S03257.sxinit +++| ITEM WRAPTERM U(02,24,12) = [0]; # MSG TERMINATOR # 03324 M00S03258.sxinit +++| END 03325 M00S03259.sxinit +++| 03326 M00S03260.sxinit +++| ARRAY CTIMESTAT [0:0] S(1); # ACCUMULATED JOB TIME # 03327 M00S03261.sxinit +++| BEGIN 03328 M00S03262.sxinit +++| ITEM CTIMSECS U(00,24,24); # JOB SECONDS # 03329 M00S03263.sxinit +++| ITEM CTIMMILS U(00,48,12); # JOB MILLESECONDS # 03330 M00S03264.sxinit +++| END 03331 M00S03265.sxinit +++| 03332 M00S03266.sxinit +++| ITEM PERCENT I; # PERCENT OF MACHINE TIME # 03333 M00S03267.sxinit +++| ITEM RESULT C(10); # DISPLAY CODE RESULT # 03334 M00S03268.sxinit +++| 03335 M00S03269.sxinit +++| 03336 M00S03270.sxinit +++| 03337 M00S03271.sxinit +++| 03338 M00S03272.sxinit +++| 03339 M00S03273.sxinit +++| TERMCAT; 03340 M00S03274.sxinit +++| 03341 M00S03275.sxinit +++| TERMSCP; 03342 M00S03276.sxinit +++| 03343 M00S03277.sxinit +++|# 03344 M00S03278.sxinit +++|* WRITE SYSTEM DAYFILE MESSAGES. 03345 M00S03279.sxinit +++|# 03346 M00S03280.sxinit +++| 03347 M00S03281.sxinit +++| WRAPDESC[0] = "CPU SECONDS"; 03348 M00S03282.sxinit +++| TIME(CTIMESTAT); 03349 M00S03283.sxinit +++| RESULT = XCDD(CTIMSECS[0]); 03350 M00S03284.sxinit +++| WRAPQTY[0] = C<4,6>RESULT; 03351 M00S03285.sxinit +++| MESSAGE(WRAPMESS,SYSUDF1); 03352 M00S03286.sxinit +++| 03353 M00S03287.sxinit +++| WRAPDESC[0] = "CPU PERCENT"; 03354 M00S03288.sxinit +++| RTIME(RTIMESTAT); 03355 M00S03289.sxinit +++| PERCENT = (CTIMSECS[0] * 10000) / (RTIMSECS[0] - FIRSTRTIME) + 5 03356 M00S03290.sxinit +++| ; 03357 M00S03291.sxinit +++| RESULT = XCDD(PERCENT); 03358 M00S03292.sxinit +++| C<0,4>WRAPQTY[0] = C<4,4>RESULT; 03359 M00S03293.sxinit +++| C<4,1>WRAPQTY[0] = "."; 03360 M00S03294.sxinit +++| C<5,1>WRAPQTY[0] = C<8,1>RESULT; 03361 M00S03295.sxinit +++| MESSAGE(WRAPMESS,SYSUDF1); 03362 M00S03296.sxinit +++| 03363 M00S03297.sxinit +++| WRAPDESC[0] = "FL CHANGES"; 03364 M00S03298.sxinit +++| RESULT = XCDD(NFLCHNG); 03365 M00S03299.sxinit +++| WRAPQTY[0] = C<4,6>RESULT; 03366 M00S03300.sxinit +++| MESSAGE(WRAPMESS,SYSUDF1); 03367 M00S03301.sxinit +++| 03368 M00S03302.sxinit +++| WRAPDESC[0] = "MAXIMUM FL"; 03369 M00S03303.sxinit +++| RESULT = XCDD(MAX$FL); 03370 M00S03304.sxinit +++| WRAPQTY[0] = C<4,6>RESULT; 03371 M00S03305.sxinit +++| MESSAGE(WRAPMESS,SYSUDF1); 03372 M00S03306.sxinit +++| 03373 M00S03307.sxinit +++| WRAPDESC[0] = "OVERLAY LOADS"; 03374 M00S03308.sxinit +++| RESULT = XCDD(OVLDCNT); 03375 M00S03309.sxinit +++| WRAPQTY[0] = C<4,6>RESULT; 03376 M00S03310.sxinit +++| MESSAGE(WRAPMESS,SYSUDF1); 03377 M00S03311.sxinit +++| 03378 M00S03312.sxinit +++| WRAPDESC[0] = "FILES STAGED"; 03379 M00S03313.sxinit +++| RESULT = XCDD(STGCNT); 03380 M00S03314.sxinit +++| WRAPQTY[0] = C<4,6>RESULT; 03381 M00S03315.sxinit +++| MESSAGE(WRAPMESS,SYSUDF1); 03382 M00S03316.sxinit +++| 03383 M00S03317.sxinit +++| 03384 M00S03318.sxinit +++| WRAPDESC[0] = "FILES DESTAGED"; 03385 M00S03319.sxinit +++| RESULT = XCDD(DSTCNT); 03386 M00S03320.sxinit +++| WRAPQTY[0] = C<4,6>RESULT; 03387 M00S03321.sxinit +++| MESSAGE(WRAPMESS,SYSUDF1); 03388 M00S03322.sxinit +++| END # WRAPUP # 03389 M00S03323.sxinit +++| 03390 M00S03324.sxinit +++| TERM
cdc/nos2.source/opl.opl871/deck/sxinit.001.txt · Last modified: by 127.0.0.1