ibm:vm370-lib:cms:dmscls.assemble_src
Table of Contents
DMSCLS Source
References
- Fixes Applied : 0
- This Source Date : Tuesday, December 12, 1978
- Last Fix ID : [Unmodified]
Source Listing
- DMSCLS.ASSEMBLE.txt
- CLS TITLE 'DMSCLS (CMS) VM/370 - RELEASE 6' 00001000
- SPACE 2 00002000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00003000
- *. * 00004000
- * MODULE NAME: * 00005000
- * DMSCLS * 00006000
- * * 00007000
- * FUNCTION: * 00008000
- * DMSCLS CLOSES CMS/DOS FILES ASSOCIATED WITH THE * 00009000
- * FOLLOWING DTFS - DTFCN, DTFCD, DTFPR, DTFMT, DTFDI, * 00010000
- * DTFCP AND DTFSD. THE CLOSE OPERATION DEPENDS ON * 00011000
- * BOTH DTF TYPE AND DEVICE TYPE AS DETERMINED FROM THE * 00012000
- * PUB ASSIGNMENT. ONCE THE DTF TABLE HAS BEEN IDENTIFIED * 00013000
- * AS CLOSED, A 'CP CLOSE' IS PERFORMED IN THE CASE OF * 00014000
- * READER, PRINTER, AND PUNCH. IF A DISK FILE IS BEING * 00015000
- * CLOSED, A 'FINIS FN FT FM' IS PERFORMED. IF A DISK * 00016000
- * WORKFILE IS BEING CLOSED AND DELETFL=NO IS NOT * 00017000
- * SPECIFIED, THE WORKFILE IS ERASED (DMSERS). * 00018000
- * * 00019000
- * ATTRIBUTES: * 00020000
- * DISCONTIGUOUS SHARED SEGMENT * 00021000
- * REENTRANT * 00022000
- * * 00023000
- * ENTRY POINTS: * 00024000
- * DMSCLS * 00025000
- * * 00026000
- * ENTRY CONDITIONS: * 00027000
- * DMSCLS IS INVOKED BY MEANS OF THE CLOSE OR CLOSER * 00028000
- * MACRO EXPANSION OR IN RESPONSE TO AN SVC 2 (FETCH FOR * 00029000
- * $$BCLOSE) BEING ISSUED BY A PROBLEM PROGRAM. * 00030000
- * * 00031000
- * EXAMPLE: * 00032000
- * CLOSE DTF1,DTF2,DTF3 * 00033000
- * + CNOP 0,4 * 00034000
- * + DC 0F'0' * 00035000
- * + LA 1,=C'$$BCLOSE' * 00036000
- * +IJJC0002 BAL 0,*+4+4*(2-1) * 00037000
- * + DC A(DTF1) * 00038000
- * + DC A(DTF2) * 00039000
- * + DC A(DTF3) * 00040000
- * + SVC 2 * 00041000
- * * 00042000
- * THE CLOSE ROUTINE IS INVOKED BY MEANS OF AN SVC 2. * 00043000
- * SVC 2 IS A FETCH FOR THE ROUTINE POINTED TO BY R1 AS * 00044000
- * A RESULT OF THE MACRO EXPANSION...IN THIS CASE * 00045000
- * $$BCLOSE. UPON ENTRY TO DMSCLS, R0 POINTS TO THE * 00046000
- * FIRST DTF OR ACB ADCON IN THE MACRO EXPANSION. * 00047000
- * * 00048000
- * EXIT CONDITIONS: * 00049000
- * * 00050000
- * NORMAL RETURN = 0 * 00051000
- * * 00052000
- * NORMAL EXITS: * 00053000
- * SVC 11 - RETURN TO PROBLEM PROGRAM AFTER CLOSE IS * 00054000
- * COMPLETE. * 00055000
- * * 00056000
- * SVC 2 - FETCH FOR $$BCVSAM TO CLOSE ANY ACBS. THIS * 00057000
- * WILL BE FOLLOWED BY A RETURN TO DMSCLS AND AN EVENTUAL * 00058000
- * RETURN TO THE PROBLEM PROGRAM VIA AN SVC 11. * 00059000
- * * 00060000
- * ABNORMAL EXITS: * 00061000
- * R15 = 24 * 00062000
- * R15 = 36 * 00063000
- * R15 = 100 * 00064000
- * R15 = 40 * 00065000
- * IN EACH OF ABOVE SITUATIONS, ROUTINE IS * 00066000
- * CANCELLED WITH AN SVC 6. * 00067000
- * * 00068000
- * ERROR MESSAGES ISSUED BY THIS ROUTINE: * 00069000
- * * 00070000
- * DMSCLS088E UNSUPPORTED DTF TYPE 'DTF TYPE' * 00071000
- * * 00072000
- * EXPLANATION: ATTEMPT TO OPEN * 00073000
- * UNSUPPORTED DTF TYPE . * 00074000
- * * 00075000
- * SYSTEM ACTION: RC = 24 * 00076000
- * THE SESSION IS CANCELLED. * 00077000
- * * 00078000
- * USER ACTION: USE A SUPPORTED DTF * 00079000
- * IN THE USER PROGRAM AND RESTART THE * 00080000
- * SESSION. * 00081000
- * * 00082000
- * DMSCLS113S 'TAPN (CUU)' NOT ATTACHED * 00083000
- * * 00084000
- * EXPLANATION: THE TAPE HAS NOT BEEN * 00085000
- * MOUNTED AND/OR THE DEVICE IS NOT * 00086000
- * READY. * 00087000
- * * 00088000
- * SYSTEM ACTION: RC = 100 * 00089000
- * THE SESSION IS CANCELLED * 00090000
- * * 00091000
- * USER ACTION: ATTACH THE TAPE TO * 00092000
- * THE USER'S VIRTUAL MACHINE AND RE- * 00093000
- * START THE SESSION. * 00094000
- * * 00095000
- * DMSCLS058E END-OF-FILE OR END-OF-TAPE ON 'TAPN'* 00096000
- * * 00097000
- * EXPLANATION: END OF FILE OR END * 00098000
- * OF TAPE HAS BEEN ENCOUNTERED WHILE * 00099000
- * PERFORMING TAPE I/O OPERATIONS. * 00100000
- * * 00101000
- * SYSTEM ACTION: RC = 40 * 00102000
- * THE SESSION IS CANCELLED. * 00103000
- * * 00104000
- * USER ACTION: REWIND AND REPOSITION * 00105000
- * THE TAPE AND RESTART THE SESSION. * 00106000
- * * 00107000
- * DMSCLS043E TAPN IS FILE PROTECTED. * 00108000
- * * 00109000
- * EXPLANATION: TAPN WHERE N= 1, 2, 3,* 00110000
- * 4 IS FILE PROTECTED. * 00111000
- * * 00112000
- * SYSTEM ACTION: RC = 36 * 00113000
- * THE SESSION IS CANCELLED. * 00114000
- * * 00115000
- * USER ACTION: VERIFY THAT THE * 00116000
- * CORRECT TAPE HAS BEEN SELECTED, * 00117000
- * CORRECT THE FILE PROTECT SITUATION * 00118000
- * AND RESTART THE SESSION. * 00119000
- * * 00120000
- * DMSCLS089E CLOSE ERROR CODE 'NN' ON * 00121000
- * FN/SYSXXX/TAPN * 00122000
- * * 00123000
- * EXPLANATION: THIS MESSAGE WILL BE * 00124000
- * ISSUED FOR MANY OF THE CLOSE ERROR * 00125000
- * MESSAGES. A UNIQUE ERROR CODE IN * 00126000
- * THE MESSAGE WILL IDENTIFY THE ERROR * 00127000
- * SITUATION. * 00128000
- * * 00129000
- * * 00130000
- * SYSTEM ACTION: * 00131000
- * * 00132000
- * RC = 1 * 00133000
- * SYSXXX VALUE IN DOSCB DOES NOT * 00134000
- * MATCH THE VALUE IN THE DTF. * 00135000
- * * 00136000
- * RC = 3 * 00137000
- * ATTEMPTING TO CLOSE A SEQUENTIAL * 00138000
- * DISK FILE BUT NO DOSCB EXISTS WITH * 00139000
- * THE DOSCB DDNAME EQUAL TO THE DTF * 00140000
- * FILENAME. CMS/DOS REQUIRES A USER * 00141000
- * ISSUED DLBL FOR ALL SEQUENTIAL DISK * 00142000
- * INPUT AND OUTPUT FILES. * 00143000
- * * 00144000
- * * 00145000
- * RC = 4 * 00146000
- * ATTEMPT TO CLOSE DTFCD/DTFPR WITH * 00147000
- * ASSOCFLE/FUNC PARAMETERS SPECIFIED * 00148000
- * ON DTF MACRO. THESE PARAMETERS ARE * 00149000
- * NOT SUPPORTED. * 00150000
- * * 00151000
- * RC = 7 * 00152000
- * THE PUB DEVICE TYPE CODE IS IN- * 00153000
- * COMPATIBLE WITH THE DEVICE TYPES * 00154000
- * SUPPORTED BY THE DTF BEING CLOSED. * 00155000
- * * 00156000
- * RC = 8 * 00157000
- * SYSTEM OR PROGRAMMER LOGICAL UNIT * 00158000
- * IS UNASSIGNED (PUB POINTER IN LUB * 00159000
- * EQUALS X'FF'). * 00160000
- * * 00161000
- * RC = 11 * 00162000
- * ASCII=YES SPECIFIED ON THE DTFMT/ * 00163000
- * DTFCP MACRO. THIS PARAMETER IS NOT * 00164000
- * SUPPORTED. * 00165000
- * * 00166000
- * RC = 17 * 00167000
- * UNEXPECTED TAPE ERROR ENCOUNTERED * 00168000
- * WHEN PERFORMING TAPE IO OPERATION. * 00169000
- * * 00170000
- * THE SESSION IS CANCELLED IN ALL THE * 00171000
- * ABOVE SITUATIONS. RC = 36 * 00172000
- * * 00173000
- * USER ACTION: CORRECT THE INDIVIDUAL* 00174000
- * SITUATION AND RESTART THE SESSION. * 00175000
- * * 00176000
- * CALLS TO OTHER ROUTINES: * 00177000
- * DMSTIO - SVC 202 * 00178000
- * DMSFNS - FINIS (BALR) * 00179000
- * DMSFREB - DMSFREE FOR FREE STORAGE * 00180000
- * 'CP CLOSE' TO CLOSE READER, PRINTER AND PUNCH FILES. * 00181000
- * DMSXCP - SVC 0 TO PERFORM IO * 00182000
- * DMSERR - ERROR MESSAGES * 00183000
- * DMSERS - TO ERASE DISK WORKFILES. * 00184000
- * * 00185000
- * EXTERNAL REFERENCES: * 00186000
- * NUCON, DOSAVE, BGCOM, MAPPUB, DOSCB, REGEQU * 00187000
- * * 00188000
- * CALLED BY: * 00189000
- * INVOKED IN RESPONSE TO SVC 2 (FETCH FOR $$BCLOSE). * 00190000
- * THE SVC 2 CAN RESULT FROM TWO SITUATIONS: * 00191000
- * 1. SVC 2 GENERATED AS PART OF * 00192000
- * CLOSE/CLOSER MACRO EXPANSION * 00193000
- * WHERE R1 POINTS TO THE NAME OF * 00194000
- * A FILE TO BE FETCHED ($$BCLOSE).* 00195000
- * * 00196000
- * 2. SVC 2 ISSUED IN USER PROGRAM * 00197000
- * AND R1 POINTS TO THE NAME OF A * 00198000
- * FILE TO BE FETCHED ($$BCLOSE). * 00199000
- * * 00200000
- * TABLES AND WORK AREAS: * 00201000
- * SYSTAB - TABLE CONTAINING A 4 BYTE ENTRY FOR EACH * 00202000
- * SYSTEM LOGICAL UNIT. (IE: CL4'RDR', CL4'IPT',* 00203000
- * ETC.) THIS TABLE IS USED TO CONVERT THE TWO- * 00204000
- * BYTE LOGICAL UNIT IN THE DTF TO THE MORE * 00205000
- * RECOGNIZED FORM OF 'SYSXXX'. * 00206000
- * * 00207000
- * PROCTAB - A TABLE CONTAINING A SERIES OF ADCONS WHICH * 00208000
- * POINT TO A LIST OF ROUTINE ADDRESSES TO BE * 00209000
- * GIVEN CONTROL IN A GIVEN SITUATION . * 00210000
- * PROCTAB EQU * * 00211000
- * DC A(PROC7) O/P, NOREW * 00212000
- * EXAMPLE: DC A(PROC3) I/P, NOREW * 00213000
- * DC A(PROC6) O/P, REW * 00214000
- * DC A(PROC1) I/P, REW * 00215000
- * * 00216000
- * PROC7 DC A(TMWRITE) WRITE TM * 00217000
- * DC A(EXIT) EXIT PHASE * 00218000
- * * 00219000
- * FREE - 31 DOUBLEWORDS OF FREE STORAGE USED FOR * 00220000
- * SWITCHES, ADDRESSES, PLISTS AND WORKAREAS * 00221000
- * WHICH WILL BE MODIFIES AT SOME POINT DURING THE * 00222000
- * PROGRAM. (DMSCLS IS REENTRANT) * 00223000
- * * 00224000
- * REGISTER USAGE: * 00225000
- * * 00226000
- * R0 - AT DMSCLS ENTRY R0 POINTS TO THE LIST OF ADCONS * 00227000
- * GENERATED BY THE CLOSE MACRO. EACH ADCON IS AN * 00228000
- * ADDRESS OF A DTF OR ACB TO BE CLOSED BY THE * 00229000
- * PROGRAM. * 00230000
- * R1 - PLIST POINTER AND WORKING REGISTER * 00231000
- * R2 - DTF POINTER * 00232000
- * R3 - WORKING REGISTER * 00233000
- * R4 - WORKING REGISTER * 00234000
- * R5 - PUB POINTER/WORKING REGISTER * 00235000
- * R6 - BAL REGISTER * 00236000
- * R7 - WORKING REGISTER * 00237000
- * R8 - WORKING REGISTER * 00238000
- * R9 - FREE STORAGE POINTER * 00239000
- * R10 - BGCOM POINTER * 00240000
- * R11 - BASE REGISTER 2 * 00241000
- * R12 - BASE REGISTER 1 * 00242000
- * R13 - WORKING REGISTER * 00243000
- * R14 - WORKING REGISTER * 00244000
- * R15 - RETURN CODES * 00245000
- * * 00246000
- * OPERATION: * 00247000
- * * 00248000
- * DMSCLS IS THE SIMULATED CLOSE ROUTINE USED BY THE * 00249000
- * CMS/DOS SUPPORT TO CLOSE SUPPORTED DTF TYPES. DMSCLS * 00250000
- * IS USED INSTEAD OF THE MANY $$B-TRANSIENTS * 00251000
- * USED BY DOS/VS. * 00252000
- * * 00253000
- * DMSCLS PERFORMS THE FOLLOWING MAJOR ACTIVITIES: * 00254000
- * * 00255000
- * 1. DMSCLS OBTAINS ITS WORK AREA FROM FREE STORAGE. * 00256000
- * * 00257000
- * 2. THE PROGRAM THEN SCANS THE LIST OF DTF/ACB FILES * 00258000
- * TO BE CLOSED. UPON ENCOUNTERING AN ACB, CONTROL * 00259000
- * IS PASSED TO THE VSAM CLOSE ROUTINE ($$BCVSAM) * 00260000
- * TO CLOSE THE SPECIFIED ACB. * 00261000
- * * 00262000
- * 3. ONCE THIS IS ACCOMPLISHED, THE DTF TYPE IS EXAMINED* 00263000
- * AND CONTROL IS PASSED TO A ROUTINE WHICH CLOSES * 00264000
- * THAT PARTICULAR DTF TYPE. * 00265000
- * * 00266000
- * OPEN IGNORE BIT POSTED - NO ACTION. * 00267000
- * * 00268000
- * UNIT RECORD EQUIPMENT - (DTF TYPES X'02', X '04', * 00269000
- * X'08') RESET OPEN INDICATOR IN DTF. * 00270000
- * * 00271000
- * TAPE WORKFILE (DTF TYPE X'10') - * 00272000
- * IF NOREWIND IS SPECIFIED, THE TAPE IS NOT REWOUND. * 00273000
- * IF REWIND/UNLOAD IS SPECIFIED, THE TAPE * 00274000
- * IS REWOUND AND UNLOADED. IF A WRITE COMMAND IS * 00275000
- * FOUND IN THE DTF, A TAPE MARK IS WRITTEN. * 00276000
- * * 00277000
- * TAPE DATA FILES (DTF TYPES X'11', X'12', X'14') * 00278000
- * IF OUTPUT FILE, AND BLOCKED RECORDS, RETURN CONTROL* 00279000
- * TO TRUNCS ROUTINE IN LOGIC MODULE VIA SVC 8. * 00280000
- * IF OUTPUT FILE, AND UNBLOCKED RECORDS A TAPE MARK * 00281000
- * IS WRITTEN. IF REWIND/UNLOAD IS INDICATED, * 00282000
- * THIS ACTION IS TAKEN AND THE DTF IS POSTED CLOSED. * 00283000
- * IF A TAPE DATA INPUT FILE, AND NO USASI * 00284000
- * COBOL CLOSE, THE NORMAL REWIND/UNLOAD IS * 00285000
- * DONE IF SPECIFIED. IF TAPE DATA INPUT FILE, * 00286000
- * AND USASI COBOL CLOSE IS SPECIFIED, AND * 00287000
- * NONSTANDARD LABEL TAPE, EXIT IS MADE TO USER * 00288000
- * LABEL ROUTINE IF SPECIFIED. IN OTHER INPUT CASES, * 00289000
- * THE TAPE IS REWOUND/UNLOADED AS SPECIFIED. * 00290000
- * * 00291000
- * DISK FILES (DTFSD/DTFCP/DTFDI) * 00292000
- * IN THE CASE OF OUTPUT FILES, AN EXIT IS MADE TO * 00293000
- * THE LOGIC MODULE TO WRITE THE LAST RECORD IF * 00294000
- * REQUIRED. OTHERWISE, FIELDS ARE INITIALIZED TO * 00295000
- * CLOSE STATUS IN THE DTF AND A CALL IS MADE * 00296000
- * TO FINIS TO CLOSE THE DISK FILE. IN THE CASE * 00297000
- * OF A DISK WORKFILE WHEN DELETFL=NO HAS NOT * 00298000
- * BEEN SPECIFIED ON THE DTF MACRO, A CALL IS MADE * 00299000
- * TO DMSERS TO ERASE THE WORKFILE. * 00300000
- * * 00301000
- * IN THE CASE OF DTFCP SYSTEM TAPE FILES, * 00302000
- * NO REWIND OR UNLOAD IS PERFORMED. THIS IS NECESSARY* 00303000
- * FOR COMPILER FILES. * 00304000
- * * 00305000
- * * 00306000
- * 4. AFTER EACH DTF TABLE IS INITIALIZED PER THE CLOSE * 00307000
- * RULES, A CHECK IS MADE TO SEE IF MORE DTFS REMAIN * 00308000
- * TO BE CLOSED. IF SO, PROCESSING CONTINUES AS OUT- * 00309000
- * LINED ABOVE IN (3). * 00310000
- * * 00311000
- * 5. WHEN ALL FILES HAVE BEEN CLOSED, EXIT IS MADE BY * 00312000
- * AN SVC 11 TO THE PROBLEM PROGRAM ASSUMING THERE * 00313000
- * WERE NO ACBS TO CLOSE. IF ACBS REMAIN TO BE * 00314000
- * CLOSED, AN SVC 2 IS ISSUED FOR $$BCVSAM. CONTROL * 00315000
- * RETURNS TO DMSBOP AND EXIT IS MADE VIA AND SVC 11. * 00316000
- * * 00317000
- * 6. WHEN ERRORS ARE ENCOUNTERED, AN APPROPRIATE ERROR * 00318000
- * MESSAGE IS ISSUED AND EXIT IS MADE VIA AN SVC 6 * 00319000
- * (CANCEL - ABNORMAL TERMINATION). * 00320000
- *. * 00321000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00322000
- PUNCH 'SPB' @VA06270 00322500
- SPACE 2 00323000
- DMSCLS CSECT @V305066 00324000
- USING DMSCLS,R12,R11 ESTABLISH ADDRESSABILITY @V305066 00325000
- USING DOSSECT,R13 DOSCB ADDRESSABILITY @V305066 00326000
- USING NUCON,R0 NUCON ADDRESSABILITY @V305066 00327000
- USING FREE,R9 ADDRESSABILITY FOR FREE STORAGE @V305066 00328000
- USING DTFSD,R2 DTF ADDRESSABILITY @V305066 00329000
- USING PUBADR,R5 PUB ADDRESSABILITY @V305066 00330000
- USING BGCOM,R10 PART.COMREG ADDRESSABILITY @V305066 00331000
- DC CL8'$$BCLOSE' @V305066 00332000
- BALR R12,0 ESTABLISH OWN ADDRESSABILITY @V305066 00333000
- USING *,R12,R11 ADDRESSABILITY @V305066 00334000
- LA R11,4095(R12) ESTABLISH SECOND BASE REGISTER @V305066 00335000
- LA R11,1(,R11) @V305066 00336000
- L R10,ASYSREF BGCOM ADDRESS @V305066 00337000
- LR R2,R0 PTR TO FIRST DTF/ACB ADCON @V305066 00338000
- LA R0,FREEDB GET NO. DOUBLE WORDS FREE STOR @V305101 00339000
- DMSFREE DWORDS=(0),TYPE=NUCLEUS,TYPCALL=BALR @V305066 00340000
- LR R9,R1 ADDRESS OF FREE STORAGE @V305066 00341000
- XC FREE(FREELN),FREE ZERO OUT ACQUIRED AREA @V305101 00342000
- MVI DDNAME,BLANK PROPAGATE BLANKS THROUGH @V305066 00343000
- MVC DDNAME+1(L'DDNAME-1),DDNAME PROPAGATE BLANKS @V305066 00344000
- ST R2,SAVEPTR SAVE PTR FOR FIRST DTF/ACB ADCON @V305066 00345000
- MVC CCWS(L'CCWS),CCW MOVE 1 CCW TO FREE STORAGE @V305066 00346000
- LA R8,BUFFER PREPARE TO RELOCATE CCWS @V305066 00347000
- STCM R8,SEVEN,CCWS+1 PLACE BUFFER ADDRESS IN CCW @VM03102 00348000
- B GOAHEAD GO START CHECKING LIST @V305101 00349000
- EJECT 00350000
- CHMOR CLI TYPESD,TWENTY DTFSD? @V305066 00351000
- BE GETDOSCB GO GET DOSCB @V305066 00352000
- MVZ ZONE,PUBDEVT MOVE PUB DEV CODE ZONE TO TEMP @V305066 00353000
- CLI ZONE,CON CONSOLE? @V305066 00354000
- BE ENDUP YES, NO CLOSE @V305066 00355000
- CLI ZONE,TAPE TAPE? @V305066 00356000
- BE ENDUP YES, NO CLOSE @V305066 00357000
- CLI ZONE,TEN READER? @V305066 00358000
- BE RDRCLOSE YES, CLOSE READER @V305066 00359000
- CLI ZONE,TWENTY PUNCH? @V305066 00360000
- BE PCHCLOSE YES, CLOSE PUNCH @V305066 00361000
- CLI ZONE,PRINTER PRINTER? @V305066 00362000
- BE PRTCLOSE YES, CLOSE PRINTER @V305066 00363000
- * MUST BE DTFCP/DTFDI DISK FILE 00364000
- GETDOSCB L R13,DOSFIRST ADDRESS FIRST DOSCB @V305066 00365000
- TEST LTR R13,R13 ANY DOSCBS ON CHAIN? @V305066 00366000
- BNZ COMPDD YES, SEE IF MATCH @V305066 00367000
- LA R15,THREE NO DOSCB FOR DISK FILE @V305066 00368000
- MVC DDNAME(SEVEN),FILESD FILE NAME FOR ERROR MSG @VM03102 00369000
- B BADCLOSE BR TO PRINT ERROR MSG @V305066 00370000
- COMPDD CLC DOSDD(SEVEN),FILESD MATCH? @VM03102 00371000
- BE SYMUNIT YES, CHECK SYSXXX @V305066 00372000
- L R13,DOSNEXT GET NEXT DOSCB ADDRESS @V305066 00373000
- LA R13,0(,R13) ZERO HIGH ORDER BYTE @V305066 00374000
- B TEST REPEAT TEST @V305066 00375000
- SYMUNIT CLC DOSYSXXX,UNITSD MATCHING SYSXXX @V305066 00376000
- BE CLOSDSK YES, MATCHING DOSCB @V305066 00377000
- LA R15,ONE ERROR CODE = 1 @V305066 00378000
- MVC DDNAME(SEVEN),FILESD FILE NAME FOR MSG @VM03102 00379000
- B BADCLOSE BR TO PRINT ERROR MSG @V305066 00380000
- CLOSDSK MVC FUNC(EIGHTEEN),DOSDSNAM FN, FT, FM @VM03102 00381000
- LA R1,PLIST GET FINIS PLIST FOR DISK @V305066 00382000
- L R15,AFINIS GET DMSFNS ADDRESS @V305066 00383000
- BALR R14,R15 BRANCH TO FINIS @V305066 00384000
- TM SDFLAG1,SDWORK DTFSD WORKFILE? @V305066 00385000
- BNO ENDUP NO, CONTINUE @V305066 00386000
- * CHECK FOR RESERVED CMS FILETYPE- IF FOUND DO NOT ERASE @VA04538 00386100
- * FILE IS REQUIRED AT EXECUTION TIME @VA04538 00386200
- CLC DOSDSTYP,=CL8'SYMDMP' RESERVED WORKFILE? @VA04538 00386300
- BE ENDUP AH SO- SKIP ERASE CALL @VA04538 00386400
- TM SDFLAG1,DEL DELETFL=NO SPECIFIED? @V305066 00387000
- BO ENDUP YES, DO NOT ERASE WORKFILE @V305066 00388000
- MVC PLIST,ERASE PREPARE ERASE PLIST @V305066 00389000
- L R15,AERASE ADDRESS OF DMSERS @V305066 00390000
- BALR R14,R15 BR TO DMSERS @V305066 00391000
- ENDUP L R2,SAVEPTR PTR TO CURRENT ADCON @V305066 00392000
- LA R2,FOUR(,R2) POINT TO NEXT ADCON @VM03102 00393000
- CLI 0(R2),HEX00 ANY MORE FILES TO CLOSE? @V305066 00394000
- BNE FINALE NO, ALL FILES ARE OPEN @V305101 00395000
- ST R2,SAVEPTR SAVE CURRENT ADCON PTR @V305066 00396000
- L R2,0(,R2) GET NEXT DTF ADDRESS @V305066 00397000
- B ISITACB VERIFY DTF TYPE ON NEXT FILE @V305066 00398000
- RDRCLOSE MVC DEVID(EIGHT),CREADER READER @VM03102 00399000
- CLOSEIT MVC PLIST(SIXTEEN),CLOSE MOVE 'CP CLOSE' TO PLIST @VM03102 00400000
- MVC BUFFLEN(EIGHT),FENCE IND END OF PLIST @VM03102 00401000
- LA R1,PLIST POINT TO PLIST @V305066 00402000
- SVC SVC202 ISSUE IO @VM03102 00403000
- DC AL4(ENDUP) NO-OP @V305066 00404000
- B ENDUP SEE IF MORE FILES TO CLOSE @V305066 00405000
- PCHCLOSE MVC DEVID(EIGHT),CPUNCH PUNCH @VM03102 00406000
- B CLOSEIT CLOSE FILE @V305066 00407000
- PRTCLOSE MVC DEVID(EIGHT),CPRINT PRINTER @VM03102 00408000
- B CLOSEIT GO CLOSE FILE @V305066 00409000
- GOAHEAD L R2,SAVEPTR RESTORE PTR TO FIRST ADCON @V305066 00410000
- L R2,0(,R2) DTF OR ACB ADDRESS @V305066 00411000
- ISITACB CLI TYPESD,ACB IS IT ACB? @V305066 00412000
- BE VSAMCHEK YES, PROCESS THIS ACB NOW.. @V305101 00413000
- TM SDFLAG0,TWENTY WAS OPEN IGNORED? @V305066 00414000
- BO ENDUP SEE IF MORE FILES TO CLOSE @V305066 00415000
- CLI TYPESD,TWENTY SEQ DASD? @V305066 00416000
- BL BCLOS2 DTF TYPES LESS THAN X'20' @V305066 00417000
- BE BOSDC1 SEQ DASD @V305066 00418000
- CLI TYPESD,CP DTFCD? @V305066 00419000
- BE CP32 YES @V305066 00420000
- CLI TYPESD,DI DTFDI? @V305066 00421000
- BE CP32 DTFDI TREATED AS DTFCP @V305066 00422000
- BL BCLOS2 ANY REMAINING IE: X'31' DTFCP @V305066 00423000
- B ERR88E UNSUPPORTED DTF TYPE @V305066 00424000
- EJECT 00425000
- CP32 TM SDFLAG0,TWO ASCII SPECIFIED? @V305066 00426000
- BNO CPNEXT NO, CONTINUE @V305066 00427000
- LA R15,ELEVEN RC = 11 @V305066 00428000
- MVC DDNAME(SEVEN),FILESD FILENAME TO DDNAME @VM03102 00429000
- B BADCLOSE BR TO PRINT MSG @V305066 00430000
- USING DTFCP,R2 @V305066 00431000
- CPNEXT TM CPDEVTY,TWENTY DTFCP/DTFDI DISK FILE? @V305066 00432000
- USING DTFSD,R2 @V305066 00433000
- BO BOSDC1 CLOSE SAME AS FOR SEQ DISK @V305066 00434000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00435000
- * ROUTINE FOR ALL DTF TYPES EXCEPT DTFSD, AND DTFCP/DTFDI FOR * 00436000
- * DISK FILES. * 00437000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00438000
- SPACE 2 00439000
- BCLOS2 EQU * @V305066 00440000
- BAL R6,GETLUB GET LUB ENTRY @V305066 00441000
- CLI 0(R3),IGN LOGICAL UNIT ASSIGNED X'FE' @V305066 00442000
- BE CHKRDR SEE IF DTFCD READER FILE @V305066 00443000
- BH ASGNERR LOG UNIT IS UNASSIGNED @V305066 00444000
- BAL R6,GETPUB GET CORRESPONDING PUB ENTRY @V305066 00445000
- CLI TYPESD,TWO DTFCD READER ? @V305066 00446000
- BL ERR88E IF TYPE LESS, ERROR @V305066 00447000
- BE UNITRCD1 DTFCD - READER @V305066 00448000
- CLI TYPESD,HEX4 DTFCD PUNCH? @V305066 00449000
- BL CHMOR DTFCN @V305066 00450000
- BE UNITRCD2 DTFCD - PUNCH @V305066 00451000
- CLI TYPESD,HEX8 DTFPR? @V305066 00452000
- BE UNITRCD3 DTFPR - PRINTER @V305066 00453000
- CLI TYPESD,TEN TAPE WORKFILE? @V305066 00454000
- BE BCMT06 BRANCH IF TAPE WORKFILE @V305066 00455000
- CLI TYPESD,HEX11 NOLAB/NONSTD TAPE? @V305066 00456000
- BE BCLOS3 BRANCH IF TAPE DATA FILE @V305066 00457000
- CLI TYPESD,HEX12 STANDARD LABEL TAPE? @V305066 00458000
- BE BCLOS3 YES @V305066 00459000
- CLI TYPESD,HEX14 STANDARD LABEL TAPE? @V305066 00460000
- BE BCLOS3 YES @V305066 00461000
- CLI TYPESD,HEX31 IF LOWER THAN X'31' INVALID @V305066 00462000
- BL ERR88E IF LOW, INVALID TYPE @V305066 00463000
- CLI TYPESD,CP DTFCP FILE? @V305066 00464000
- BL CP31A DTFCP TYPE X'31' @V305066 00465000
- BE CP32A DTFCP TYPE X'32' @V305066 00466000
- CLI TYPESD,DI DTFDI? @V305066 00467000
- BNE ERR88E INVALID TYPE @V305066 00468000
- EJECT 00469000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00470000
- * ROUTINE FOR DTFDI - DTF TYPE = X'33' * 00471000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00472000
- SPACE 2 00473000
- USING DTFCP,R2 @V305066 00474000
- TM CPDEVTY,HEX18 IS IT PRINTER OR PUNCH @V305066 00475000
- BZ CP32A PUNCH @V305066 00476000
- TM CPDEVTY,HEX8 IS IT PRINTER? @V305066 00477000
- BZ TAPLST NO, TAKE BRANCH @V305066 00478000
- MVI SUBONE,HEX01 NO-OP BRANCH @V305066 00479000
- TAPLST BAL R6,SUBONE1 PRINTER, SUBTRACT 1 FROM BUFFER @V305066 00480000
- MVC ALTERIO(THREE),CPCCWOB IS SWAP NEEDED? @VM03102 00481000
- BNE CP32A NO @V305066 00482000
- MVC ALTERIO(THREE),CPCCWIB SWAP @VM03102 00483000
- BAL R6,SUBONE1 SUBTRACT ONE FROM BUFFER @V305066 00484000
- B CP32A BR TO PROCESS AS DTFCP @V305066 00485000
- SUBONE1 CLI SUBONE,HEX01 CONTINUE OR BRANCH @V305066 00486000
- BE NEXTINST KEEP GOING @V305066 00487000
- BR R6 RETURN FROM SUBROUTINE @V305066 00488000
- NEXTINST L R4,CPFLAG5 LOAD ALT IOAREA ADDRESS @V305066 00489000
- BCTR R4,0 SUBTRACT ONE @V305066 00490000
- ST R4,CPFLAG5 RESTORE UPD IOAREA ADDRESS IN DTF@V305066 00491000
- BR R6 RETURN FROM SUBROUTINE @V305066 00492000
- SPACE 5 00493000
- CHKRDR CLI TYPECP,TWO DTFCD? @V305066 00494000
- BNE ENDUP NO, SEE IF MORE FILES TO CLOSE @V305066 00495000
- USING DTFUNIT,R2 @V305066 00496000
- NI SWITCH,HEX7F RESET OPEN INDICATOR @V305066 00497000
- B ENDUP ANY MORE FILES TO CLOSE ? @V305066 00498000
- EJECT 00499000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00500000
- * UNIT RECORD CLOSE - DTF TYPES X'02', X'03', X'04', AND X'08' * 00501000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00502000
- SPACE 2 00503000
- USING DTFUNIT,R2 @V305066 00504000
- UNITRCD1 TM SWITCH,TEN 3525 READER ? @V305066 00505000
- BZ CHK3525 NO @V305066 00506000
- TM SWITCH3,HEX07 FUNC/ASSOC SPECIFIED? @V305066 00507000
- BZ CHK3525 NO @V305066 00508000
- ERR4 BAL R6,CVTUNIT CONVERT LOGICAL UNIT @V305066 00509000
- LA R15,FOUR ERROR CODE = 04 @V305066 00510000
- B BADCLOSE GO TO PRINT MSG @V305066 00511000
- UNITRCD2 TM DEVCODE,HEX4 3525 PUNCH? @V305066 00512000
- BZ CHK3525 NO @V305066 00513000
- TM SWITCH3,HEX07 FUNC/ASSOC SPECIFIED? @V305066 00514000
- BZ CHK3525 NO @V305066 00515000
- B ERR4 ERROR @V305066 00516000
- UNITRCD3 TM SWITCH3,TEN 3525 PRINTER @V305066 00517000
- BZ CHK3525 NO @V305066 00518000
- TM SWITCH3,HEX07 FUNC/ASSOC SPECIFIED? @V305066 00519000
- BZ CHK3525 NO @V305066 00520000
- B ERR4 ERROR @V305066 00521000
- CHK3525 NI SWITCH,HEX7F RESET FILE OPEN IND. @V305066 00522000
- CLI PUBDEVT,HEX23 3525 PUNCH? @V305066 00523000
- BE CHKFILE YES @V305066 00524000
- B CHMOR ANY MORE FILES TO CLOSE ? @V305066 00525000
- CHKFILE CLI DTFTYPE,HEX8 PRINTER? @V305066 00526000
- BE FEEDCARD YES @V305066 00527000
- CLI DTFTYPE,HEX4 DTF PUNCH FILE? @V305066 00528000
- BE PUNCH YES @V305066 00529000
- B CHMOR MORE FILES TO CLOSE ? @V305066 00530000
- PUNCH NI SWITCH3,HEXEF TURN OFF SEQ BIT (PUNCH) @V305066 00531000
- B CHMOR ANY MORE FILE TO CLOSE ? @V305066 00532000
- FEEDCARD LR R1,R2 USER CCB ADDRESS @V305066 00533000
- MVC ADSAVE(FOUR),CCWADDR SAVE CCW ADDRESS @VM03102 00534000
- LA R4,CCWS GET ADDR OF BLANK CCW @V305066 00535000
- ST R4,CCWADDR STORE IN DTF @V305066 00536000
- FEED SVC SVC0 PERFORM IO @V305066 00537000
- MVC CCWADDR(FOUR),ADSAVE RESTORE CCW ADDR IN CCB @VM03102 00538000
- MVI CCWS,HEX01 RESTORE PUNCH COMMAND @V305066 00539000
- B CHMOR ANY MORE FILES TO CLOSE ? @V305066 00540000
- EJECT 00541000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00542000
- * PUNCH CLOSE ROUTINE * 00543000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00544000
- SPACE 2 00545000
- BCLOSP EQU * PUNCH CLOSE ROUTINE CLOSP @V305066 00546000
- USING DTFCP,R2 @V305066 00547000
- OI CPSTAT,DE POST AT DEVICE END @VM03103 00548000
- CLI PUBDEVT,PCH2540 2540 PUNCH @V305066 00549000
- BE CP2540 YES @V305066 00550000
- CLI PUBDEVT,PCH2520 2520 PUNCH @V305066 00551000
- BE CP2540 PROCESS AS 2540 @V305066 00552000
- B CHMOR ANY MORE FILES TO CLOSE ? @V305066 00553000
- CP2540 EQU * @V305066 00554000
- USING TAPERES,R2 @V305066 00555000
- CLI CPTYPE1,CP DTFCP DISK @V305066 00556000
- BNL DISK3 YES @V305066 00557000
- LA R7,CPCCW0 RESTORE ORIGINAL CCW ADD TO CCB @V305066 00558000
- B CONT3 IN TAPE DTFCP TABLE @V305066 00559000
- USING DTFCP,R2 @V305066 00560000
- DISK3 LA R7,CCWORIG RESTORE ORIG CCW AD TO DISK CCB @V305066 00561000
- CONT3 ST R7,CPCCW1 IN DISK DTFCP @V305066 00562000
- TM CPDEVTY,PCH PUNCH? @V305066 00563000
- BZ CHMOR NO, ANY MORE TO CLOSE ? @V305066 00564000
- L R7,CPFLAG5 LOAD ADD IOAREA @V305066 00565000
- BCTR R7,0 RESET TO ORIG LOCATION @V305066 00566000
- ST R7,CPFLAG5 RESTORE IN DTF @V305066 00567000
- L R7,CCWORIG LOAD ADD IOAREA @V305066 00568000
- BCTR R7,0 RESET TO ORIGINAL LOC @V305066 00569000
- ST R7,CCWORIG RESTORE IN DTF @V305066 00570000
- L R7,CCWORIG+4 LOC RECORD COUNT @V305066 00571000
- AH R7,K1 ADD ONE @V305066 00572000
- ST R7,CCWORIG+4 RESTORE TO DTF @V305066 00573000
- B CHMOR CHECK IF ANY MORE FILES TO CLOSE @VM03105 00574000
- EJECT 00575000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00576000
- * TAPE CLOSE ROUTINE * 00577000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00578000
- SPACE 2 00579000
- BCLOS3 EQU * TAPE CLOSE ROUTINE @V305066 00580000
- USING DTFMT,R2 ESTABLISH ADDRESSABILIY @V305066 00581000
- TM MTFLAG4,TAPEPH DTFPH FOR TAPE? @V305066 00582000
- BO ERR88E DTFPH NOT SUPPORTED @V305066 00583000
- NI MTFLAG1,HEX7F TURN OFF 1ST TIME SW @V305066 00584000
- TM MTFLAG1,TAPIP TAPE INPUT FILE @V305066 00585000
- BZ TESTBLK BR IF NOT I/P FILE @V305066 00586000
- CLI MTDIR,FORMAT TEST FOR VAR RECFM @VM03103 00587000
- BL VARIBL BR IF VAR BLOCK LENGTH @V305066 00588000
- SPACE 2 00589000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00590000
- * TAPE IS FIXBLK AND PROCESSING IS IN FORWARD DIRECTION. * 00591000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00592000
- SPACE 2 00593000
- XC DBLOCK1(FOUR),DBLOCK1 ZERO DBL 1 @VM03102 00594000
- XC DBLOCK3(FOUR),DBLOCK3 ZERO DBL 3 @VM03102 00595000
- B BCMT05 SEE IF I/P OR O/P @V305066 00596000
- VARIBL TM MTDIR,RECFMVAR TEST FOR VARIABLE RECFM @V305066 00597000
- BZ BCMT05 SEE IF I/P OR O/P @V305066 00598000
- XC DBLOCK3(EIGHT),DBLOCK3 ZERO DBL3 AND DBL4 @VM03102 00599000
- XC DBLOCK6(FOUR),DBLOCK6 ZERO DBL6 @VM03102 00600000
- B BCMT05 YES @V305066 00601000
- TESTBLK TM MTFLAG1,MTBLOCK BLOCKED RECORDS @V305066 00602000
- BZ BCMT05 NO @V305066 00603000
- LR R1,R2 DTF ADD FOR TRUNCS ROUTINE @V305066 00604000
- L R15,MTFLAG0 ADD OF LOGIC MODULE @V305066 00605000
- LA R14,DEC20(R15) TRANSFER ADD TO TRUNC ROUTINE @VM03102 00606000
- OI MTFLAG1,HEX01 SET INDICATOR @V305066 00607000
- SVC SVC8 TEMP. RETURN TO PROB. PROG. @V305066 00608000
- NI MTFLAG1,HEXFE RESET INDICATOR @V305066 00609000
- SPACE 2 00610000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00611000
- * ROUTINE TO CLOSE TAPE DATA FILES * 00612000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00613000
- SPACE 2 00614000
- BCMT05 EQU * @V305066 00615000
- MVZ ZONE(ONE),PUBDEVT DEVICE TYPE MUST BE TAPE @VM03102 00616000
- CLI ZONE,TAPE TAPE? @V305066 00617000
- BE CHKTCR CHK FOR TP CART READER @V305066 00618000
- ERR3 BAL R6,CVTUNIT CONVERT LOGICAL UNIT @V305066 00619000
- LA R15,SEVEN PUB DEV NOT COMPATIBLE @V305066 00620000
- B BADCLOSE BR TO PRINT ERROR MSG @V305066 00621000
- CHKTCR CLI PUBDEVT,TCR TAPE CARTRIDGE READER? @V305066 00622000
- BE ERR3 ERROR IF TCR @V305066 00623000
- BAL R6,CRPLIST CREATE TAPEIO PLIST @V305066 00624000
- TM MTFLAG4,OPENIND FILE OPEN? @V305066 00625000
- BC 14,IOCCPART NO @V305066 00626000
- TM MTFLAG4,FILETYPE INPUT FILE? @V305066 00627000
- BC 14,IOCCOUTF NO, BRANCH TO O/P ROUTINE @V305066 00628000
- TESTREW TM MTFLAG3,NOREWIND NOREWIND ENTRY? @V305066 00629000
- BO IOCCEFSW YES, SKIP @V305066 00630000
- B IOCCREWX BRANCH TO REWIND @V305066 00631000
- IOCCOUTF MVC FUNC,WTM WTM @V305066 00632000
- BAL R6,IOROUT PERFORM IO @V305066 00633000
- IOCCWRIT MVC FUNC,WTM WRITE TAPE MARK @V305066 00634000
- BAL R6,IOROUT PERFORM IO @V305066 00635000
- TM MTFLAG3,NOREWIND NOREWIND SPECIFIED? @V305066 00636000
- BO IOCCBKSP NO REWIND SPECIFIED @V305066 00637000
- IOCCREWX TM MTFLAG3,REWUNL REWIND/UNLOAD ? @V305066 00638000
- BC 14,IOCCRWTP NO @V305066 00639000
- MVC FUNC,RUN REW/UNLOAD @V305066 00640000
- BAL R6,IOROUT PERFORM IO @V305066 00641000
- B IOCCEFSW BR TO SET CLOSE INDICATORS @V305066 00642000
- IOCCRWTP MVC FUNC,REW REWIND @V305066 00643000
- BAL R6,IOROUT PERFORM IO @V305066 00644000
- IOCCEFSW XI MTFLAG4,OPENIND SET FILE STATUS TO CLOSE @V305066 00645000
- IOCCPART XC BLOCKCNT(FOUR),BLOCKCNT RESET BLOCK COUNT BUCKET@VM03102 00646000
- NI MTFLAG1,HEX7F TURN OFF LOGIC SWITCH @V305066 00647000
- B CHMOR ANY MORE FILES TO CLOSE ? @V305066 00648000
- IOCCBKSP MVC FUNC,BSR BKSP TAPE OPCODE TO CCW @V305066 00649000
- LA R8,IOCCEFSW GO HERE IF TM ON NEXT IO @V305066 00650000
- BAL R6,IO PERFORM IO REQUEST @V305066 00651000
- B IOCCEFSW @V305066 00652000
- SPACE 2 00653000
- IO LA R1,PLIST POINT TO TAPIO PLIST @V305066 00654000
- SVC SVC202 ISSUE IO REQUEST @VM03102 00655000
- DC AL4(TAPEMARK) ERROR ADDRESS @V305066 00656000
- BR R6 RETURN TO MAIN LINE @V305066 00657000
- TAPEMARK CH R15,K2 TM ENCOUNTERED? @V305066 00658000
- BCR 8,R8 RETURN TO RIGHT ADDRESS @V305066 00659000
- B BADTAPIO OTHERWISE TAPE ERROR @V305066 00660000
- EJECT 00661000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00662000
- * TAPE I/O ROUTINE * 00663000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00664000
- SPACE 2 00665000
- IOROUT EQU * @V305066 00666000
- LA R1,PLIST PREPARE FOR TAPEIO REQUEST @V305066 00667000
- SVC SVC202 ISSUE SVC @VM03102 00668000
- DC AL4(BADTAPIO) ERROR ADDRESS @V305066 00669000
- BR R6 @V305066 00670000
- BADTAPIO EQU * @VA03457 00670200
- CH R15,K8 WLR LONG? @VA03457 00670400
- BNL ERRLONG TELL THEM @VA03457 00670600
- CH R15,K5 TAPE NOT ATTACHED? @VA03457 00671100
- BE ERR113SB YES, ERROR @V305066 00672000
- BH ERR43E TAPE FILE PROTECTED @V305066 00673000
- CH R15,K2 EOF OR END OF TAPE? @V305066 00674000
- BE ERR58E YES, ERROR @V305066 00675000
- ERRLONG LA R15,SEVTEEN UNEXPECTED TAPE ERROR @VA03457 00676100
- MVC DDNAME(FOUR),DEVID MVE DEVID FOR ERROR MSG @VM03102 00677000
- B BADCLOSE ERROR @V305066 00678000
- EJECT 00679000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00680000
- * TAPE WORKFILE CLOSE * 00681000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00682000
- SPACE 2 00683000
- BCMT06 EQU * @V305066 00684000
- MVZ ZONE,PUBDEVT DEVICE TYPE MUST BE TAPE @V305066 00685000
- CLI ZONE,TAPE TAPE? @V305066 00686000
- BNE ERR3 IF NOT , ERROR @V305066 00687000
- CLI PUBDEVT,TCR TAPE CARTRIDGE READER? @V305066 00688000
- BE ERR3 ERROR IF TCR @V305066 00689000
- BAL R6,CRPLIST CREATE TAPEIO PLIST @V305066 00690000
- TM MTFLAG1,WRITE TEST DTF FOR WRITE COMMAND @V305066 00691000
- BZ REWINDT IF NO, BR TO REWIND TEST @V305066 00692000
- MVC FUNC,WTM WTM REQUEST @V305066 00693000
- BAL R6,IOROUT TO WRITE A TAPE MARK @V305066 00694000
- REWINDT TM MTFLAG1,WKNORWD NOREWIND SPECIFIED (WORK) @V305066 00695000
- BO EXITCLOS YES @V305066 00696000
- TM MTFLAG1,WORKRUN IS REWIND/UNLOAD SPECIFIED? @V305066 00697000
- BZ REWIND IF NOT BR TO REWIND @V305066 00698000
- MVC FUNC,RUN MOVE REW/UNLOAD OPCODE @V305066 00699000
- BAL R6,IOROUT PERFORM IO @V305066 00700000
- B EXITCLOS @V305066 00701000
- REWIND MVC FUNC,REW REWIND TAPE @V305066 00702000
- BAL R6,IOROUT PERFORM IO @V305066 00703000
- EXITCLOS XC BLOCKCNT(FOUR),BLOCKCNT ZERO BLOCK COUNT BUCKET @VM03102 00704000
- B CHMOR ANY MORE FILES TO CLOSE @V305066 00705000
- EJECT 00706000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00707000
- * DTFCP/DTFDI CLOSE ROUTINE * 00708000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00709000
- SPACE 2 00710000
- USING DTFCP,R2 @V305066 00711000
- CP31A TM CPSYSPCH,PCH2520 2540/2520 PUNCH FILE @V305066 00712000
- BO BCLOSP CALL PUNCH CLOSE TRANSIENT @V305066 00713000
- MVZ ZONE(ONE),PUBDEVT PUB DEVICE TYPE @VM03102 00714000
- CLI ZONE,TAPE TAPE? @V305066 00715000
- BNE CHMOR NO, NO CLOSE PROCESSING @V305066 00716000
- CLI PUBDEVT,TCR TAPE CARTRIDGE READER? @V305066 00717000
- BE ERR3 ERROR @V305066 00718000
- LSTPCH CLC DTFCP+6(TWO),SYSLST SYSLST LOG UNIT? @VM03102 00719000
- BE WTMBSR YES, WTM AND BSR @V305066 00720000
- CLC DTFCP+6(TWO),SYSPCH SYSPCH LOG UNIT? @VM03102 00721000
- BE WTMBSR YES, WTM AND BSR @V305066 00722000
- B CHMOR OTHERWISE NO CLOSE PROCESSING @V305066 00723000
- SPACE 2 00724000
- WTMBSR BAL R6,CRPLIST CREATE TAPIO PLIST @V305066 00725000
- MVC FUNC,SENSE PREPARE TO DO SENSE @V305066 00726000
- BAL R6,IOROUT PERFORM IO @V305066 00727000
- TM BUFFER+1,LOADPT TAPE AT LOADPT @V305066 00728000
- MVC FUNC,WTM PREPARE TO WRITE TM @V305066 00729000
- BC 8,BACKSP NO, WRITE TM AND BSR @V305066 00730000
- BAL R6,IOROUT PERFORM WTM @V305066 00731000
- B CHMOR END CLOSE PROCESSING @V305066 00732000
- BACKSP BAL R6,IOROUT ISSUE IO REQUEST @V305066 00733000
- MVC FUNC,BSR PREPARE TO BACK SPACE REC @V305066 00734000
- LA R8,CHMOR GO HERE IF TM ON NEXT IO @V305066 00735000
- BAL R6,IO PERFORM IO REQUEST @V305066 00736000
- B CHMOR END OF CLOSE PROCESSING @V305066 00737000
- CP32A TM CPDEVTY,TAPECP DTFCP TAPE FILE? @V305066 00738000
- BO CPTAPE YES, BRANCH @V305066 00739000
- TM CPDEVTY,DISKCP DTFCP DISK FILE? @V305066 00740000
- BO BOSDC1 YES, BRANCH @V305066 00741000
- CLI PUBDEVT,PCH3525 3525 PUNCH? @V305066 00742000
- BE FEEDCARD YES, BRANCH @V305066 00743000
- CLI CPFLAG5,PCHCP 2540 OR 2520 PUNCH DTFCP FILE? @V305066 00744000
- BO BCLOSP YES @V305066 00745000
- B CHMOR MORE FILES REMAIN TO BE OPENED? @V305066 00746000
- EJECT 00747000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00748000
- * DTFCP/DTFDI TAPE FILE CLOSE * 00749000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00750000
- SPACE 2 00751000
- CPTAPE CLI LOGUNT1,PROG SYSTEM TAPE FILE? @V305066 00752000
- BC 8,BCCPT1 NO, CONTINUE CLOSE PROCESSING @V305066 00753000
- B LSTPCH SEE IF SYSLST/SYSPCH @V305066 00754000
- EJECT 00755000
- BCCPT1 EQU * DTFCP TAPE CLOSE ROUTINE @V305066 00756000
- USING DTFCP,R2 ESTABLISH ADDRESSABILITY @V305066 00757000
- TM CPFLAG0,CPASCII ASCII SPECIFIED? @V305066 00758000
- BNO BCCPT1A NO, CONTINUE @V305066 00759000
- LA R15,ELEVEN RC = 11 @V305066 00760000
- MVC DDNAME(SEVEN),CPFN FILENAME @VM03102 00761000
- B BADCLOSE BR TO PRINT MSG @V305066 00762000
- BCCPT1A BAL R6,CRPLIST CREATE TAPEIO PLIST @V305066 00763000
- SR R3,R3 CLEAR REGISTER @VM03103 00764000
- TM CPFLAG1,CPREWIND REWIND OPTION SPECIFIED? @V305066 00765000
- BO CHKINP NO, SKIP REWIND OPTION @V305066 00766000
- LA R3,FOUR(,R3) ADJUST POINTER FOR REWIND @VM03102 00767000
- CHKINP TM CPFLAG5,CPIN INPUT FILE ? @V305066 00768000
- BZ PROCRUN NO, DETERMINE PROPER PROCEDURE @V305066 00769000
- ADJINPUT LA R3,EIGHT(,R3) ADJUST POINTER FOR IP FILE @VM03102 00770000
- TM CPFLAG1,CPREWIND REWIND OPTION SPECIFIED? @V305066 00771000
- BZ PROCRUN YES, SKIP EOF TEST @V305066 00772000
- MVC FUNC,READ READ @V305066 00773000
- LA R8,CHKEOF GO HERE IF TM ON NEXT IO @V305066 00774000
- BAL R6,IO PERFORM IO REQUEST @V305066 00775000
- CHKEOF CLC BUFFER(FOUR),EOF1 EOF1 LABEL ? @VM03102 00776000
- BE PROCRUN YES, DETERMINE PROPER PROCEDURE @V305066 00777000
- LA R3,EIGHT(,R3) NO EOF1 LABEL @VM03102 00778000
- MVC FUNC,BSR BACKSPACE RECORD READ @V305066 00779000
- LA R8,PROCRUN GO HERE IF TM ON NEXT IO @V305066 00780000
- BAL R6,IO PERFORM IO REQUEST @V305066 00781000
- PROCRUN L R3,PROCTAB(R3) PICK UP AD OF PROCEDURE LIST @V305066 00782000
- PROCRUN1 L R7,0(R3) AD OF FIRST ROUTINE TO CALL @V305066 00783000
- BAL R4,0(R7) BRANCH TO CORRECT SUBROUTINE @V305066 00784000
- PROCRUN2 LA R3,FOUR(,R3) AD NEXT SUBROUTINE @VM03102 00785000
- B PROCRUN1 BRANCH TO GET AD OF NEXT ROUTINE @V305066 00786000
- TREWIND MVC FUNC,REW REWIND @V305066 00787000
- BAL R6,IOROUT PERFORM I/O @V305066 00788000
- BR R4 @V305066 00789000
- SPACE 2 00790000
- BYSTDUTL MVC FUNC,READ READ REQUEST @V305066 00791000
- EOFSKIP MVI BUFFER,BLANK BLANK OUT @V305066 00792000
- MVC BUFFER+1(SEVENTY9),BUFFER IOAREA @VM03102 00793000
- LA R8,TRAILER GO HERE IF TM ON NEXT IO @V305066 00794000
- BAL R6,IO PERFORM IO REQUEST @V305066 00795000
- TRAILER CLC BUFFER(THREE),EOF1 EOF TRAILER @VM03102 00796000
- BE EOFSKIP YES, SKIP EOF, READ NEXT RECORD @V305066 00797000
- CLC BUFFER(THREE),UTL @VM03102 00798000
- BE EOFSKIP YES, SKIP UTL, READ NEXT RECORD @V305066 00799000
- CH R15,K2 TAPE MARK ENCOUNTERED? @V305066 00800000
- BNE EOFSKIP NO, READ NEXT RECORD @V305066 00801000
- BR R4 RETURN @V305066 00802000
- SPACE 2 00803000
- TMWRITE MVC FUNC,WTM WTM REQUEST @V305066 00804000
- BAL R6,IOROUT PERFORM IO @V305066 00805000
- BR R4 @V305066 00806000
- SPACE 2 00807000
- EXIT NI CPFLAG5,HEXFE TURN OFF LABEL SWITCH IN DTF @V305066 00808000
- B CHMOR ANY MORE FILES TO CLOSE ? @V305066 00809000
- EJECT 00810000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00811000
- * THE FOLLOWING ROUTINE OBTAIN THE APPROPRIATE LUB * 00812000
- * AND PUB ENTRIES BASED ON THE LOGICAL UNIT CODES IN THE * 00813000
- * DTF * 00814000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00815000
- SPACE 2 00816000
- GETLUB LH R3,NICLPT NICL ADDRESS @V305066 00817000
- SR R4,R4 CLEAR REGISTER R4 @V305066 00818000
- IC R4,0(R3) NO. SYS LOGICAL UNITS FROM NICL @V305066 00819000
- SR R3,R3 CLEAR REGISTER @V305066 00820000
- IC R3,LOGUNT2 LOG UNIT CLASS FROM DTF @V305066 00821000
- TM LOGUNT1,PROG PROG LOG. UNIT? @V305066 00822000
- BNO DOUBLE NO, MUST BE SYSTEM UNIT @V305066 00823000
- AR R3,R4 INCREM BY NO SYSTEM LUBS @V305066 00824000
- DOUBLE AR R3,R3 DOUBLE VALUE IN R3 @V305066 00825000
- AH R3,LUBPT ADD LUB TABLE ADDRESS @V305066 00826000
- BR R6 RETURN TO MAINLINE @V305066 00827000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00828000
- * AT THIS TIME R5 POINTS TO PUB INDEX CODE IN LUB * 00829000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00830000
- SPACE 2 00831000
- GETPUB LH R4,PUBPT PUB ADDRESS @V305066 00832000
- SR R5,R5 CLEAR REGISTER @V305066 00833000
- IC R5,0(R3) CONTAINS PUB INDEX CODE @VM03103 00834000
- SLL R5,3 MULTIPLY BY LENGTH OF PUB @V305066 00835000
- AR R5,R4 ADD PUB ADDRESS @V305066 00836000
- BR R6 RETURN TO MAINLINE @V305066 00837000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00838000
- * AT THIS TIME R5 POINTS TO THE CORRECT PUB ENTRY * 00839000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00840000
- SPACE 2 00841000
- ASGNERR BAL R6,CVTUNIT CONVERT LOGICAL UNIT @V305066 00842000
- LA R15,EIGHT ERROR CODE = 08 @V305066 00843000
- B BADCLOSE BR TO PRINT MESSAGE @V305066 00844000
- EJECT 00845000
- USING DTFSD,R2 @V305066 00846000
- BOSDC1 BAL R6,GETLUB GET PUB POINTER @V305066 00847000
- CLI 0(R3),IGN ASSIGNED IGN? @V305066 00848000
- BE ENDUP YES, DO NOT PERFORM CLOSE @V305066 00849000
- BH ASGNERR LOGICAL UNIT IS UNASSIGNED @V305066 00850000
- TM SDFLAG1,OPENIND FILE BEEN OPENED? @V305066 00851000
- BZ UNEXOFF NO, DON'T PERFORM CLOSE @V305066 00852000
- CLI UNITSD,SYSFILE IS THIS A SYSTEM FILE CLOSE? @V305066 00853000
- BNE WORKFILE NO @V305066 00854000
- CLI CLASSSD,SYSLNK DETERMINE TYPE OF SYS FILE @V305066 00855000
- BL CLOSFIL1 BRANCH IF SYSRDR TO SYSLST @VM03104 00856000
- SPACE 2 00857000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00858000
- * NEXT A CHECK IS MADE TO SEE IF CLOSING A PRIVATE LIBRARY. * 00859000
- * (SYSRLB, SYSCLB, SYSSLB) * 00860000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00861000
- SPACE 2 00862000
- CLI CLASSSD,SYSRES PRIVAT LIBRARY CLOSE? @V305066 00863000
- BH WORKCLOS YES @V305066 00864000
- SPACE 2 00865000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00866000
- * A TEST IS MADE TO DETERMINE IF THIS IS A WORKFILE CLOSE. * 00867000
- * IF IT IS, INITIALIZATION IS DONE FOR THE WORKFILE LIOCS. * 00868000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00869000
- SPACE 2 00870000
- WORKFILE TM SDFLAG1,SDWORK WORKFILE CLOSE @V305066 00871000
- BZ CPCLOSE NO @V305066 00872000
- USING DTFSDW,R2 WORKFILE ADDRESSABILITY @V305066 00873000
- CLI WRITECCW,WRCKD NEED TO EXIT TO LOG MOD ADDRESS @V305066 00874000
- BNE RESET NO @V305066 00875000
- OI SDWFLAG1,FMCLOSE ROUT. ENTERED FROM CLOSE ROUT. @V305066 00876000
- OI LOGMODSW,CHECKRW SET 'CHK AFTER RD/WTE IND.' ON @V305066 00877000
- XC CNTLIM(TWO),CNTLIM SET 'DL' IN CNT FIELD TO 0 @VM03102 00878000
- LR R1,R2 DTF ADDRESS IN R1 FOR LIOCS @V305066 00879000
- ST R2,DTFREG STORE DTF POINTER @V305066 00880000
- L R14,LOGMODAD LOGIC MODULE ADDRESS @V305066 00881000
- LR R15,R14 LOG MOD ADD IN R15 @V305066 00882000
- LA R14,THIRTY6(,R14) GET LOGIC MODULE REENTRY ADDR @VM03102 00883000
- TM SDWFLAG1,SECOND GO TO LOG MOD FOR SEC TIME @V305066 00884000
- BO SVC8A YES @V305066 00885000
- LA R14,FOUR(,R14) LOGMOD WRITE ADDRESS @VM03102 00886000
- SVC8A SVC SVC8 RETURN TO LIOCS @V305066 00887000
- SPACE 2 00888000
- L R2,DTFREG REST DTF ADD AFTER RET. FM LIOCS @V305066 00889000
- RESET NI SDWFLAG1,HEXF6 SET LIOCS CLOSE IND TO OFF @V305066 00890000
- MVI SDWCAP,ZERO SET BIN. NO. TO 0 FOR WORK CLOSE @V305066 00891000
- MVI SRCHSDW+2,HEXFF ILLEG. SEEK IN LOW LIM @V305066 00892000
- MVI LOGMODSW,ZERO RESET WORKFILE SWITCHES @V305066 00893000
- B WORKCLOS @V305066 00894000
- USING DTFSD,R2 RE-EST. ADDR. FOR SEQ DISK @V305066 00895000
- CPCLOSE TM TYPESD,CPTYPE THIS IS A CP CLOSE @V305066 00896000
- BO WORKCLOS YES @V305066 00897000
- INPUTFLE TM SDFLAG1,INPSD INPUT FILE? @V305066 00898000
- BZ OUTPTFL NO @V305066 00899000
- TM COMSD,UPDSD IS IT AN UPDATE FILE? @V305066 00900000
- BZ CLOSFILE NO @V305066 00901000
- TM SDFLAG2,TWO HAS LAST RECORD BEEN WRITTEN ? @V305066 00902000
- BZ CLOSFILE YES @V305066 00903000
- OI COMSD,TLOSESD SW-CLOSE AFTER WRITING LST REC @V305066 00904000
- OI UPDATSW,LASTREC WRITING LAST RECORD @V305066 00905000
- SPACE 2 00906000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00907000
- * IF DTFSD OUTPUT FILE, EXIT IS MADE TO LIOCS CLOSE ADDRESS * 00908000
- * TO WRITE LAST RECORD. * 00909000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00910000
- SPACE 2 00911000
- OUTPTFL LR R1,R2 PLACE DTF ADDRESS IN R1 @V305066 00912000
- ST R2,DTFREG STORE DTF POINTER @V305066 00913000
- L R14,SDFLAG0 LOGIC MODULE ADDRESS IN R14 @V305066 00914000
- LR R15,R14 LOG MOD ADD IN R15 @V305066 00915000
- LA R14,SIXTEEN(,R14) GET CLOSE ENTRY ADDRESS @VM03102 00916000
- CLI UPDATSW,LASTREC WRITING LAST REC? @V305066 00917000
- BE SVC8B YES @V305066 00918000
- TM SDFLAG2,SECTIME GO TO LOGMOD SEC TIME? @V305066 00919000
- BZ SVC8B NO @V305066 00920000
- LA R14,EIGHT(,R14) LOGMOD RE-ENTRY ADDRESS @VM03102 00921000
- SVC8B SVC SVC8 RETURN TO LIOCS @V305066 00922000
- SPACE 2 00923000
- L R2,DTFREG RESTORE DTF ADDRESS AFTER RETURN @V305066 00924000
- TM SDFLAG1,INPSD INPUT FILE ? @V305066 00925000
- BO CLOSFILE YES @V305066 00926000
- WORKCLOS TM SDFLAG1,SDWORK WORK FILE CLOSE ? @V305066 00927000
- BO UNEXOFF UES @V305066 00928000
- CLOSFILE MVI SDFLAG2,ZERO RESET LIOCS DTF SW @V305066 00929000
- CLOSFIL1 MVI CCHHRSD+2,HEXFF SET ILLEG ADDRESS @VM03104 00930000
- MVI SEARCHSD+2,HEXFF SET ILLEG SEEK IN LOW LIM @V305066 00931000
- MVI COMSD,OFF RESET OPEN IND. SWITCH @VM03103 00932000
- MVI COMSD+1,ZERO RESET OPEN SW2 TO ZERO @V305066 00933000
- UNEXOFF NI DTFSD+4,HEXFE RESET UNIT EXCPT.IN DTF CCB @V305066 00934000
- MVI F1ADDR+5,ZERO RESET LABEL CREATED IND. @V305066 00935000
- TM SDFLAG1,OPENIND FILE OPENED? @V305066 00936000
- BZ ENDUP NO, SEE IF MORE FILES TO CLOSE @V305066 00937000
- NI SDFLAG1,HEXFB SET OPEN INDICATOR OFF @V305066 00938000
- B CHMOR SEE IF MORE FILES TO CLOSE @V305066 00939000
- EJECT 00940000
- *********************************************************************** 00941000
- * CHEK ALL VSAM ACBS FOR DLBL DEFINITIONS AND 00942000
- * SET UP THE NECESSARY FIELDS IN THE TRANSIENT AREA+1000 00943000
- *********************************************************************** 00944000
- USING IKQACB,R4 @V305106 00945000
- VSAMCHEK EQU * @V305106 00946000
- LR R4,R2 POINT TO ACB TO OPEN @V305101 00947000
- SPACE 1 00948000
- VSAMPREP EQU * @V305106 00949000
- LR R1,R9 POINTER TO FREE STORAGE @V305101 00950000
- L R9,SAVEPTR POINT TO LIST OF ACBS @V305101 00951000
- BAL R6,FREESTOR GO RELEASE FREE STORAGE @V305101 00952000
- TM VSAMFLG1,VIPTCLOS OS 'TCLOSE' CALL? @V305106 00953000
- BZ VCLOSE NO, NORMAL CLOSE @V305106 00954000
- LA R1,VSAMTCLS YES, CALL $$BTCLOS @V305106 00955000
- B VCLOSE3 CONTINUE BELOW @V305174 00956000
- VCLOSE EQU * @V305174 00957000
- ICM R3,B'1111',AVSRWORK DMSVSR ACTIVE? @V305174 00958000
- BZ VCLOSE2 NO, SKIP @V305174 00959000
- TM VSAMFLG1,VIPINIT VSR WORKING FOR OS? @V305174 00960000
- BZ VCLOSE2 NO, SKIP @V305174 00961000
- * 00962000
- * ASSIST AUTOMATIC CLOSE FOR OS USER 00963000
- * 00964000
- * VSAM CLOSE ROUTINE REQUIRES THAT THE ADDRESS OF IKQVSM 00965000
- * (DATA MGT REQUEST DRIVER) BE CONTAINED IN THE OPEN ACB- 00966000
- * REPLACE A(DMSVIP) TO AVOID CLOSE ERRORS. 00967000
- * 00968000
- LR R5,R9 POINT TO LIST OF ACB'S @V305174 00969000
- * GET ADDRESS OF VSAM DATA MGT REQUEST DRIVER 00970000
- L R3,AVSAMSYS POINT TO VSAM SAVED SYSTEM @V305174 00971000
- LA R3,FOUR(,R3) POINT TO 1ST PHASE NAME @VM03102 00972000
- FINDVRM CLC VDRIVER,0(R3) FOUND DRIVER ENTRY? @V305174 00973000
- BE STORVRM YES, GO WORK ON ACB'S @V305174 00974000
- CLC 0(EIGHT,R3),FENCE HIT END OF TABLE? @VM03102 00975000
- BE VCLOSE2 YES @V305174 00976000
- LA R3,TWELVE(,R3) POINT TO NEXT ENTRY @VM03102 00977000
- B FINDVRM AND CONTINUE @V305174 00978000
- STORVRM L R3,EIGHT(R3) GET ADDR OF IKQVSM IN WORK REG @VM03102 00979000
- STV2 L R4,0(R5) POINT TO ACB @V305174 00980000
- ST R3,ACBAM0 STORE VSM ADDR INTO ACB @V305174 00981000
- LA R5,FOUR(,R5) POINT TO NEXT ACB ADDRESS @VM03102 00982000
- CLI 0(R5),HEX0A END OF LIST MARKER? @V305174 00983000
- BNE STV2 NO, CONTINUE @V305174 00984000
- DROP R4 @V305174 00985000
- VCLOSE2 EQU * @V305174 00986000
- LA R1,VSAMCLSE CALL $$BCLOSE @V305174 00987000
- VCLOSE3 EQU * @V305174 00988000
- LR R0,R9 GET ACB LIST POINTER IN R0 @V305101 00989000
- L R4,DOSTRANS GET A(DOS TRANSIENT AREA) @V305106 00990000
- ST R0,LISTPNT(R4) SAVE A(ACB LIST) FOR $$BOVSAM @V305106 00991000
- LH R3,PIBPT NOW GET THE USER'S PIBTAB @V305106 00992000
- L R3,EIGHT(R3) AND PNT TO USER'S SAVEAREA @VM03102 00993000
- LA R3,SIXTEEN(,R3) NOW PNT AT REGSAVE PART @VM03102 00994000
- ST R3,REGADDR-1(R4) SAVE A(USER REG SAVEAREA) @V305106 00995000
- NI VSAMFLG1,HEXFF-VIPSOP ENSURE 'OS CALL' FLAG OFF @VM03102 00996000
- SVC SVC2 FETCH $$BCVSAM @VM03102 00997000
- B FINALE2 WHEN WE COME BACK, GO TO FINALE2 @V305101 00998000
- FINALE LR R1,R9 FREE STORAGE @V305066 00999000
- BAL R6,FREESTOR RELEASE ACQUIRED FREE STORAGE@V305066 01000000
- FINALE2 SR R15,R15 SET RETURN CODE TO ZERO @V305101 01001000
- SVC SVC11 RETURN TO PROB. PROG @V305066 01002000
- SPACE 5 01003000
- SVC6 LR R1,R9 FREE STORAGE POINTER @V305066 01004000
- LR R9,R15 SAVE RETURN CODE @V305066 01005000
- BAL R6,FREESTOR RELEASE ACQUIRED FREE STORAGE@V305066 01006000
- TM VSAMFLG1,VIPSOP WHERE WE CALLED FROM VIP ? @V305101 01007000
- BZ CHKAMS NO, SEE IF AMS RUNNING... @V305101 01008000
- DMSKEY RESET UNSTACK VIP'S NUCLEUS KEY, @V305101 01009000
- NI VSAMFLG1,HEXFF-VIPSOP AND RESET VIPSOP FLAG. @VM03102 01010000
- CHKAMS LR R15,R9 RESTORE RETURN CODE. @V305101 01011000
- TM VSAMFLG1,VSAMSERV IS AMSERV RUNNING ? @V305101 01012000
- BZ DOSVC6 NO, JUST ISSUE SVC 6 (CANCEL) @V305101 01013000
- LA R1,ABTERM OTHERWISE CALL $$BABEND TO @V305101 01014000
- SVC SVC2 GIVE CONTROL TO AMSERV STXIT. @VM03102 01015000
- DOSVC6 SVC SVCSIX ISSUE CANCEL SVC @VM03102 01016000
- SPACE 5 01017000
- FREESTOR LA R0,FREEDB GET NUMBER DOUBLE WORDS TO FREE @V305101 01018000
- DMSFRET DWORDS=(0),LOC=(1),TYPCALL=BALR @V305101 01019000
- BR R6 RETURN TO MAIN LINE ROUTINE @V305066 01020000
- EJECT 01021000
- CRPLIST MVC PLIST(EIGHT),TAPEIO PREPARE PLIST FOR TAPEIO @VM03102 01022000
- MVC DEVID(THREE),TAPEIO MOVE 'TAP' TO PLIST @VM03102 01023000
- MVC DEVID+3(ONE),PUBCUU+1 SECOND DIGIT OF CUU IN PUB@VM03102 01024000
- OI DEVID+3,CHARDATA CHANGE TO CHAR DATA @V305066 01025000
- LA R3,BUFFER BUFFER ADDRESS @V305066 01026000
- ST R3,PMODE STORE BUFFER ADDRESS IN PLIST@V305066 01027000
- MVC BUFFLEN,EIGHTY BUFFER LEN = 80 @V305066 01028000
- MVC PMODE,PUBTAPM1 CMS TAPE MODE TO PLIST @V305066 01029000
- BR R6 @V305066 01030000
- EJECT 01031000
- SPACE 2 01032000
- CVTUNIT SR R5,R5 CLEAR @V305066 01033000
- IC R5,SEVEN(,R2) GET UNIT NUMBER @VM03102 01034000
- TM SIX(R2),PROG IS IT PROGRAMMER UNIT? @VM03102 01035000
- BO CNVPROG YES, BRANCH @V305066 01036000
- SLL R5,TWO MULTIPLY BY 4 @VM03102 01037000
- LA R5,SYSTAB(R5) INDEX TO CORRECT XXX @V305066 01038000
- MVC DDNAME+3(THREE),0(R5) MOVE XXX TO AREA @VM03102 01039000
- CONVERT2 MVC DDNAME(THREE),SYS MOVE THE SYS TO AREA @VM03102 01040000
- BR R6 RETURN REG @V305066 01041000
- CNVPROG CVD R5,DDNAME CONVERT UNIT NUMBER @V305066 01042000
- UNPK DDNAME+3(THREE),DDNAME+6(TWO) CVT TO ZONED @VM03102 01043000
- OI DDNAME+5,CHARDATA SET LAST ZONE @V305066 01044000
- B CONVERT2 GO TO MOVE SYS TO AREA @V305066 01045000
- EJECT 01046000
- CVTCUU LH R5,0(R5) CUU TO REGISTER @V305066 01047000
- SLL R5,4 ZERO AND SHIFT LAST 4 BITS @V305066 01048000
- ST R5,DDNAME+4 STORE IN DOUBLE WORD @V305066 01049000
- OI DDNAME+7,PACKED PUT IN PACKED DEC FORMAT @V305066 01050000
- UNPK DDNAME(THREE),DDNAME+6(TWO) CVT CUU TO ZONE @VM03102 01051000
- OI DDNAME+2,CHARDATA PRINTABLE CHARACTER @V305066 01052000
- LA R5,DDNAME POINT FOR ERROR MESSAGE @V305066 01053000
- BR R6 RETURN REG @VM03105 01054000
- EJECT 01055000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01056000
- * ERROR MESSAGES * 01057000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01058000
- SPACE 5 01059000
- BADCLOSE LA R4,BUFFER SCRATCH AREA @V305066 01060000
- CVD R15,0(R4) CVT ERROR CODE TO DEC @V305066 01061000
- UNPK 0(TWO,R4),SIX(TWO,R4) UNPACK @VM03102 01062000
- MVC TWO(FOURTEEN,R4),ERRMSG1 SETUP ERROR MESSAGE @VM03102 01063000
- OI ONE(R4),CHARDATA CVT ERROR CODE TO EBCDIC @VM03102 01064000
- MVC EIGHT(SEVEN,R4),DDNAME TAPN/SYSXXX @VM03102 01065000
- LR R5,R15 SAVE RETURN CODE @V305066 01066000
- DMSERR MF=I,SUB=(CHARA,(R4)),NUM=89,LET=E,TEXT='CLOSE ERROR CO*01067000
- DE ''..................' @V305066 01068000
- LA R15,THIRTY6 RETURN CODE = 36 @V305066 01069000
- CH R5,K8 UNASSIGNMENT ERROR @V305066 01070000
- BNE SVC6 NO, JUST REGULAR CANCEL @V305066 01071000
- LR R1,R9 FREE STORAGE POINTER @V305066 01072000
- LR R9,R15 SAVE RETURN CODE @V305066 01073000
- BAL R6,FREESTOR FREE ACQUIRED STORAGE @V305066 01074000
- LR R15,R9 RESTORE RETURN CODE @V305066 01075000
- SR R0,R0 CLEAR REGISTER 0 @V305066 01076000
- IC R0,DOSVSUA @V305066 01077000
- LA R1,ABTERM ROUT.TO SEE IF STXIT AB ROUTINE @V305066 01078000
- SVC SVC2 @V305066 01079000
- SPACE 2 01080000
- ERR88E LA R4,TYPESD POINT TO DTF TYPE @V305066 01081000
- DMSERR NUM=88,LET=E,SUB=(HEX4A,(R4)),TEXT='UNSUPPORTED DTF TYP*01082000
- E ''..''' @V305066 01083000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01084000
- B SVC6 BR TO CANCEL ROUTINE @V305066 01085000
- SPACE 5 01086000
- ERR113SB BAL R6,CVTCUU CONVERT CUU TO PRINTABLE @V305066 01087000
- LA R6,DEVID POINT TO TAPX @V305066 01088000
- DMSERR NUM=113,LET=S,SUB=(CHARA,(R6),CHARA,(R5)),TEXT='''.... *01089000
- (...)'' NOT ATTACHED',MF=(E,'SYS') @V305066 01090000
- LA R15,HUNDRED RETURN CODE = 100 @V305066 01091000
- B SVC6 BR TO CANCEL @V305066 01092000
- SPACE 5 01093000
- ERR58E LA R6,DEVID POINT TO TAPN @V305066 01094000
- DMSERR NUM=58,LET=E,TEXT='END-OF-FILE OR END-OF-TAPE ON ''....*01095000
- ''',SUB=(CHARA,(R6)) @V305066 01096000
- LA R15,FORTY RETURN CODE = 40 @V305066 01097000
- B SVC6 BR TO CANCEL ROUTINE @V305066 01098000
- SPACE 5 01099000
- ERR43E LA R5,DEVID POINT TO TAPX @V305066 01100000
- DMSERR NUM=43,LET=E,SUB=(CHARA,(R5)),TEXT='.... IS FILE PROTEC*01101000
- TED' @V305066 01102000
- LA R15,THIRTY6 RETURN CODE = 36 @V305066 01103000
- B SVC6 BR TO CANCEL ROUTINE @V305066 01104000
- EJECT 01105000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01106000
- * CONSTANTS * 01107000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01108000
- SPACE 5 01109000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01110000
- * SYSXXX CONSTANTS FOR SYSTEM LOGICAL UNITS * 01111000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01112000
- SPACE 2 01113000
- SYSTAB DS 0H @V305066 01114000
- DC CL4'RDR' 00 @V305066 01115000
- DC CL4'IPT' 01 @V305066 01116000
- DC CL4'PCH' 02 @V305066 01117000
- DC CL4'LST' 03 @V305066 01118000
- DC CL4'LOG' 04 @V305066 01119000
- DC CL4'LNK' 05 @V305066 01120000
- DC CL4'RES' 06 @V305066 01121000
- DC CL4'SLB' 07 @V305066 01122000
- DC CL4'RLB' 08 @V305066 01123000
- DC CL4'USE' 09 @V305066 01124000
- DC CL4'REC' 0A @V305066 01125000
- DC CL4'CLB' 0B @V305066 01126000
- DC CL4'VIS' 0C @V305066 01127000
- DC CL4'CAT' 0D @V305066 01128000
- EJECT 01129000
- EOF1 DC C'EOF1' @V305066 01130000
- UTL DC C'UTL' @V305066 01131000
- EIGHTY DC F'80' @V305066 01132000
- ERRMSG1 DC C''' ON '' ''' @V305066 01133000
- ABTERM DC CL8'$$BABEND' @V305066 01134000
- VSAMCLSE DC CL8'$$BCVSAM' @V305066 01135000
- VSAMTCLS DC CL8'$$BTCLOS' THE LONG WAY FOR OS REQUEST @V305106 01136000
- SPACE 5 01137000
- CLOSE DC CL8'CP' COMMAND NAME @V305066 01138000
- DC CL8'CLOSE' ACTION @V305066 01139000
- FENCE DC 8X'FF' PLIST FENCE @V305066 01140000
- SPACE 5 01141000
- CREADER DC CL8'READER' @V305066 01142000
- CPUNCH DC CL8'PUNCH' @V305066 01143000
- CPRINT DC CL8'PRINT' @V305066 01144000
- ERASE DC CL8'ERASE' @V305066 01145000
- SYS DC CL3'SYS' FIRST 3 CHAR OF ALL LOG UNITS @V305066 01146000
- SPACE 2 01147000
- K1 DC H'1' ONE @V305066 01148000
- K2 DC H'2' TAPE MARK ENCOUNTERED @V305066 01149000
- K5 DC H'5' TAPE NOT ATTACHED @V305066 01150000
- K8 DC H'8' DOS/VS CODE FOR UNASSIGNED @V305066 01151000
- SYSLST DC H'3' SYSLST @V305066 01152000
- SYSPCH DC H'2' SYSPCH @V305066 01153000
- SPACE 5 01154000
- TAPEIO DC CL8'TAPEIO' @V305066 01155000
- REW DC CL8'REW' @V305066 01156000
- RUN DC CL8'RUN' @V305066 01157000
- WTM DC CL8'WTM' @V305066 01158000
- READ DC CL8'READ' @V305066 01159000
- BSR DC CL8'BSR' @V305066 01160000
- FSF DC CL8'FSF' @V305066 01161000
- SENSE DC CL8'SENSE' @V305066 01162000
- SPACE 5 01163000
- DC 0F'0' @V305066 01164000
- CCW CCW X'01',0,X'20',1 CCW TO EJECT CARD @V305066 01165000
- VDRIVER DC CL8'IKQVRM' VSAM DM REQ DRIVER PHASE NAME@V305174 01166000
- EJECT 01167000
- PROC1 DC A(TREWIND) REWIND TAPE @V305066 01168000
- PROC2 DC A(EXIT) EXIT FROM PHASE @V305066 01169000
- PROC3 DC A(BYSTDUTL) BYPASS ALL TRAILER LABELS @V305066 01170000
- DC A(EXIT) EXIT FROM PHASE @V305066 01171000
- SPACE 2 01172000
- PROC7 DC A(TMWRITE) WRITE TM @V305066 01173000
- DC A(EXIT) EXIT FROM PHASE @V305066 01174000
- SPACE 2 01175000
- PROC6 DC A(TMWRITE) WRITE A TM @V305066 01176000
- DC A(TREWIND) REWIND @V305066 01177000
- DC A(EXIT) EXIT FROM PHASE @V305066 01178000
- SPACE 5 01179000
- PROCTAB EQU * @V305066 01180000
- DC A(PROC7) O/P FILE, NOREWIND @V305066 01181000
- DC A(PROC6) O/P FILE, REWIND @V305066 01182000
- DC A(PROC3) I/P FILE, NOREWIND, EOF @V305066 01183000
- DC A(PROC1) I/P FILE, REWIND @V305066 01184000
- DC A(PROC2) I/P FILE, NOREWIND, NOEOF @V305066 01185000
- SPACE 5 01186000
- EJECT 01187000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01188000
- * EQUATES * 01189000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01190000
- SPACE 5 01191000
- CPTYPE EQU X'30' @V305066 01192000
- TEN EQU X'10' @V305066 01193000
- TWENTY EQU X'20' @V305066 01194000
- TWO EQU X'02' @V305066 01195000
- ONE EQU 1 @VM05066 01196000
- THREE EQU 3 @VM05066 01197000
- FOUR EQU 4 @VM05066 01198000
- SIX EQU 6 @VM03102 01199000
- SEVEN EQU 7 @VM05066 01200000
- EIGHT EQU 8 @VM03102 01201000
- ELEVEN EQU 11 @VM05066 01202000
- TWELVE EQU 12 @VM03102 01203000
- FOURTEEN EQU 14 @VM03102 01204000
- SIXTEEN EQU 16 @VM03102 01205000
- SEVTEEN EQU 17 @VM05066 01206000
- EIGHTEEN EQU 18 @VM03102 01207000
- DEC20 EQU 20 @VM03102 01208000
- TWENTY4 EQU 24 @VM05066 01209000
- THIRTY6 EQU 36 @VM05066 01210000
- FORTY EQU 40 @VM05066 01211000
- SEVENTY9 EQU 79 @VM03102 01212000
- HUNDRED EQU 100 @V305066 01213000
- REGADDR EQU 1181 A(USER REGSAVE AREA) FROM TRANS @V305106 01214000
- LISTPNT EQU 1196 A(USER ACB LIST) FROM TRANS @V305106 01215000
- HEXEF EQU X'EF' @V305066 01216000
- HEXFB EQU X'FB' SET OPEN IND OFF @V305066 01217000
- HEXFE EQU X'FE' @V305066 01218000
- IGN EQU X'FE' @V305066 01219000
- HEXFF EQU X'FF' ILLEG SEEK IN LOW LIM @V305066 01220000
- CHARDATA EQU X'F0' INSURE PRINTABLE CHARACTERS @V305066 01221000
- HEXF6 EQU X'F6' LIOCS CLOSE INDICATOR OFF @V305066 01222000
- PACKED EQU X'0C' PACKED DECIMAL FORMAT @V305066 01223000
- CON EQU X'00' @V305066 01224000
- SYSFILE EQU X'00' SYSTEM FILE @V305066 01225000
- ZERO EQU X'00' USED FOR TURNING OFF SWITCHES @V305066 01226000
- HEX00 EQU X'00' @V305066 01227000
- PROG EQU X'01' PROGRAMMER LOGICAL UNIT @V305066 01228000
- LASTREC EQU X'01' WRITING LAST RECORD @V305066 01229000
- HEX01 EQU X'01' @V305066 01230000
- CPASCII EQU X'02' DTFCP TAPE WITH ASCII @V305066 01231000
- DE EQU X'04' DEVICE END @V305066 01232000
- PCH EQU X'04' PUNCH DEVICE CODE @V305066 01233000
- OPENIND EQU X'04' @V305066 01234000
- HEX4 EQU X'04' @V305066 01235000
- HEX07 EQU X'07' @V305066 01236000
- WRITE EQU X'08' TAPE WRITE COMMAND @V305066 01237000
- LOADPT EQU X'08' TAPE AT LOAD POINT @V305066 01238000
- PCHCP EQU X'08' 2540/2520 PUNCH @V305066 01239000
- OFF EQU X'08' RESET OPEN COMMUNICATION SW @V305066 01240000
- TAPIP EQU X'08' TAPE INPUT FILE @V305066 01241000
- HEX8 EQU X'08' @V305066 01242000
- SECOND EQU X'09' GOING TO LOG MOD FOR SEC TIME @V305066 01243000
- WRCKD EQU X'1D' WRITE COUNT, KEY AND DATA CCW @V305066 01244000
- TAPECP EQU X'10' DTFCP TAPE @V305066 01245000
- HEX11 EQU X'11' @V305066 01246000
- HEX12 EQU X'12' @V305066 01247000
- HEX14 EQU X'14' @V305066 01248000
- HEX18 EQU X'18' @V305066 01249000
- DISKCP EQU X'20' DTFCP DISK @V305066 01250000
- PCH2520 EQU X'20' 2520 PUNCH @V305066 01251000
- REWUNL EQU X'20' REWIND/UNLOAD @V305066 01252000
- PCH2540 EQU X'21' 2540 PUNCH @V305066 01253000
- PCH3525 EQU X'23' 3525 PUNCH @V305066 01254000
- HEX23 EQU X'23' @V305066 01255000
- DOSVSUA EQU X'26' DOS/VS CODE FOR UNASSIGN @V305066 01256000
- SECTIME EQU X'28' GOING TO LOG MOD SEC TIME @V305066 01257000
- ACB EQU X'28' @V305066 01258000
- HEX31 EQU X'31' @V305066 01259000
- CP EQU X'32' DTFCP @V305066 01260000
- DI EQU X'33' DTFDI @V305066 01261000
- BLANK EQU X'40' @V305066 01262000
- WORKRUN EQU X'40' REW/UNLOAD FOR TAPE WORKFILES @V305066 01263000
- RECFM EQU X'40' RECFM @V305066 01264000
- RECFMVAR EQU X'40' TEST FOR VARIABLE RECFM @V305066 01265000
- PRINTER EQU X'40' @V305066 01266000
- DEL EQU X'40' @V305066 01267000
- TAPE EQU X'50' @V305066 01268000
- TCR EQU X'51' TAPE CARTRIDGE READER @V305066 01269000
- HEX7F EQU X'7F' @V305066 01270000
- CPREWIND EQU X'80' REWIND TAPE FOR DTFCP @V305066 01271000
- TAPEPH EQU X'80' DTFPH TAPE FILE @V305066 01272000
- FORMAT EQU X'86' READ DIR + RECFM @V305066 01273000
- HEX0A EQU X'0A' DOS END OF LIST MARKER @V305174 01274000
- SVC0 EQU 0 SVC 0 @V305066 01275000
- SVC2 EQU 2 SVC 2 @V305066 01276000
- SYSLNK EQU 5 SYSLNK @V305066 01277000
- SYSRES EQU 6 SYSRES @V305066 01278000
- SVCSIX EQU 6 SVC 6 @V305066 01279000
- SVC8 EQU 8 SVC 8 @V305066 01280000
- SVC11 EQU 11 SVC 11 @V305066 01281000
- SVC202 EQU 202 TO CALL CMS ROUTINES @VM03102 01282000
- SPACE 2 01283000
- EJECT 01284000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01285000
- * DSECTS 01286000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01287000
- SPACE 5 01288000
- DTFUNIT DSECT @V305066 01289000
- CCB DS CL6 @V305066 01290000
- LOGUNT DS CL2 LOGICAL UNIT @V305066 01291000
- CCWADDR DS CL4 ADDRESS OF CCW CHAIN @V305066 01292000
- DS CL4 @V305066 01293000
- SWITCH3 DS CL4 @V305066 01294000
- DTFTYPE DS CL1 @V305066 01295000
- SWITCH DS CL1 @V305066 01296000
- COMCODE DS CL2 @V305066 01297000
- BUFFER1 DS CL10 @V305066 01298000
- LODIOREG DS CL4 @V305066 01299000
- DEVCODE DS CL1 @V305066 01300000
- EJECT 01301000
- DTFSDW DSECT SEQUENTIAL DISK WORKFILE DSECT @V305066 01302000
- DS CL6 @V305066 01303000
- UNITSDW DS CL1 LOGICAL UNIT @V305066 01304000
- CLASSSDW DS CL1 CLASS @V305066 01305000
- DS CL4 @V305066 01306000
- FCBSDW DS CL4 FCB ADDRESS @V305066 01307000
- LOGMODAD DS CL4 LOGIC MODULE ADDRESS @V305066 01308000
- TYPESDW DS CL1 DTF TYPE X'20' @V305066 01309000
- SDWFLAG1 DS CL1 @V305066 01310000
- DISKSDW EQU X'00' DISK DEVICE @V305066 01311000
- SDWORKW EQU X'20' WORK FILE @V305066 01312000
- POINTSDW EQU X'10' TYPE OF OPEN - POINT OR NORMAL @V305066 01313000
- RESETPNT EQU X'EF' RESET POINT INDICATOR @V305066 01314000
- FMCLOSE EQU X'08' ROUT. ENTERED FROM CLOSE ROUTINE @V305066 01315000
- OPENSDW EQU X'04' FILE OPENED @V305066 01316000
- TOCLOSE EQU X'01' REENTRY TO CLOSE ROUTINE @V305066 01317000
- FILESDW DS CL7 FILENAME @V305066 01318000
- DEVSDW DS CL1 DEVICE TYPE CODE @V305066 01319000
- SDW2311 EQU X'00' 2311 @V305066 01320000
- SDW2314 EQU X'01' 2314 0R 2319 @V305066 01321000
- SDW3330 EQU X'04' 3330 @V305066 01322000
- SDW3340 EQU X'08' 3340 GENERAL @V305066 01323000
- SDW3340X EQU X'09' 3340 35MB @V305066 01324000
- SDW3340Y EQU X'0A' 3340 70MB @V305066 01325000
- SDWCAP DS CL2 TRACK CAPACITY COUNTER @V305066 01326000
- DS CL4 @V305066 01327000
- SDWSEQ DS CL1 EXTENT SEQUENCE NUMBER @V305066 01328000
- COMSDW DS CL1 OPEN COMMUNICATIONS BYTE @V305066 01329000
- EXTOPENW EQU X'04' EXTENT OPENED @V305066 01330000
- LOHDSDW DS CL1 LOWER HEAD LIMIT @V305066 01331000
- UPHDSDW DS CL1 UPPER HEAD LIMIT @V305066 01332000
- LRECLSDW DS CL2 RECORD LENGTH @V305066 01333000
- EXT1LL DS CL4 INITIAL EXTENT LOWER LIMIT @V305066 01334000
- CUREXTLL DS CL4 CURRENT EXTENT LOWER LIMIT @V305066 01335000
- EXTUPLIM DS CL4 EXTENT UPPER LIMIT @V305066 01336000
- SEEKSDW DS CL2 SEEK ADDRESS (CCHH) @V305066 01337000
- SRCHSDW DS CL4 SEARCH ADDRESS (CCHH) @V305066 01338000
- RECSDW DS CL1 RECORD NUMBER @V305066 01339000
- LOGMODSW DS CL1 LOGIC MODULE SWITCH @V305066 01340000
- SWOFF EQU X'7F' SET WORK FILE SW OFF @V305066 01341000
- CHECKRW EQU X'02' CHECK AFTER READ/WRITE @V305066 01342000
- MAXREC DS CL2 MAXIMUM RECORD LENGTH @V305066 01343000
- EOFSDW DS CL3 USER'S EOF ADDRESS @V305066 01344000
- LOGIND DS CL1 LOGICAL INDICATORS @V305066 01345000
- WRITECCW EQU DTFSDW+96 CCW @V305066 01346000
- CNTLIM EQU DTFSDW+150 PART OF COUNT AREA FIELD @V305066 01347000
- RECORD EQU DTFSDW+148 RECORD NUMBER IN COUNT AREA @V305066 01348000
- EJECT 01349000
- DTFSD DSECT SEQUENTIAL DISK DSECT @V305066 01350000
- DS CL6 @V305066 01351000
- UNITSD DS CL1 LOGICAL UNIT @V305066 01352000
- CLASSSD DS CL1 CLASS @V305066 01353000
- DS CL4 @V305066 01354000
- FCB1SD DS CL4 FCB ADDRESS @V305066 01355000
- SDFLAG0 DS CL1 @V305066 01356000
- SPANSD EQU X'02' SPANNED PROCESSING @V305066 01357000
- DS CL3 @V305066 01358000
- TYPESD DS CL1 DTF TYPE = X'20' @V305066 01359000
- SDFLAG1 DS CL1 @V305066 01360000
- SDBLOCK EQU X'40' BLOCKED FILE @V305066 01361000
- SDWORK EQU X'20' WORK FILE @V305066 01362000
- WORKSD EQU X'10' WORK AREA SPECIFIED @V305066 01363000
- OPENSD EQU X'04' FILE OPEN @V305066 01364000
- INPSD EQU X'02' INPUT FILE @V305066 01365000
- FILESD DS CL7 FILENAME @V305066 01366000
- DEVSD DS CL1 DEVICE TYPE CODE @V305066 01367000
- SD2311 EQU X'00' 2311 @V305066 01368000
- SD2314 EQU X'01' 2314, OR 2319 @V305066 01369000
- SD3330 EQU X'04' 3330 @V305066 01370000
- SD3340 EQU X'08' 3340 GENERAL @V305066 01371000
- SD3340X EQU X'09' 3340 35MB @V305066 01372000
- SD3340Y EQU X'0A' 3340 70MB @V305066 01373000
- F1ADDR DS CL8 F1ADDR @V305066 01374000
- COMSD DS CL1 OPEN COMMUNICATIONS BYTE @V305066 01375000
- NOEXTSD EQU X'80' NO MORE EXTENTS @V305066 01376000
- EOFSD EQU X'10' EXIT TO USER'S EOF ROUTINE @V305066 01377000
- TLOSESD EQU X'04' RETURN TO CLOSE ROUTINE @V305066 01378000
- EXTSWSD EQU X'01' EXTENT SWITCH @V305066 01379000
- UPDSD EQU X'40' UPDATE = YES @V305066 01380000
- DS CL5 @V305066 01381000
- SDIO1 DS CL4 ADDRESS OF IOAREA1 @V305066 01382000
- DS CL4 @V305066 01383000
- HHSD DS CL2 LOWER HEAD LIMIT @V305066 01384000
- CCHHSD DS CL4 EXT UPPER LIMIT (CCHH) @V305066 01385000
- SEEKSD DS CL2 SEEK ADDRESS (BB) @V305066 01386000
- SEARCHSD DS CL4 SEARCH ARGUMENT @V305066 01387000
- RECSD DS CL1 RECORD NUMBER @V305066 01388000
- EODSD DS CL3 EOF ADDRESS IF INPUT @V305066 01389000
- KEYDATA EQU EOFSD KEY LEN AND DATA LEN IF OUTPUT @V305066 01390000
- CONSD DS CL4 CCHH CONTROL FIELD @V305066 01391000
- TRK EQU CONSD+3 TRK PORTION OF CCHH CONTROL FIELD@V305066 01392000
- RECTRKSD DS CL1 NO RECS PER TRK/INP @V305066 01393000
- * NO RECS PER TRK MINUS ONE/OUT 01394000
- SDFLAG2 DS CL1 @V305066 01395000
- BLKLESS1 DS CL2 BLOCKSIZE MINUS ONE @V305066 01396000
- CCHHRSD DS CL5 EXT LOWER LIMIT AND RECORD NUMBER@V305066 01397000
- TRKCAPSD DS CL3 TRACK CAPACITY COUNTER IF OUTPUT @V305066 01398000
- IOREGSD DS CL4 INST. TO LOAD IOREG @V305066 01399000
- CURIOSD DS CL4 ADDRESS OF CURRENT I/O AREA @V305066 01400000
- LRECLSD DS CL4 LOGICAL RECORD SIZE @V305066 01401000
- ENDIOSD DS CL4 ADDRESS OF END OF I/O AREA @V305066 01402000
- SDFLAG3 DS CL1 LOGICAL INDICATORS @V305066 01403000
- IO2SD EQU X'08' 2 I/O AREAS @V305066 01404000
- FIXSD EQU X'02' FIXED LENGTH RECORDS @V305066 01405000
- CNTRLSD EQU X'01' CONTROL PARAMETER SPECIFIED @V305066 01406000
- UNDEFOP EQU X'04' UNDEFINED O/P FILE @V305066 01407000
- NOTRUNCF EQU X'04' TRUNC IS NOT SPECIFIED @V305066 01408000
- DS CL35 @V305066 01409000
- CCWA DS CL8 BEG. OF VARIABLE PORTION OF DTF @V305066 01410000
- CCWB DS CL8 CHK CCWA & CCWB FOR TRUNCS/UPDATE@V305066 01411000
- DS CL12 @V305066 01412000
- FCB2SD DS CL4 VAR/UNDEF/SPAN/INP/UPD=NO FCB ADDR@V305066 01413000
- DS CL8 @V305066 01414000
- ORG CCWA FIXBLK,UPDATE,INP @V305066 01415000
- DS CL36 FIXBLK,CONTROL,OUTPUT @V305066 01416000
- FCB3SD DS CL4 FCB ADDRESS @V305066 01417000
- DS CL8 @V305066 01418000
- ORG CCWA FIXBLK,TRUNC,UPDATE,INP @V305066 01419000
- DS CL52 VAR,OUTPUT,CONTROL @V305066 01420000
- FCB4SD DS CL4 FCB ADDRESS @V305066 01421000
- DS CL8 @V305066 01422000
- ORG CCWA @V305066 01423000
- DS CL12 FIXBLK,CONTROL,INPUT @V305066 01424000
- FCB5SD DS CL4 FCB ADDRESS @V305066 01425000
- DS CL8 @V305066 01426000
- ORG CCWA VAR,UNDEF,INP,UPDATE @V305066 01427000
- DS CL68 @V305066 01428000
- FCB6SD DS CL4 FCB ADDRESS @V305066 01429000
- DS CL8 @V305066 01430000
- ORG CCWA UNDEF,OUTPUT,CONTROL @V305066 01431000
- DS CL45 @V305066 01432000
- FCB7SD DS CL4 FCB ADDRESS @V305066 01433000
- DS CL8 @V305066 01434000
- ORG CCWA @V305066 01435000
- DS CL12 FIXBLK,INP,TRUNCS=NO,UPD=NO @V305066 01436000
- FCB8SD DS CL4 CONTROL= YES FCB ADDRESS @V305066 01437000
- DS CL8 @V305066 01438000
- EJECT 01439000
- DTFMT DSECT @V305066 01440000
- DS CL6 @V305066 01441000
- UNITMT DS CL1 LOGICAL UNIT @V305066 01442000
- CLASSMT DS CL1 CLASS @V305066 01443000
- DS CL8 @V305066 01444000
- MTFLAG0 DS CL1 TAPE SWITCH @V305066 01445000
- DS CL3 @V305066 01446000
- TYPEMT DS CL1 DTF TYPE = X'10'-X'14' @V305066 01447000
- MTFLAG1 DS CL1 @V305066 01448000
- WKNORWD EQU X'80' NO REWIND SPECIFIED @V305066 01449000
- MTBLOCK EQU X'40' BLOCKED FILE @V305066 01450000
- MT2IO EQU X'20' 2 I/O AREAS @V305066 01451000
- MTWORK EQU X'10' WORK AREA SPECIFIED @V305066 01452000
- MTINP EQU X'08' INPUT FILE @V305066 01453000
- MTBACK EQU X'04' BACKWARDS @V305066 01454000
- MTFN DS CL8 FILENAME @V305066 01455000
- MTFLAG2 DS CL1 TAPE SWITCH @V305066 01456000
- DS CL1 @V305066 01457000
- NOREWIND EQU X'10' NOREWIND SPECIFIED @V305066 01458000
- NONSTD EQU X'40' NON-STANDARD LABEL PROCESSING @V305066 01459000
- BACKWARD EQU X'08' DRIVE DIRECTION = BACKWARD @V305066 01460000
- MTFLAG3 DS CL1 TAPE SWITCH @V305066 01461000
- FILETYPE EQU X'20' INPUT FILE @V305066 01462000
- MTOPEN EQU X'04' FILE OPEN @V305066 01463000
- ENDFILE EQU X'08' END OF FILE SWITCH ON @V305066 01464000
- DS CL3 @V305066 01465000
- MTFLAG4 DS CL1 @V305066 01466000
- DS CL3 @V305066 01467000
- BLOCKCNT DS CL4 @V305066 01468000
- MTDIR DS CL4 TAPE DIRECTION, FORWARD, BACKWARD@V305066 01469000
- DS CL8 @V305066 01470000
- MTCCW DS CL8 @V305066 01471000
- DS CL4 @V305066 01472000
- DBLOCK1 DS CL4 @V305066 01473000
- DS CL4 @V305066 01474000
- DBLOCK3 DS CL4 @V305066 01475000
- DS CL4 @V305066 01476000
- DS CL4 @V305066 01477000
- DBLOCK6 DS CL4 DBLOCKER 6 @V305066 01478000
- EJECT 01479000
- DTFCP DSECT @V305066 01480000
- DS CL2 @V305066 01481000
- CPSTAT DS CL1 STATUS BYTE @V305066 01482000
- DS CL3 @V305066 01483000
- LOGUNT1 DS CL1 FIRST BYTE OF LOG. UNIT @V305066 01484000
- LOGUNT2 DS CL1 SEC. BYTE OF LOG. UNIT @V305066 01485000
- CPCCW1 DS CL4 CCW ADDRESS @V305066 01486000
- DS CL4 @V305066 01487000
- CPFLAG0 DS CL1 SWITCH @V305066 01488000
- DS CL3 @V305066 01489000
- TYPECP DS CL1 DTF TYPE @V305066 01490000
- CPFLAG1 DS CL1 OPEN INDICATORS @V305066 01491000
- CPFN DS CL7 FILENAME @V305066 01492000
- CPDEV DS CL1 DEVICE TYPE CODE @V305066 01493000
- CPDSK DS CL1 DISK POSSIBILE WITH THIS DTF ? @V305066 01494000
- CPSYSPCH DS CL1 @V305066 01495000
- DS CL1 @V305066 01496000
- CPIOREG DS CL1 IOREG @V305066 01497000
- DS CL3 @V305066 01498000
- CPIOREG2 DS CL1 IOREG FOR DIFFERENT DTF @V305066 01499000
- CPFLAG2 DS CL1 OPEN SWITCH @V305066 01500000
- CPSEQC DS CL1 CURRENT EXTENT SEQ @V305066 01501000
- CPSEQL DS CL1 LAST EXT SEQUENCE @V305066 01502000
- CPFLAG3 DS CL1 STANDARD LABEL SWITCH @V305066 01503000
- STDLAB EQU X'80' @V305066 01504000
- CPDEVTY DS CL1 @V305066 01505000
- CPFLAG4 DS CL1 DASD,RDR, OR OTHER @V305066 01506000
- DASD EQU X'F3' DASD @V305066 01507000
- RDR EQU X'F1' RDR @V305066 01508000
- OTHER EQU X'F0' OTHER @V305066 01509000
- CPFLAG5 DS CL1 @V305066 01510000
- CPIN EQU X'80' @V305066 01511000
- ALTERIO DS CL3 @V305066 01512000
- CCWORIG DS CL4 @V305066 01513000
- CPLOHD DS CL2 LOWER HD LIMIT @V305066 01514000
- CPEXTUP DS CL4 EXT UPPER LIMIT @V305066 01515000
- DS CL10 @V305066 01516000
- CPBUCK DS CL4 CONTROL BUCKET CCHH @V305066 01517000
- CPRECS DS CL1 NO. RECS/TRK/ FOR OUT @V305066 01518000
- * NO. RECS/TRK+1 FOR INPUT 01519000
- CPFLAG6 DS CL1 @V305066 01520000
- CPINP EQU X'00' INPUT @V305066 01521000
- CPOUT EQU X'01' OUTPUT @V305066 01522000
- CPDEVID DS CL2 @V305066 01523000
- CPCOUNT DS CL5 CCHHR FOR COUNT FIELD @V305066 01524000
- DS CL1 @V305066 01525000
- CPDATLEN DS CL2 DATALENGTH IN DTF @V305066 01526000
- CPINSTR DS CL4 INST TO LOAD IOAREA ADDR TO IOREG@V305066 01527000
- DS CL24 @V305066 01528000
- CPCCWIA DS CL1 FIRST BYTE INPUT CCW @V305066 01529000
- CPCCWIB DS CL7 CCW FOR DASD INP/CCW FOR DASD OUT@V305066 01530000
- CPCCWOA DS CL1 FIRST BYTE OF OUTPUT CCW @V305066 01531000
- CPCCWOB DS CL7 REST OF OUTPUT CCW @V305066 01532000
- EJECT 01533000
- DS 0D @V305066 01534000
- TAPERES DSECT @V305066 01535000
- DS CL1 @V305066 01536000
- CCBSW DS CL14 @V305066 01537000
- DS CL2 @V305066 01538000
- LOGMOD1 DS CL3 LOGIC MODULE ADDRESS @V305066 01539000
- CPTYPE1 DS CL1 DTF TYPE FOR TAPE RES X'31' @V305066 01540000
- CPOPEN1 DS CL1 OPEN INDICATORS @V305066 01541000
- CPFN1 DS CL7 FILENAME @V305066 01542000
- DS CL1 @V305066 01543000
- CPFLAG7 DS CL1 X'00' IND.TO DTFCP OPEN PHASES @V305066 01544000
- CPFLAG8 DS CL1 @V305066 01545000
- CPFLAG9 DS CL1 OPEN INDICATORS @V305066 01546000
- IO2AD DS CL3 IOAREA2 ADDRESS @V305066 01547000
- CPINST DS F INST TO LOAD IOAREA AD TO IOREG @V305066 01548000
- CPCCW0 DS D CCW @V305066 01549000
- * END OF TABLE IF DTF IS DEFINED AS O/P AND DEVADDR IS NOT SYSPCH 01550000
- PUNCCW1 DS D 2540 PUNCH ERROR RECOVERY CCW1 @V305066 01551000
- PUNCCW2 DS D 2540 PUNCH ERROR RECOVERY CCW2 @V305066 01552000
- CPEOF DS CL3 EOF ADDRESS - INPUT ONLY @V305066 01553000
- EJECT 01554000
- FREE DSECT @V305066 01555000
- DS 0D @V305066 01556000
- CCWS DS D CCW TO EJECT CARD @V305066 01557000
- SPACE 2 01558000
- PLIST DS CL8 IO PLIST @V305066 01559000
- FUNC DS CL8 @V305066 01560000
- DEVID DS CL4 @V305066 01561000
- PMODE DS 1X @V305066 01562000
- BUFFAD DS CL3 @V305066 01563000
- BUFFLEN DS CL4 @V305066 01564000
- BYTES DS CL4 @V305066 01565000
- SPACE 2 01566000
- DDNAME DS D USED FOR MESSAGE FIELD @V305066 01567000
- DTFREG DS F SAVE FOR DTF ADDRESS @V305066 01568000
- SAVEPTR DS F POINTER TO DTF PARM LIST @V305066 01569000
- ADSAVE DS F CCW ADDRESS @V305066 01570000
- BUFFER DS 20F IO BUFFER @V305066 01571000
- UPDATSW DS XL1 WRITING LAST REC SW @V305066 01572000
- SUBONE DS XL1 SWITCH @V305066 01573000
- ZONE DS XL1 PUB DEVICE TYPE ZONE @V305066 01574000
- FREEND DS 0D @V305174 01575000
- FREELN EQU (FREEND-FREE) @V305174 01576000
- FREEDB EQU (FREEND-FREE)/8 @V305174 01577000
- EJECT 01578000
- DS 0D @V305106 01579000
- IKQACB DSECT @V305106 01580000
- DS XL8 ACB INFORMATION @V305174 01581000
- ACBAM0 DS A POINTER TO AM/0 CODE @V305174 01582000
- DS XL1 @V305174 01583000
- ACBINFLG DS XL1 @V305106 01584000
- ACBSTSKP EQU X'08' SKIP UPDATING STATISTICS @V305106 01585000
- DS XL4 @V305106 01586000
- ACBMACR1 DS BL1 MACRF INFO @V305106 01587000
- ACBIN EQU X'04' DATASET OPENED FOR INPUT @V305106 01588000
- ACBOUT EQU X'02' DATASET OPENED FOR OUTPUT @V305106 01589000
- DS XL9 @V305106 01590000
- ACBDDNM DS CL8 DDNAME @V305106 01591000
- EJECT 01592000
- NUCON @V305066 01593000
- REGEQU @V305066 01594000
- EJECT 01595000
- DOSAVE @V305066 01596000
- BGCOM @V305066 01597000
- MAPPUB @V305066 01598000
- DOSCB @V305066 01599000
- DMSCLS CSECT @V305066 01600000
- LTORG @V305066 01601000
- END 01603000
ibm/vm370-lib/cms/dmscls.assemble_src.txt ยท Last modified: 2023/08/06 13:35 by Site Administrator