*/* %INCLUDE SYSLIB(IECSDSL1) */ 00001800 * % GOTO PLSDSCB; /* GO TO THE PL/S VERSION */ 00003600 */* **************************************************************** */ 00005400 */* */ 00007200 */*$MAC(IECSDSL1) COMP(SC1D4) PROD(DMS-Z): DATA SET MAPPING MACRO */ 00009000 */* */ 00010800 */* **************************************************************** */ 00012600 */* */ 00014400 */* COPYRIGHT = REFER TO MODULE ICVCMM00 */ 00016200 */* */ 00018000 */* ASSEMBLY LANGUAGE VERSION OF IECSDSL1 */ 00019800 */* */ 00021600 */* ****************************************************** */ 00023400 */* */ 00025200 */* THE FORMAT OF EACH OF THE DATA SET CONTROL */ 00027000 */* BLOCKS (DSCB'S) CAN BE GENERATED BY CODING */ 00028800 */* IECSDSL1 (N) */ 00030600 */* WHERE N IS A NUMBER 1 - 6 CORRESPONDING TO THE */ 00032400 */* FORMAT NUMBER OF THE DSCB TO BE MAPPED. MORE */ 00034200 */* THAN ONE DSCB CAN BE MAPPED PER MACRO CALL BY */ 00036000 */* SEPARATING THE FORMAT NUMBERS BY COMMAS. THE */ 00037800 */* DSCB'S THUS GENERATED WILL BE MAPPED IN THE */ 00039600 */* ORDER IN WHICH THE FORMAT NUMBERS ARE CODED. */ 00041400 */* */ 00043200 */* ****************************************************** */ 00045000 */* */ 00046800 MACRO 00050000 IECSDSL1 &PARA 00100000 .********************************************************************** 07100000 .* 07150000 .*$02=OZ53095,EDM1102,81110,STLRRB: DATE LAST REFERENCED @02A 07183300 .*$01=OZ44701,EDM1102,80032,STLSTL: DASD PORTABILITY - UZ90117 @01A 07216600 .* 07250000 .* 07350000 .* MACRO DELETIONS/CHANGES FOR SU60 @G60ASBJ 07400000 .* @G60ASBJ 07450000 .*C 100000,534000 @G60ASBJ 07500000 .*A 100500-101000,116100-117700,534400-535200,550080-551920 @G60ASBJ 07550000 .*C 551920 @ZA46658 07600000 .********************************************************************** 07650000 LCLA &CTR 07700000 &CTR SETA 1 07750000 .* LABEL DS2LPDT INSERTED IN RELEASE 21.6 FOR APAR 49466. 07800000 .LOOP AIF (&CTR GT N'&PARA).ENDOFIT 07850000 AIF ('&PARA(&CTR)' EQ '1').FIRSTON 07900000 AIF ('&PARA(&CTR)' EQ '2').SECNDON 07950000 AIF ('&PARA(&CTR)' EQ '3').THIRDON 08000000 AIF ('&PARA(&CTR)' EQ '4').FORTHON 08050000 AIF ('&PARA(&CTR)' EQ '5').FIFTHON 08100000 AIF ('&PARA(&CTR)' EQ '6').SIXTHON 08150000 AGO .ERROR 08200000 .FIRSTON ANOP 08250000 IECSDSL1 EQU * FORMAT 1 DSCB 08300000 IECSDSF1 EQU IECSDSL1 08350000 DS1DSNAM DS CL44 DATA SET NAME 08400000 DS1FMTID DS CL1 FORMAT IDENTIFIER 08450000 DS1DSSN DS CL6 DATA SET SERIAL NUMBER 08500000 DS1VOLSQ DS XL2 VOLUME SEQUENCE NUMBER 08550000 DS1CREDT DS XL3 CREATION DATE 08600000 DS1EXPDT DS XL3 EXPIRATION DATE 08650000 DS1NOEPV DS XL1 NUMBER OF EXTENTS ON VOLUME 08700000 DS1NOBDB DS XL1 NUMBER OF BYTES USED IN LAST 08750000 * DIRECTORY BLOCK 08800000 DS XL1 RESERVED 08850000 DS1SYSCD DS CL13 SYSTEM CODE 08900000 DS1REFD DS XL3 DATE LAST REFERENCED @02C 08950000 DS XL4 RESERVED @G60ASBJ 09000000 DS1DSORG DS XL2 DATA SET ORGANIZATION 09050000 * 09100000 * FIRST BYTE OF DS1DSORG 09150000 DS1DSGIS EQU X'80' IS - INDEXED SEQUENTIAL @01A 09200000 * ORGANIZATION 09250000 DS1DSGPS EQU X'40' PS - PHYSICAL SEQUENTIAL @01A 09300000 * ORGANIZATION 09350000 DS1DSGDA EQU X'20' DA - DIRECT ORGANIZATION @01A 09400000 DS1DSGCX EQU X'10' CX - BTAM OR QTAM LINE GROUP @01A 09450000 * EQU X'08' RESERVED @01A 09500000 * EQU X'04' RESERVED @01A 09550000 DS1DSGPO EQU X'02' PO - PARTITIONED ORGANIZATION @01A 09600000 DS1DSGU EQU X'01' U - UNMOVABLE, THE DATA @01A 09650000 * CONTAINS LOCATION DEPENDENT 09700000 * INFORMATION 09750000 * 09800000 * SECOND BYTE OF DS1DSORG 09850000 DS1DSGGS EQU X'80' GS - GRAPHICS ORGANIZATION @01A 09900000 DS1DSGTX EQU X'40' TX - TCAM LINE GROUP @01A 09950000 DS1DSGTQ EQU X'20' TQ - TCAM MESSAGE QUEUE @01A 10000000 * EQU X'10' RESERVED @01A 10050000 DS1ACBM EQU X'08' ACCESS METHOD CONTROL BLOCK @01A 10100000 DS1DSGTR EQU X'04' TR - TCAM 3705 @01A 10150000 * EQU X'02' RESERVED @01A 10200000 * EQU X'01' RESERVED @01A 10250000 DS1RECFM DS XL1 RECORD FORMAT 10300000 DS1OPTCD DS XL1 OPTION CODE 10350000 DS1BLKL DS XL2 BLOCK LENGTH 10400000 DS1LRECL DS XL2 RECORD LENGTH 10450000 DS1KEYL DS XL1 KEY LENGTH 10500000 DS1RKP DS XL2 RELATIVE KEY POSITION 10550000 DS1DSIND DS XL1 DATA SET INDICATORS 10600000 DS1IND80 EQU X'80' LAST VOLUME ON WHICH A @G60ASBJ 10650000 * DATA SET RESIDES @G60ASBJ 10700000 DS1IND40 EQU X'40' DATA SET IS RACF DEFINED @G60ASBJ 10750000 DS1IND20 EQU X'20' BLOCK LENGTH IS A MULTIPLE @G60ASBJ 10800000 * OF 8 BYTES @G60ASBJ 10850000 DS1IND10 EQU X'10' PASSWORD IS REQUIRED TO @G60ASBJ 10900000 * READ OR WRITE OR BOTH-SEE @G60ASBJ 10950000 * DS1IND04 @G60ASBJ 11000000 DS1IND08 EQU X'08' RESERVED @G60ASBJ 11050000 DS1IND04 EQU X'04' IF DS1IND10 IS 1 THEN IF @G60ASBJ 11100000 * DS1IND04 IS . . . @G60ASBJ 11150000 * 1-PASSWORD REQUIRED TO @G60ASBJ 11200000 * WRITE BUT NOT TO READ @G60ASBJ 11250000 * 0-PASSWORD REQUIRED TO @G60ASBJ 11300000 * WRITE AND TO READ @G60ASBJ 11350000 DS1IND02 EQU X'02' DATASET OPENED FOR OTHER @G60ASBJ 11400000 * THAN INPUT SINCE LAST @G60ASBJ 11450000 * BACKUP COPY MADE. @G60ASBJ 11500000 DS1DSCHA EQU DS1IND02 SAME USE AS BIT DS1IND02 @G60ASBJ 11550000 DS1IND01 EQU X'01' SECURE CHECKPOINT DATA SET @02C 11600000 DS1CHKPT EQU DS1IND01 SAME AS DS1IND01 @02A 11650000 DS1SCALO DS XL4 SECONDARY ALLOCATION 11700000 DS1LSTAR DS XL3 LAST USED TRACK AND BLOCK ON TRACK 11750000 DS1TRBAL DS XL2 BYTES REMAINING ON LAST TRACK USED 11800000 DS XL2 RESERVED 11850000 DS1EXT1 DS XL10 FIRST EXTENT DESCRIPTION 11900000 * FIRST BYTE EXTENT TYPE INDICATOR 11950000 * SECOND BYTE EXTENT SEQUENCE NUMBER 12000000 * THIRD - SIXTH BYTES LOWER LIMIT 12050000 * SEVENTH - TENTH BYTES UPPER LIMIT 12100000 DS1EXT2 DS XL10 SECOND EXTENT DESCRIPTION 12150000 DS1EXT3 DS XL10 THIRD EXTENT DESCRIPTION 12200000 DS1PTRDS DS XL5 POSSIBLE PTR TO A FORMAT 2 OR 3 DSCB 12250000 DS1END EQU * 12300000 &CTR SETA &CTR+1 12350000 AGO .LOOP 12400000 .SECNDON ANOP 12450000 IECSDSL2 EQU * FORMAT 2 DSCB 12500000 IECSDSF2 EQU IECSDSL2 12550000 DS XL1 KEY IDENTIFIER 12600000 DS22MIND DS XL7 ADDRESS OF 2ND LEVEL MASTER INDEX 12650000 DS2L2MEN DS XL5 LAST 2ND LEVEL MASTER INDEX ENTRY 12700000 DS23MIND DS XL7 ADDRESS OF 3RD LEVEL MASTER INDEX 12750000 DS2L3MIN DS XL5 LAST 3RD LEVEL MASTER INDEX ENTRY 12800000 DS XL11 RESERVED 12850000 DS2LPDT DS XL8 LAST PRIME TRACK ON LAST PRIME CYL 12900000 DS2FMTID DS CL1 FORMAT IDENTIFIER 12950000 DS2NOLEV DS XL1 NUMBER OF INDEX LEVELS 13000000 DS2DVIND DS XL1 HIGH LEVEL INDEX DEVELOPMENT 13050000 * INDICATOR 13100000 DS21RCYL DS XL3 FIRST DATA RECORD IN CYLINDER 13150000 DS2LTCYL DS XL2 LAST DATA TRACK IN CYLINDER 13200000 DS2CYLOV DS XL1 NUMBER OF TRACKS FOR CYLINDER 13250000 * OVERFLOW 13300000 DS2HIRIN DS XL1 HIGHEST 'R' ON HIGH-LEVEL INDEX TRK 13350000 DS2HIRPR DS XL1 HIGHEST 'R' ON PRIME DATA TRACK 13400000 DS2HIROV DS XL1 HIGHEST 'R' ON OVERFLOW DATA TRACK 13450000 DS2RSHTR DS XL1 'R' OF LAST DATA RECORD ON SHARED 13500000 * TRACK 13550000 DS2HIRTI DS XL1 HIGHEST 'R' ON UNSHARED TRACK OF 13600000 * TRACK INDEX 13650000 DS2HIIOV DS XL1 HIGHEST 'R' FOR INDEPENDENT OVERFLOW 13700000 * DATA TRACKS 13750000 DS2TAGDT DS XL2 TAG DELETION COUNT 13800000 DS2RORG3 DS XL3 NON-FIRST OVERFLOW REFERENCE COUNT 13850000 DS2NOBYT DS XL2 NUMBER OF BYTES FOR HIGHEST-LEVEL 13900000 * INDEX 13950000 DS2NOTRK DS XL1 NUMBER OF TRACKS FOR HIGHEST-LEVEL 14000000 * INDEX 14050000 DS2PRCTR DS XL4 PRIME RECORD COUNT 14100000 DS2STIND DS XL1 STATUS INDICATORS 14150000 DS2CYLAD DS XL7 ADDRESS OF CYLINDER INDEX 14200000 DS2ADLIN DS XL7 ADDRESS OF LOWEST LEVEL MASTER INDEX 14250000 DS2ADHIN DS XL7 ADDRESS OF HIGHEST LEVEL MASTER 14300000 * INDEX 14350000 DS2LPRAD DS XL8 LAST PRIME DATA RECORD ADDRESS 14400000 DS2LTRAD DS XL5 LAST TRACK INDEX ENTRY ADDRESS 14450000 DS2LCYAD DS XL5 LAST CYLINDER INDEX ENTRY ADDRESS 14500000 DS2LMSAD DS XL5 LAST MASTER INDEX ENTRY ADDRESS 14550000 DS2LOVAD DS XL8 LAST INDEPENDENT OVERFLOW RECORD 14600000 * ADDRESS 14650000 DS2BYOVL DS XL2 BYTES REMAINING ON OVERFLOW TRACK 14700000 DS2RORG2 DS XL2 TRACKS REMAINING IN INDEPENDENT 14750000 * OVERFLOW AREA 14800000 DS2OVRCT DS XL2 OVERFLOW RECORD COUNT 14850000 DS2RORG1 DS XL2 CYLINDER OVERFLOW AREA COUNT 14900000 DS2NIRT DS XL3 DUMMY TRACK INDEX ENTRY ADDRESS 14950000 DS2PTRDS DS XL5 POSSIBLE POINTER TO A FORMAT 3 DSCB 15000000 DS2END EQU * 15050000 &CTR SETA &CTR+1 15100000 AGO .LOOP 15150000 .THIRDON ANOP 15200000 IECSDSL3 EQU * FORMAT 3 DSCB 15250000 IECSDSF3 EQU IECSDSL3 15300000 DS XL4 KEY IDENTIFIER 15350000 DS3EXTNT DS XL40 FOUR EXTENT DESCRIPTIONS 15400000 * FIRST BYTE EXTENT TYPE INDICATOR 15450000 * SECOND BYTE EXTENT SEQUENCE NUMBER 15500000 * THIRD - SIXTH BYTES LOWER LIMIT 15550000 * SEVENTH - TENTH BYTES UPPER LIMIT 15600000 DS3FMTID DS CL1 FORMAT IDENTIFIER 15650000 DS3ADEXT DS XL90 NINE ADDITIONAL EXTENT DESCRIPTIONS 15700000 DS3PTRDS DS XL5 RESERVED 15750000 DS3END EQU * 15800000 &CTR SETA &CTR+1 15850000 AGO .LOOP 15900000 .FORTHON ANOP 15950000 IECSDSL4 EQU * FORMAT 4 DSCB 16000000 IECSDSF4 EQU IECSDSL4 16050000 DS4IDFMT DS CL1 FORMAT IDENTIFIER 16100000 DS4HPCHR DS XL5 HIGHEST ADDRESS OF A FORMAT 1 DSCB 16150000 DS4DSREC DS XL2 NUMBER OF AVAILABLE DSCB'S 16200000 DS4HCCHH DS XL4 CCHH OF NEXT AVAILABLE ALTERNATE TRK 16250000 DS4NOATK DS XL2 NUMBER OF REMAINING ALTERNATE TRACKS 16300000 DS4VTOCI DS XL1 VTOC INDICATORS 16350000 DS4DOSBT EQU X'80' DOS BIT 16400000 DS4DSTKP EQU X'10' DOS STACKED PACK 16450000 DS4DOCVT EQU X'08' DOS CONVERTED VTOC 16500000 DS4DIRF EQU X'04' DIRF BIT 16550000 DS4DICVT EQU X'02' DIRF RECLAIMED 16600000 DS4IVTOC EQU X'01' VOLUME USES AN INDEXED VTOC @01A 16650000 DS4NOEXT DS XL1 NUMBER OF EXTENTS IN THE VTOC 16700000 DS XL2 RESERVED 16750000 DS4DEVCT DS 0XL14 DEVICE CONSTANTS 16800000 DS4DEVSZ DS XL4 DEVICE SIZE 16850000 DS4DEVTK DS XL2 DEVICE TRACK LENGTH 16900000 DS4DEVOV DS 0XL2 KEYED RECORD OVERHEAD 16950000 DS4DEVI DS XL1 NON-LAST KEYED RECORD OVERHEAD 17000000 DS4DEVL DS XL1 LAST KEYED RECORD OVERHEAD 17050000 DS4DEVK DS XL1 NON-KEYED RECORD OVERHEAD 17100000 * DIFFERENTIAL 17150000 DS4DEVFG DS XL1 FLAG BYTE 17200000 DS4DEVTL DS XL2 DEVICE TOLERANCE 17250000 DS4DEVDT DS XL1 NUMBER OF DSCB'S PER TRACK 17300000 DS4DEVDB DS XL1 NUMBER OF DIRECTORY BLOCKS PER TRACK 17350000 DS4AMTIM DS XL8 VSAM TIME STAMP 17400000 DS4AMCAT DS 0XL3 VSAM CATALOG INDICATOR 17450000 DS4VSIND DS XL1 VSAM INDICATORS 17500000 DS4VSCRA DS XL2 RELATIVE TRACK LOCATION OF THE CRA 17550000 DS4R2TIM DS XL8 VSAM VOLUME/CATALOG MATCH 17600000 * TIME STAMP 17650000 DS XL5 RESERVED 17700000 DS4F6PTR DS XL5 POINTER TO FIRST FORMAT 6 DSCB 17750000 DS4VTOCE DS XL10 VTOC EXTENT DESCRIPTION 17800000 DS XL25 RESERVED 17850000 DS4END EQU * 17900000 &CTR SETA &CTR+1 17950000 AGO .LOOP 18000000 .FIFTHON ANOP 18050000 IECSDSL5 EQU * FORMAT 5 DSCB 18100000 IECSDSF5 EQU IECSDSL5 18150000 DS5KEYID DS XL4 KEY IDENTIFIER 18200000 DS5AVEXT DS XL5 AVAILABLE EXTENT 18250000 * BYTES 1 - 2 RELATIVE TRACK ADDRESS OF THE FIRST TRACK 18300000 * IN THE EXTENT 18350000 * BYTES 3 - 4 NUMBER OF UNUSED CYLINDERS IN THE EXTENT 18400000 * BYTE 5 NUMBER OF ADDITIONAL UNUSED TRACKS 18450000 DS5EXTAV DS XL35 SEVEN AVAILABLE EXTENTS 18500000 DS5FMTID DS CL1 FORMAT IDENTIFIER 18550000 DS5MAVET DS XL90 EIGHTEEN AVAILABLE EXTENTS 18600000 DS5PTRDS DS XL5 POINTER TO NEXT FORMAT 5 DSCB 18650000 DS5END EQU * 18700000 &CTR SETA &CTR+1 18750000 AGO .LOOP 18800000 .SIXTHON ANOP 18850000 IECSDSL6 EQU * FORMAT 6 DSCB 18900000 IECSDSF6 EQU IECSDSL6 18950000 DS6KEYID DS XL4 KEY IDENTIFIER 19000000 DS6AVEXT DS XL5 SHARED EXTENT DESCRIPTION 19050000 * BYTES 1 - 2 RELATIVE TRACK ADDRESS OF THE FIRST CYLINDER 19100000 * BYTES 3 - 4 NUMBER OF FULL CYLINDERS BEING SHARED 19150000 * BYTE 5 NUMBER OF DATA SETS SHARING THE EXTENT 19200000 DS6EXTAV DS XL35 SEVEN SHARED EXTENTS 19250000 DS6FMTID DS CL1 FORMAT IDENTIFIER 19300000 DS6MAVET DS XL90 EIGHTEEN SHARED EXTENTS 19350000 DS6PTRDS DS XL5 POINTER TO NEXT FORMAT 6 DSCB 19400000 DS6END EQU * 19450000 &CTR SETA &CTR+1 19500000 AGO .LOOP 19550000 .ERROR MNOTE 7,'***INCORRECT FORMAT NUMBER' 19600000 .ENDOFIT MEND 19650000 */* */ 19700000 */* **************************************************************** */ 19750000 */* */ 19800000 */* PL/S VERSION OF IECSDSL1 */ 19850000 */* */ 19900000 */* ****************************************************** */ 19950000 */* */ 20000000 */* BEFORE THE INCLUDE STATEMENT FOR THIS MACRO, THE */ 20050000 */* VARIABLES CORRESPONDING TO THE DSCB'S TO BE MAPPED */ 20100000 */* MUST BE INITIALIZED IN THE FOLLOWING MANNER - */ 20150000 */* */ 20200000 */* FOR A FORMAT 1 DSCB - */ 20250000 */* FORMAT1 MUST BE A MACRO VARIABLE SET TO 'YES'. */ 20300000 */* F1PTR MUST BE A POINTER VARIABLE. */ 20350000 */* */ 20400000 */* FOR A FORMAT 2 DSCB - */ 20450000 */* FORMAT2 MUST BE A MACRO VARIABLE SET TO 'YES'. */ 20500000 */* F2PTR MUST BE A POINTER VARIABLE. */ 20550000 */* */ 20600000 */* FOR A FORMAT 3 DSCB - */ 20650000 */* FORMAT3 MUST BE A MACRO VARIABLE SET TO 'YES'. */ 20700000 */* F3PTR MUST BE A POINTER VARIABLE. */ 20750000 */* */ 20800000 */* FOR A FORMAT 4 DSCB - */ 20850000 */* FORMAT4 MUST BE A MACRO VARIABLE SET TO 'YES'. */ 20900000 */* F4PTR MUST BE A POINTER VARIABLE. */ 20950000 */* */ 21000000 */* FOR A FORMAT 5 DSCB - */ 21050000 */* FORMAT5 MUST BE A MACRO VARIABLE SET TO 'YES'. */ 21100000 */* F5PTR MUST BE A POINTER VARIABLE. */ 21150000 */* */ 21200000 */* FOR A FORMAT 6 DSCB - */ 21250000 */* FORMAT6 MUST BE A MACRO VARIABLE SET TO 'YES'. */ 21300000 */* F6PTR MUST BE A POINTER VARIABLE. */ 21350000 */* */ 21400000 */* NOTE THAT MORE THAN ONE DSCB CAN BE MAPPED PER INCLUDE */ 21450000 */* STATEMENT BY SETTING MORE THAN ONE MACRO VARIABLE TO */ 21500000 */* 'YES'. HOWEVER, THE DSCB'S WILL BE MAPPED IN ASCENDING */ 21550000 */* NUMERIC SEQUENCE. TO MAP THE DSCB'S IN NON-ASCENDING */ 21600000 */* NUMERIC ORDER, SEPARATE POINTER VARIABLES MUST BE USED. */ 21650000 */* */ 21700000 */* ****************************************************** */ 21750000 */* */ 21800000 *%PLSDSCB: ; 21850000 *%IF FORMAT1 ^= 'YES' /* IF FORMAT1 = YES, THEN */ 21900000 * %THEN %GOTO F2; /* BUILD A FORMAT 1 DSCB */ 21950000 */* FORMAT 1 DSCB */ 22000000 *DCL 1 IECSDSF1 BASED(F1PTR), /* FORMAT 1 DSCB - DESCRIBED */ 22050000 * 2 * CHAR(140); /* IN THE FOLLOWING STRUCTURE*/ 22100000 *DCL 1 IECSDSL1 BASED(ADDR(IECSDSF1)), /* START OF THE FORMAT 1 DSCB*/ 22150000 * 2 DS1DSNAM CHAR(44), /* DATA SET NAME */ 22200000 * 2 DS1FMTID CHAR(1), /* FORMAT IDENTIFIER */ 22250000 * 2 DS1DSSN CHAR(6), /* DATA SET SERIAL NUMBER */ 22300000 * 2 DS1VOLSQ CHAR(2), /* VOLUME SEQUENCE NUMBER */ 22350000 * 2 DS1CREDT CHAR(3), /* CREATION DATE */ 22400000 * 2 DS1EXPDT CHAR(3), /* EXPIRATION DATE */ 22450000 * 2 DS1NOEPV CHAR(1), /* NUMBER OF EXTENTS ON 22500000 * VOLUME */ 22550000 * 2 DS1NOBDB CHAR(1), /* NUMBER OF BYTES USED IN 22600000 * LAST DIRECTORY BLOCK */ 22650000 * 2 * CHAR(1), /* RESERVED */ 22700000 * 2 DS1SYSCD CHAR(13), /* SYSTEM CODE */ 22750000 * 2 DS1REFD CHAR(3), /* DATE LAST REFERENCED @02C*/ 22800000 * 2 * CHAR(4), /* RESERVED @G60ASBJ*/ 22850000 * 2 DS1DSORG CHAR(2), /* DATA SET ORGANIZATION */ 22900000 * 3 DS1DSRG1 CHAR(1), /* FIRST BYTE OF DS1DSORG @01A*/ 22950000 * 4 DS1DSGIS BIT(1), /* IS - INDEXED 23000000 * SEQUENTIAL ORGANIZATION @01A*/ 23050000 * 4 DS1DSGPS BIT(1), /* PS - PHYSICAL 23100000 * SEQUENTIAL ORGANIZATION @01A*/ 23150000 * 4 DS1DSGDA BIT(1), /* DA - DIRECT 23200000 * ORGANIZATION @01A*/ 23250000 * 4 DS1DSGCX BIT(1), /* CX - BTAM OR QTAM LINE 23300000 * GROUP @01A*/ 23350000 * 4 * BIT(1), /* RESERVED @01A*/ 23400000 * 4 * BIT(1), /* RESERVES @01A*/ 23450000 * 4 DS1DSGPO BIT(1), /* PO - PARTITIONED 23500000 * ORGANIZATION @01A*/ 23550000 * 4 DS1DSGU BIT(1), /* U - UNMOVABLE, THE 23600000 * DATA CONTAINS LOCATION 23650000 * DEPENDENT INFORMATION @01A*/ 23700000 * 3 DS1DSRG2 CHAR(1), /*SECOND BYTE OF DS1DSORG @01A*/ 23750000 * 4 DS1DSGGS BIT(1), /* GS - GRAPHICS 23800000 * ORGANIZATION @01A*/ 23850000 * 4 DS1DSGTX BIT(1), /* TX - TCAM LINE GROUP @01A*/ 23900000 * 4 DS1DSGTQ BIT(1), /* TQ - TCAM MESSAGE QUEUE @01A*/ 23950000 * 4 * BIT(1), /* RESERVED @01A*/ 24000000 * 4 DS1ACBM BIT(1), /* ACCESS METHOD CONTROL 24050000 * BLOCK @01A*/ 24100000 * 4 DS1DSGTR BIT(1), /* TR - TCAM 3705 @01A*/ 24150000 * 4 * BIT(2), /* RESERVED @01A*/ 24200000 * 2 DS1RECFM CHAR(1), /* RECORD FORMAT */ 24250000 * 2 DS1OPTCD CHAR(1), /* OPTION CODE */ 24300000 * 2 DS1BLKL CHAR(2), /* BLOCK LENGTH */ 24350000 * 2 DS1LRECL CHAR(2), /* RECORD LENGTH */ 24400000 * 2 DS1KEYL CHAR(1), /* KEY LENGTH */ 24450000 * 2 DS1RKP CHAR(2), /* RELATIVE KEY POSITION */ 24500000 * 2 DS1DSIND CHAR(1), /* DATA SET INDICATORS */ 24550000 * 3 DS1IND80 BIT(1), /* LAST VOLUME ON 24600000 * WHICH A DATA SET 24650000 * RESIDES. @G60ASBJ*/ 24700000 * 3 DS1IND40 BIT(1), /* DATA SET IS RACF 24750000 * DEFINED @G60ASBJ*/ 24800000 * 3 DS1IND20 BIT(1), /* BLOCK LENGTH IS A 24850000 * MULTIPLE OF 8 BYTE @G60ASBJ*/ 24900000 * 3 DS1IND10 BIT(1), /* PASSWORD IS 24950000 * REQUIRED TO READ 25000000 * OR WRITE OR BOTH- 25050000 * SEE DS1IND04 @G60ASBJ*/ 25100000 * 3 DS1IND08 BIT(1), /* RESERVED. @G60ASBJ*/ 25150000 * 3 DS1IND04 BIT(1), /* IF DS1IND10 IS 1 25200000 * THEN IF DS1IND04 25250000 * IS . . . 25300000 * 1 - PASSWORD IS 25350000 * REQUIRED TO WRITE 25400000 * BUT NOT TO READ 25450000 * 0 - PASSWORD IS 25500000 * REQUIRED TO WRITE 25550000 * AND TO READ @G60ASBJ*/ 25600000 * 3 DS1IND02 BIT(1), /* DATASET HAS BEEN 25650000 * OPENED FOR OTHER 25700000 * THAN INPUT SINCE 25750000 * LAST BACKUP COPY 25800000 * WAS MADE. @G60ASBJ*/ 25850000 * 4 DS1DSCHA BIT(1), /* SAME AS DS1IND02 @G60ASBJ*/ 25900000 * 3 DS1IND01 BIT(1), /* SECURE CHECKPOINT DATA 25950000 * SET @02C*/ 26000000 * 4 DS1CHKPT BIT(1), /* SAME AS DS1IND01 @02A*/ 26050000 * 2 DS1SCALO CHAR(4), /* SECONDARY ALLOCATION */ 26100000 * 2 DS1LSTAR CHAR(3), /* LAST USED TRACK AND LAST 26150000 * BLOCK ON TRACK */ 26200000 * 2 DS1TRBAL CHAR(2), /* BYTES REMAINING ON LAST 26250000 * TRACK USED */ 26300000 * 2 * CHAR(2), /* RESERVED */ 26350000 * 2 DS1EXNTS, /* THREE EXTENT FIELDS @01A*/ 26400000 * 3 DS1EXT1 CHAR(10), /* FIRST EXTENT DESCRIP. 26450000 * FIRST BYTE 26500000 * EXTENT TYPE INDICATOR 26550000 * SECOND BYTE 26600000 * EXTENT SEQUENCE NUMBER 26650000 * THIRD - SIXTH BYTES 26700000 * LOWER LIMIT 26750000 * SEVENTH - TENTH BYTES 26800000 * UPPER LIMIT @01C*/ 26850000 * 3 DS1EXT2 CHAR(10), /* SECOND EXTENT DESCRIP @01C*/ 26900000 * 3 DS1EXT3 CHAR(10), /* THIRD EXTENT DESCRIP. @01C*/ 26950000 * 2 DS1PTRDS CHAR(5), /* POSSIBLE PTR TO A FORMAT 27000000 * 2 OR 3 DSCB */ 27050000 * 2 DS1END CHAR(0); /* END OF THE FORMAT 1 DSCB */ 27100000 *%F2: ; 27150000 *%IF FORMAT2 ^= 'YES' /* IF FORMAT2 = YES, THEN */ 27200000 * %THEN %GOTO F3; /* BUILD A FORMAT 2 DSCB */ 27250000 */* FORMAT 2 DSCB */ 27300000 *DCL 1 IECSDSF2 BASED(F2PTR), /* FORMAT 2 DSCB - DESCRIBED */ 27350000 * 2 * CHAR(140); /* IN THE FOLLOWING STRUCTURE*/ 27400000 *DCL 1 IECSDSL2 BASED(ADDR(IECSDSF2)), /* START OF THE FORMAT 2 DSCB*/ 27450000 * 2 * CHAR(1), /* KEY IDENTIFIER */ 27500000 * 2 DS22MIND CHAR(7), /* ADDRESS OF 2ND LEVEL 27550000 * MASTER INDEX */ 27600000 * 2 DS2L2MEN CHAR(5), /* LAST 2ND LEVEL MASTER 27650000 * INDEX ENTRY */ 27700000 * 2 DS23MIND CHAR(7), /* ADDRESS OF 3RD LEVEL 27750000 * MASTER INDEX */ 27800000 * 2 DS2L3MIN CHAR(5), /* LAST 3RD LEVEL MASTER 27850000 * INDEX ENTRY */ 27900000 * 2 * CHAR(11), /* RESERVED */ 27950000 * 2 DS2LPDT CHAR(8), /* LAST PRIME TRACK ON THE 28000000 * LAST PRIME CYLINDER */ 28050000 * 2 DS2FMTID CHAR(1), /* FORMAT IDENTIFIER */ 28100000 * 2 DS2NOLEV CHAR(1), /* NUMBER OF INDEX LEVELS */ 28150000 * 2 DS2DVIND CHAR(1), /* HIGH LEVEL INDEX 28200000 * DEVELOPMENT INDICATOR */ 28250000 * 2 DS21RCYL CHAR(3), /* FIRST DATA RECORD ON 28300000 * EACH CYLINDER */ 28350000 * 2 DS2LTCYL CHAR(2), /* LAST DATA TRACK ON 28400000 * EACH CYLINDER */ 28450000 * 2 DS2CYLOV CHAR(1), /* NUMBER OF TRACKS FOR 28500000 * CYLINDER OVERFLOW */ 28550000 * 2 DS2HIRIN CHAR(1), /* HIGHEST 'R' ON HIGH-LEVEL 28600000 * INDEX TRACK */ 28650000 * 2 DS2HIRPR CHAR(1), /* HIGHEST 'R' ON PRIME 28700000 * DATA TRACKS */ 28750000 * 2 DS2HIROV CHAR(1), /* HIGHEST 'R' ON OVERFLOW 28800000 * DATA TRACKS */ 28850000 * 2 DS2RSHTR CHAR(1), /* 'R' OF LAST DATA RECORD 28900000 * ON A SHARED TRACK */ 28950000 * 2 DS2HIRTI CHAR(1), /* HIGHEST 'R' ON UNSHARED 29000000 * TRACK OF THE TRACK INDEX */ 29050000 * 2 DS2HIIOV CHAR(1), /* HIGHEST 'R' FOR INDEPENDENT 29100000 * OVERFLOW DATA TRACKS */ 29150000 * 2 DS2TAGDT CHAR(2), /* TAG DELETION COUNT */ 29200000 * 2 DS2RORG3 CHAR(3), /* NON-FIRST OVERFLOW 29250000 * REFERENCE COUNT */ 29300000 * 2 DS2NOBYT CHAR(2), /* NUMBER OF BYTES FOR 29350000 * HIGHEST-LEVEL INDEX */ 29400000 * 2 DS2NOTRK CHAR(1), /* NUMBER OF TRACKS FOR 29450000 * HIGHEST-LEVEL INDEX */ 29500000 * 2 DS2PRCTR CHAR(4), /* PRIME RECORD COUNT */ 29550000 * 2 DS2STIND CHAR(1), /* STATUS INDICATORS */ 29600000 * 2 DS2CYLAD CHAR(7), /* ADDRESS OF CYLINDER INDEX */ 29650000 * 2 DS2ADLIN CHAR(7), /* ADDRESS OF LOWEST LEVEL 29700000 * MASTER INDEX */ 29750000 * 2 DS2ADHIN CHAR(7), /* ADDRESS OF HIGHEST LEVEL 29800000 * MASTER INDEX */ 29850000 * 2 DS2LPRAD CHAR(8), /* LAST PRIME DATA RECORD 29900000 * ADDRESS */ 29950000 * 2 DS2LTRAD CHAR(5), /* LAST TRACK INDEX ENTRY 30000000 * ADDRESS */ 30050000 * 2 DS2LCYAD CHAR(5), /* LAST CYLINDER INDEX 30100000 * ENTRY ADDRESS */ 30150000 * 2 DS2LMSAD CHAR(5), /* LAST MASTER INDEX ENTRY 30200000 * ADDRESS */ 30250000 * 2 DS2LOVAD CHAR(8), /* LAST INDEPENDENT OVERFLOW 30300000 * RECORD ADDRESS */ 30350000 * 2 DS2BYOVL CHAR(2), /* BYTES REMAINING ON 30400000 * OVERFLOW TRACK */ 30450000 * 2 DS2RORG2 CHAR(2), /* TRACKS REMAINING IN 30500000 * INDEPENDENT OVERFLOW AREA */ 30550000 * 2 DS2OVRCT CHAR(2), /* OVERFLOW RECORD COUNT */ 30600000 * 2 DS2RORG1 CHAR(2), /* CYLINDER OVERFLOW AREA 30650000 * COUNT */ 30700000 * 2 DS2NIRT CHAR(3), /* DUMMY TRACK INDEX ENTRY 30750000 * ADDRESS */ 30800000 * 2 DS2PTRDS CHAR(5), /* POSSIBLE POINTER TO A 30850000 * FORMAT 3 DSCB */ 30900000 * 2 DS2END CHAR(0); /* END OF THE FORMAT 2 DSCB */ 30950000 *%F3: ; 31000000 *%IF FORMAT3 ^= 'YES' /* IF FORMAT3 = YES, THEN */ 31050000 * %THEN %GOTO F4; /* BUILD A FORMAT 3 DSCB */ 31100000 */* FORMAT 3 DSCB */ 31150000 *DCL 1 IECSDSF3 BASED(F3PTR), /* FORMAT 3 DSCB - DESCRIBED */ 31200000 * 2 * CHAR(140); /* IN THE FOLLOWING STRUCTURE*/ 31250000 *DCL 1 IECSDSL3 BASED(ADDR(IECSDSF3)), /* START OF THE FORMAT 3 DSCB*/ 31300000 * 2 * CHAR(4), /* KEY IDENTIFIER */ 31350000 * 2 DS3EXTNT CHAR(40), /* FOUR EXTENT DESCRIPTIONS 31400000 * FIRST BYTE 31450000 * EXTENT TYPE INDICATOR 31500000 * SECOND BYTE 31550000 * EXTENT SEQUENCE NUMBER 31600000 * THIRD - SIXTH BYTES 31650000 * LOWER LIMIT 31700000 * SEVENTH - TENTH BYTES 31750000 * UPPER LIMIT */ 31800000 * 2 DS3FMTID CHAR(1), /* FORMAT IDENTIFIER */ 31850000 * 2 DS3ADEXT CHAR(90), /* NINE ADDITIONAL EXTENT 31900000 * DESCRIPTIONS */ 31950000 * 2 DS3PTRDS CHAR(5), /* RESERVED */ 32000000 * 2 DS3END CHAR(0); /* END OF THE FORMAT 3 DSCB */ 32050000 * 32100000 *DCL 1 DS3EXTBL(4) DEF(DS3EXTNT), /* ONE EXTENT DESCRIPTION 32150000 * (FOUR TIMES) */ 32200000 * 2 DS3EXTYP CHAR(1), /* FIRST BYTE 32250000 * EXTENT TYPE INDICATOR */ 32300000 * 2 DS3EXTSN CHAR(1), /* SECOND BYTE 32350000 * EXTENT SEQUENCE NUMBER */ 32400000 * 2 DS3EXTLL CHAR(4), /* THIRD - SIXTH BYTES 32450000 * LOWER LIMIT */ 32500000 * 2 DS3EXTUL CHAR(4); /* SEVENTH - TENTH BYTES 32550000 * UPPER LIMIT */ 32600000 * 32650000 *DCL 1 DS3ADTBL(9) DEF(DS3ADEXT), /* ONE ADDITIONAL EXTENT 32700000 * DESCRIPTION (NINE TIMES) */ 32750000 * 2 DS3ADTYP CHAR(1), /* FIRST BYTE 32800000 * EXTENT TYPE INDICATOR */ 32850000 * 2 DS3ADTSN CHAR(1), /* SECOND BYTE 32900000 * EXTENT SEQUENCE NUMBER */ 32950000 * 2 DS3ADTLL CHAR(4), /* THIRD - SIXTH BYTES 33000000 * LOWER LIMIT */ 33050000 * 2 DS3ADTUL CHAR(4); /* SEVENTH - TENTH BYTES 33100000 * UPPER LIMIT */ 33150000 * 33200000 *%F4: ; 33250000 *%IF FORMAT4 ^= 'YES' /* IF FORMAT4 = YES, THEN */ 33300000 * %THEN %GOTO F5; /* BUILD A FORMAT 4 DSCB */ 33350000 */* FORMAT 4 DSCB */ 33400000 *DCL 1 IECSDSF4 BASED(F4PTR), /* FORMAT 4 DSCB - DESCRIBED */ 33450000 * 2 * CHAR(96); /* IN THE FOLLOWING STRUCTURE*/ 33500000 *DCL 1 IECSDSL4 BASED(ADDR(IECSDSF4)), /* START OF THE FORMAT 4 DSCB*/ 33550000 * 2 DS4IDFMT CHAR(1), /* FORMAT IDENTIFIER */ 33600000 * 2 DS4HPCHR CHAR(5), /* HIGHEST ADDRESS OF A 33650000 * FORMAT 1 DSCB */ 33700000 * 2 DS4DSREC CHAR(2), /* NUMBER OF AVAILABLE DSCB'S*/ 33750000 * 2 DS4HCCHH CHAR(4), /* CCHH OF NEXT AVAILABLE 33800000 * ALTERNATE TRACK */ 33850000 * 2 DS4NOATK CHAR(2), /* NUMBER OF REMAINING 33900000 * ALTERNATE TRACKS */ 33950000 * 2 DS4VTOCI BIT(8), /* VTOC INDICATORS @01C*/ 34000000 * 3 DS4DOSBT BIT(1), /* DOS BIT @01A*/ 34050000 * 3 * BIT(2), /* RESERVED @01A*/ 34100000 * 3 DS4DSTKP BIT(1), /* DOS STACKED PACK @01A*/ 34150000 * 3 DS4DOCVT BIT(1), /* DOS CONVERTED VTOC @01A*/ 34200000 * 3 DS4DIRF BIT(1), /* DIRF BIT @01A*/ 34250000 * 3 DS4DICVT BIT(1), /* DIRF RECLAIMED @01A*/ 34300000 * 3 DS4IVTOC BIT(1), /* VOLUME USES AN INDEXED 34350000 * VTOC @01A*/ 34400000 * 2 DS4NOEXT CHAR(1), /* NUMBER OF EXTENTS IN VTOC */ 34450000 * 2 * CHAR(2), /* RESERVED */ 34500000 * 2 DS4DEVCT CHAR(14), /* DEVICE CONSTANTS */ 34550000 * 3 DS4DEVSZ CHAR(4), /* DEVICE SIZE */ 34600000 * 3 DS4DEVTK CHAR(2), /* DEVICE TRACK LENGTH */ 34650000 * 3 DS4DEVOV CHAR(2), /* KEYED RECORD OVERHEAD */ 34700000 * 4 DS4DEVI CHAR(1), /* - NON-LAST KEYED RECORD 34750000 * OVERHEAD */ 34800000 * 4 DS4DEVL CHAR(1), /* - LAST KEYED RECORD 34850000 * OVERHEAD */ 34900000 * 3 DS4DEVK CHAR(1), /* NON-KEYED RECORD OVERHEAD 34950000 * DIFFERENTIAL */ 35000000 * 3 DS4DEVFG CHAR(1), /* FLAG BYTE */ 35050000 * 3 DS4DEVTL CHAR(2), /* DEVICE TOLERANCE */ 35100000 * 3 DS4DEVDT CHAR(1), /* NUMBER OF DSCB'S PER TRACK*/ 35150000 * 3 DS4DEVDB CHAR(1), /* NUMBER OF DIRECTORY 35200000 * BLOCKS PER TRACK */ 35250000 * 2 DS4AMTIM CHAR(8), /* VSAM TIME STAMP */ 35300000 * 2 DS4AMCAT CHAR(3), /* VSAM CATALOG INDICATOR */ 35350000 * 3 DS4VSIND BIT(8), /* VSAM INDICATORS */ 35400000 * 4 DS4VSREF BIT(1), /* A VSAM CATALOG REFERENCES 35450000 * THIS VOLUME */ 35500000 * 4 DS4VSBAD BIT(1), /* VSAM DATA SETS ON VOLUME 35550000 * ARE UNUSABLE */ 35600000 * 4 * BIT(6), /* RESERVED */ 35650000 * 3 DS4VSCRA PTR(16) BDY(BYTE),/* RELATIVE TRACK LOCATION 35700000 * OF THE CRA */ 35750000 * 2 DS4R2TIM CHAR(8), /* VSAM VOLUME/CATALOG MATCH 35800000 * TIME STAMP */ 35850000 * 2 * CHAR(5), /* RESERVED */ 35900000 * 2 DS4F6PTR CHAR(5), /* POINTER TO FIRST FORMAT 35950000 * 6 DSCB */ 36000000 * 2 DS4VTOCE CHAR(10), /* VTOC EXTENT DESCRIPTION */ 36050000 * 2 * CHAR(25), /* RESERVED */ 36100000 * 2 DS4END CHAR(0); /* END OF THE FORMAT 4 DSCB */ 36150000 *%F5: ; 36200000 *%IF FORMAT5 ^= 'YES' /* IF FORMAT5 = YES, THEN */ 36250000 * %THEN %GOTO F6; /* BUILD A FORMAT 5 DSCB */ 36300000 */* FORMAT 5 DSCB */ 36350000 *DCL 1 IECSDSF5 BASED(F5PTR), /* FORMAT 5 DSCB - DESCRIBED */ 36400000 * 2 * CHAR(140); /* IN THE FOLLOWING STRUCTURE*/ 36450000 *DCL 1 IECSDSL5 BASED(ADDR(IECSDSF5)), /* START OF THE FORMAT 5 DSCB*/ 36500000 * 2 DS5KEYID CHAR(4), /* KEY IDENTIFIER */ 36550000 * 2 DS5AVEXT CHAR(5), /* AVAILABLE EXTENT 36600000 * BYTES 1 - 2 36650000 * RELATIVE TRACK ADDRESS 36700000 * OF THE FIRST TRACK IN 36750000 * THE EXTENT 36800000 * BYTES 3 - 4 36850000 * NUMBER OF UNUSED 36900000 * CYLINDERS IN THE EXTENT 36950000 * BYTE 5 37000000 * NUMBER OF ADDITIONAL 37050000 * UNUSED TRACKS */ 37100000 * 2 DS5EXTAV CHAR(35), /* SEVEN AVAILABLE EXTENTS */ 37150000 * 2 DS5FMTID CHAR(1), /* FORMAT IDENTIFIER */ 37200000 * 2 DS5MAVET CHAR(90), /* EIGHTEEN AVAILABLE EXTENTS*/ 37250000 * 2 DS5PTRDS CHAR(5), /* POINTER TO NEXT FORMAT 5 37300000 * DSCB */ 37350000 * 2 DS5END CHAR(0); /* END OF THE FORMAT 5 DSCB */ 37400000 *%F6: ; 37450000 *%IF FORMAT6 ^= 'YES' /* IF FORMAT6 = YES, THEN */ 37500000 * %THEN %GOTO MACROEND; /* BUILD A FORMAT 6 DSCB */ 37550000 */* FORMAT 6 DSCB */ 37600000 *DCL 1 IECSDSF6 BASED(F6PTR), /* FORMAT 6 DSCB - DESCRIBED */ 37650000 * 2 * CHAR(140); /* IN THE FOLLOWING STRUCTURE*/ 37700000 *DCL 1 IECSDSL6 BASED(ADDR(IECSDSF6)), /* START OF THE FORMAT 6 DSCB*/ 37750000 * 2 DS6KEYID CHAR(4), /* KEY IDENTIFIER */ 37800000 * 2 DS6AVEXT CHAR(5), /* SHARED EXTENT DESCRIPTION 37850000 * BYTES 1 - 2 37900000 * RELATIVE TRACK ADDRESS 37950000 * OF THE FIRST CYLINDER 38000000 * BYTES 3 - 4 38050000 * NUMBER OF FULL 38100000 * CYLINDERS BEING SHARED 38150000 * BYTE 5 38200000 * NUMBER OF DATA SETS 38250000 * SHARING THE EXTENT */ 38300000 * 2 DS6EXTAV CHAR(35), /* SEVEN SHARED EXTENTS */ 38350000 * 2 DS6FMTID CHAR(1), /* FORMAT IDENTIFIER */ 38400000 * 2 DS6MAVET CHAR(90), /* EIGHTEEN SHARED EXTENTS */ 38450000 * 2 DS6PTRDS CHAR(5), /* POINTER TO NEXT FORMAT 6 38500000 * DSCB */ 38550000 * 2 DS6END CHAR(0); /* END OF THE FORMAT 6 DSCB */ 38600000 *%MACROEND: ; 38650000