MACRO 00001000 DMSCCB &DSECT=YES 00002000 PUSH PRINT 00002100 AIF ('&SYSPARM' NE 'SUP').ACC01 00002200 PRINT OFF,NOGEN 00002300 .ACC01 ANOP 00002400 * VSAM - DMSCCB 00003000 AIF ('&DSECT' EQ 'NO').CCBNDS 00004000 DMSCCB DSECT 00005000 AGO .CCBDST 00006000 .CCBNDS ANOP 00007000 DMSCCB DS 0F 00008000 .CCBDST ANOP 00009000 CCBST EQU * START CCB 00010000 *********************************************************************** 00011000 * * 00012000 * THIS IS THE DESCRIPTION OF THE CCB BLOCK * 00013000 * * 00014000 *********************************************************************** 00015000 CCBD EQU * COMMAND CONTROL BLOCK 00016000 SPACE 1 00017000 CCBLEN DS 0CL16 MAP OF THE DOS CCB 00018000 CCBCNT DS XL2 RESIDUAL COUNT 00019000 SPACE 00020000 CCBERMAP DS 0XL4 4 BYTES USED TO CHECK ERRORS 00021000 CCBCOM1 DS XL1 COMMUNICATIONS BYTE NO. 1 00022000 CCBWAIT EQU X'80' TRAFFIC BIT(SET AT CE) 00023000 CCBEOF EQU X'40' END-OF-FILE 00024000 CCBIOERR EQU X'20' UNRECOVERABLE I/O ERROR 00025000 CCBERROK EQU X'10' ACCEPT UNRECOVERABLE ERR 00026000 CCBRDC EQU X'08' RETURN DATA CHECKS 00027000 CCBPDE EQU X'04' POST AT DEVICE END 00028000 CCBDCV EQU X'02' RETURN DATA CHECK RD/CHK 00029000 CCBUERR EQU X'01' USER ERROR ROUTINE 00030000 SPACE 00031000 CCBCOM2 DS XL1 COMMUNICATIONS BYTE NO. 2 00032000 CCBDCCNT EQU X'80' DATA CHECK IN COUNT AREA 00033000 CCBTRKOV EQU X'40' TRACK OVERRUN 00034000 CCBEOC EQU X'20' END-OF-CYLINDER 00035000 CCBDC EQU X'10' DATA CHECK 00036000 CCBNOREC EQU X'08' NO-RECORD-FOUND 00037000 CCBRETRY EQU X'04' RETRY NO RECORD FOUND 00038000 CCBVER EQU X'02' VERIFY ERROR 00039000 CCBCC EQU X'01' COMMAND CHAIN(RETRY) 00040000 SPACE 00041000 CCBCSW1 DS XL1 CSW STATUS BIT NO. 1 00042000 CCBATTN EQU X'80' ATTENTION 00043000 CCBSTMOD EQU X'40' STATUS MODIFIER 00044000 CCBCUE EQU X'20' CONTROL UNIT END 00045000 CCBBUSY EQU X'10' BUSY 00046000 CCBCE EQU X'08' CHANNEL END 00047000 CCBDE EQU X'04' DEVICE END 00048000 CCBUC EQU X'02' UNIT CHECK 00049000 CCBUE EQU X'01' UNIT EXCEPTION 00050000 SPACE 00051000 CCBCSW2 DS XL1 CSW STATUS BIT NO. 2 00052000 CCBPCI EQU X'80' PROGRAM-CONTROLLED INTERRUPT 00053000 CCBILEN EQU X'40' INCORRECT LENGTH 00054000 CCBPROGM EQU X'20' PROGRAM CHECK 00055000 CCBPROT EQU X'10' PROTECTION CHECK 00056000 CCBCHAND EQU X'08' CHANNEL DATA CHECK 00057000 CCBCHANC EQU X'04' CHANNEL CONTROL CHECK 00058000 CCBICTRL EQU X'02' INTERFACE CONTROL CHECK 00059000 CCBCHAIN EQU X'01' CHAINING CHECK 00060000 SPACE 00061000 CCBSYMU DS 0XL2 SYMBOLIC UNIT(SYSUN) 00062000 CCBSUCLS DS XL1 U - LUB CLASS 00063000 CCBSUNUM DS XL1 N - LUB NUMBER WITHIN CLASS 00064000 SPACE 00065000 CCBLIOBS DS XL1 RESERVED FOR LIOBS 00066000 SPACE 00067000 CCBCCW DS XL3 PT TO START OF CHANNEL PROGRAM 00068000 SPACE 00069000 CCBCOM3 DS XL1 COMMUNICATION BYTE NO. 3 00070000 CCBAPEND EQU X'40' APPENDAGE EXIT AT INTERRUPT 00071000 SPACE 00072000 CCBCSW DS XL3 PT TO CSW OR PT APPENDAGE RTN 00073000 SPACE 00074000 CCBLDATB DS A ADDRESS OF LAST DATA BLOCK 00075000 SPACE 1 00076000 CCBLCCWB DS A ADDRESS OF LAST CCW BLOCK 00077000 SPACE 1 00078000 DS F AVAILABLE 00079000 SPACE 1 00080000 CCBUFLGS DS X I/O MANAGER CCB FLAGS 00081000 CCBUEAIC EQU X'80' ERROR ANALYSIS IN CONTROL 00082000 CCBUEAC EQU X'40' ERROR ANALYSIS COMPLETE 00083000 CCBURDCW EQU X'20' READ CCW ACTIVE 00084000 CCBRPS EQU X'10' RPS CHAN PGM CANDIDATE 00085000 SPACE 1 00086000 CCBFSCCW DS XL3 SAVE AREA FOR FIRST CCW ADDR 00087000 SPACE 1 00088000 CCBRDCCW DS F ADDRESS OF FIRST READ CCW 00089000 SPACE 1 00090000 CCBWTCCW DS F ADDRESS OF FIRST WRITE CCW 00091000 SPACE 1 00092000 CCBLWCCW DS F ADDRESS OF THE LAST WRITE CCW 00093000 SPACE 1 00094000 DS 3F AVAILABLE 00095000 SPACE 1 00096000 * THIS CHAIN FIELD MUST HAVE SAME DISPLACEMENT AS FCBCHAIN IN 00097000 * FCDB AND BKPFSTBK IN BKPHD 00098000 CCBNCCB DS A ADDRESS OF NEXT CCB BLOCK 00099000 SPACE 1 00100000 DS F AVAILABLE 00101000 POP PRINT 00101100 MEND 00102000