* /* */ 00050000 * /* */ 00100000 * /******************************************************************/ 00150000 * /* */ 00200000 * /* SAM DCB */ 00250000 * /* */ 00300000 * /******************************************************************/ 00350000 * /* */ 00400000 * /* CHANGE LEVEL = 16 */ 00450001 * /* DATE OF LAST CHANGE = 24 OCTOBER 75 ( 75*297 ) */ 00500003 * /* VS2 REL 030 CHANGES */ 00510003 * /* C010500,025500,035000 @ZA07578*/ 00520003 * /* C036000,036500,037000,037500 @ZA05626*/ 00530003 * /* */ 00550000 * /* IFGSDCB (SAM DATA CONTROL BLOCK) DECLARATION */ 00600000 * /* */ 00650000 * /* */ 00700000 * DCL 1 IFGSDCB BASED, /* SAM DCB DEFINITION */ 00750000 * /* */ 00800000 * 2 * CHAR (16), /* NOT USED BY JES-CI */ 00850000 * 2 * FIXED (31), /* NOT USED BY JES-CI */ 00900000 * 2 DCBBUFCB PTR (31), /* BUFFER CONTROL BLOCK */ 00950000 * 3 DCBBUFNO PTR (08), /* NUMBER OF BUFFERS */ 01000000 * 2 DCBBUFL FIXED (16), /* BUFFER LNGTH @ZA07578*/ 01050003 * 2 DCBDSORG BIT (16), /* DATA SET ORGANIZATION*/ 01100000 * 2 DCBIOBAD PTR (31), /* IOB ADDR */ 01150000 * 3 DCBSVCXL PTR (31), /* SVC EXIT LIST ADDR */ 01160001 * 2 * BIT (08), /* NOT DEFINED */ 01200000 * 3 DCBHIARC BIT (08), /* STORAGE HIERARCHY */ 01250000 * 4 DCBBFTEK BIT (08), /* BUFFERING TECHNIQUE */ 01300000 * 5 DCBBFALN BIT (08), /* BUFFER ALIGNMENT */ 01350000 * 2 DCBEODAD PTR (24), /* END OF DATA EXIT ADDR*/ 01400000 * 2 DCBRECFM BIT (08), /* RECORD FORMAT */ 01450000 * 2 DCBEXLST PTR (24), /* EXIT LIST ADDR */ 01500000 * 2 DCBDDNAM CHAR(8)BDY(WORD), /* DDNAME FOR DCB */ 01550000 * 3 DCBTIOT FIXED (15), /* TIOT OFFSET */ 01600000 * 3 DCBMACRF BIT (16), /* MACRO FORM */ 01650000 * 3 DCBIFLGS BIT (08), /* I/O FLAGS */ 01700000 * 3 DCBDEBAD PTR (24), /* DEB ADDRESS */ 01750000 * 2 DCBOFLGS BIT (08), /* OPEN FLAGS */ 01800000 * 2 DCBREAD PTR (24), /* ADDR OF READ MODULE */ 01850000 * 3 DCBWRITE PTR (24), /* ADDR OF WRITE MODULE */ 01900000 * 4 DCBGET PTR (24), /* ADDR OF GET MODULE */ 01950000 * 5 DCBPUT PTR (24), /* ADDR OF PUT MODULE */ 02000000 * 6 DCBIFLG BIT (08), /* IOS ERROR FLAGS */ 02050000 * 6 DCBMACR BIT (16), /* MACRO FORM */ 02100000 * 2 DCBOPTCD BIT (08), /* OPTION CODES */ 02150000 * 2 DCBCHECK PTR (24), /* ADDR OF CHECK MODULE */ 02200000 * 3 DCBGERR PTR (24), /* ADDR OF GET SYNCH RTN*/ 02250000 * 4 DCBPERR PTR (24), /* ADDR OF PUT SYNCH RTN*/ 02300000 * 2 DCBIOBL BIT (08), /* IOB LENGTH IN DBL WDS*/ 02350000 * 2 DCBSYNAD PTR (24), /* ADDR OF ERROR ROUTINE*/ 02400000 * 2 DCBCIND1 BIT (08), /* CONDITION INDICATOR */ 02450000 * 2 DCBCIND2 BIT (08), /* CONDITION INDICATOR */ 02500000 * 2 DCBBLKSI FIXED (16), /* MAX BLK SIZE @ZA07578*/ 02550003 * 2 DCBWCPO PTR (08), /* WCP OFFSET FROM IOB */ 02600000 * 2 DCBWCPL PTR (08), /* LENGTH OF WCP */ 02650000 * 2 DCBOFFSR PTR (08), /* OFFSET OF READ CCW */ 02700000 * 2 DCBOFFSW PTR (08), /* OFFSET OF WRITE CCW */ 02750000 * 2 DCBIOBA PTR (31), /* ADDR OF BSAM OR QSAM 02800000 * OR BPAM IOB PREFIX */ 02850000 * 3 DCBCICB PTR (31), /* ADDRESS OF JCICB */ 02860001 * 2 DCBEOBAD PTR (31), /* END OF BUFFER ADDRESS*/ 02900000 * 3 DCBLCCW PTR (31), /* ADDRESS OF LAST CCW */ 02950000 * 4 DCBEOBR PTR (31), /* ADDR OF EOB MODULE */ 03000000 * 5 DCBNCP PTR (08), /* NUMBER OF CHANNEL PGM*/ 03100001 * 2 * FIXED (31), /* NOT DEFINED */ 03150000 * 3 DCBEOBW PTR (31), /* ADDR OF EOB MODULE */ 03200000 * 4 DCBRECAD PTR (31), /* ADDR OF LOGICAL RCD */ 03250000 * 5 DCBCCCW PTR (31), /* ADDR OF CCW */ 03300000 * 2 DCBDIRCT FIXED (15), /* BPAM DIRECTORY COUNT */ 03400000 * 3 DCBQSWS BIT (08), /* FLAGS */ 03450000 * 2 DCBLRECL FIXED (16), /* LRECL @ZA07578*/ 03500003 * 2 * FIXED (31), /* NOT DEFINED */ 03550000 * 3 DCBEROPT BIT (08), /* ERROR OPTIONS@ZA05626*/ 03600003 * 3 DCBCNTRL PTR (24), /* ADDR OF CNTRL@ZA05626*/ 03650003 * 4 DCBNOTE PTR (24), /* ADDR OF NOTE @ZA05626*/ 03700003 * 5 DCBPOINT PTR (24), /* ADDR OF POINT@ZA05626*/ 03750003 * 2 * CHAR (02), /* RESERVED */ 03800000 * 2 DCBPRECL FIXED (15), /* PHYSICAL RECORD LNGTH*/ 03850000 * 2 DCBEOB PTR (31); /* ADDR OF EOB MODULE */ 03900000 * /* */ 03950000 * /* MACRO VARIABLES FOR THE SAM DCB */ 04000000 * %DCL DCBMGET CHAR, /* QSAM GET */ 04050000 * DCBMPUT CHAR, /* QSAM PUT */ 04100000 * DCBOPEN CHAR, /* DCB IS OPEN */ 04150000 * DCBNOPEN CHAR, /* DCB IS NOT OPEN */ 04200000 * DCBNBUSY CHAR, /* DCB IS NOT BUSY */ 04250000 * DCBNLOCK CHAR, /* DCB IS NOT LOCKED */ 04300000 * DCBINPUT CHAR, /* SAM READ OR GET */ 04350000 * DCBOUTPT CHAR, /* SAM WRITE OR PUT */ 04400000 * DCBMREAD CHAR, /* BSAM READ */ 04450000 * DCBMGLOC CHAR, /* GET LOCATE MODE */ 04500000 * DCBMGMOV CHAR, /* GET MOVE MODE */ 04550000 * DCBMPLOC CHAR, /* PUT LOCATE MODE */ 04600000 * DCBMPMOV CHAR, /* PUT MOVE MODE */ 04650000 * DCBMPSUB CHAR, /* */ 04700000 * DCBMGSUB CHAR, /* */ 04750000 * DCBQSLOC CHAR, /* QSAM LOCATE MODE */ 04800000 * DCBQSMOV CHAR, /* QSAM MOVE MODE */ 04850000 * DCBCINCI CHAR, /* CI MODE */ 04900000 * DCBCINNC CHAR, /* NOT CI MODE */ 04950000 * DCBRECB CHAR, /* BLOCKED RECORDS */ 05000000 * DCBRECF CHAR, /* RECFM=FIXED */ 05050000 * DCBRECU CHAR, /* RECFM=UNDEFINED */ 05100000 * DCBRECV CHAR, /* RECFM=VARIABLE */ 05150000 * DCBRECS CHAR, /* RECFM=SPANNED */ 05200000 * DCBMWRIT CHAR, /* BSAM WRITE */ 05250000 * DCBSKIP CHAR; /* SKIP ERROR OPTION TST*/ 05300000 * 05350000 /* MACRO ASSIGNMENTS FOR THE SAM DCB */ 05400000 %DCBMGET = 'DCBMACRF(2) = ''1''B'; 05450000 %DCBMPUT = 'DCBMACRF(10) = ''1''B'; 05500000 %DCBOPEN = 'DCBOFLGS(4) = ''1''B'; 05550000 %DCBNOPEN = 'DCBOFLGS(4) = ''0''B'; 05600000 %DCBNBUSY = 'DCBOFLGS(8) = ''0''B'; 05650000 %DCBNLOCK = 'DCBOFLGS(7) = ''1''B'; 05700000 %DCBINPUT = 'DCBMREAD OR DCBMGET'; 05750000 %DCBOUTPT = 'DCBMWRIT OR DCBMPUT'; 05800000 %DCBMREAD = 'DCBMACRF(3) = ''1''B'; 05850000 %DCBMWRIT = 'DCBMACRF(11) = ''1''B'; 05900000 %DCBMGLOC = 'DCBMACRF(5) = ''1''B'; 05950000 %DCBMGMOV = 'DCBMACRF(4) = ''1''B'; 06000000 %DCBMPMOV = 'DCBMACRF(12) = ''1''B'; 06050000 %DCBMPLOC = 'DCBMACRF(13) = ''1''B'; 06100000 %DCBMPSUB = 'DCBMACRF(14) = ''1''B'; 06150000 %DCBMGSUB = 'DCBMACRF(6) = ''1''B'; 06200000 %DCBQSLOC = 'DCBMGLOC OR DCBMPLOC'; 06250000 %DCBQSMOV = 'DCBMGMOV OR DCBMPMOV'; 06300000 %DCBCINCI = 'DCBCIND1(5) = ''1''B'; 06350000 %DCBCINNC = 'DCBCIND1(5) = ''0''B'; 06400000 %DCBRECB = 'DCBRECFM(4) = ''1''B'; 06450000 %DCBRECF = 'DCBRECFM(1:2) = ''10''B'; 06500000 %DCBRECU = 'DCBRECFM(1:2) = ''11''B'; 06550000 %DCBRECV = 'DCBRECFM(1:2) = ''01''B'; 06600000 %DCBRECS = 'DCBRECFM(5) = ''1''B'; 06650000 %DCBSKIP = 'DCBEROPT(2) = ''1''B'; 06700000 * /******************************************************************/ 06750000 * /* */ 06800000 * /* END OF IFGSDCB */ 06850000 * /* */ 06900000 * /******************************************************************/ 06950000