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