/********************************************************************/ 00500003 /* */ 00520003 /* MACRO NAME = IGGMCMDM */ 00540003 /* */ 00560003 /* DESCRIPTIVE NAME = VSAM CATALOG MANAGEMENT COMMONLY-USED */ 00580003 /* RECORD STRUCTURES */ 00600003 /* */ 00620003 /* FUNCTION = CONTAINING MACRO FOR MANY COMMON RECORD STRUCTURE */ 00640003 /* DECLARATIONS USED BY VSAM CATALOG MANAGEMENT */ 00660003 /* ROUTINES. */ 00680003 /* */ 00700003 /* INCLUDED MACROS = NONE */ 00720003 /* */ 00740003 /* METHOD OF ACCESS = PL/S - RESPECIFY BASE FOR SOME STRUCTURES */ 00760003 /* */ 00780003 /* STATUS = VS/2 RELEASE 4 (CHANGE FLAG @Z40WSXX) @Z40WSSG*/ 00800040 /* */ 00820003 /* DATE OF LAST CHANGE = 23 MAY 75 @Z40WSSG*/ 00840040 /* */ 00860003 /********************************************************************/ 00880003 /********************************************************************/ 01000003 /* STRUCTURE FOR THE FIXED INFORMATION IN THE RECORDS */ 04000003 /********************************************************************/ 04100003 DECLARE 04200003 1 CTGRBASE DEF(NREPLF) POSITION(2), /* BASE FIXED INFO @Y30SSPJ*/ 04500003 2 CNAME CHAR(44), /* ENTRY NAME */ 05000003 2 COWNID CHAR(8), /* OWNER ID */ 05500003 2 CCRE CHAR(3), /* CREATION DATE */ 06000003 2 CEXP CHAR(3), /* EXPIRATION DATE */ 06500003 2 CATTR BIT(16), /* DATA ATTRIBUTES */ 07000003 3 CATTR1 BIT(8), /*NON-SHARING ATTRIBUTES @Y30SSPJ*/ 07500003 4 CSP BIT(1), /* SPEED @Y30SSPJ*/ 07505003 4 CUNIQ BIT(1), /* UNIQUE DATA SET @Y30SSPJ*/ 07510003 4 CREUSE BIT(1), /* REUSABLE @Y30SSPJ*/ 07515003 4 CERASE BIT(1), /* ERASE @Y30SSPJ*/ 07520003 4 CRECOV BIT(1), /* RECOVERABLE CATALOG @Y30SSPJ*/ 07525003 4 CINHIB BIT(1), /* INHIBIT UPDATE @Y30SSPJ*/ 07530003 4 CTEMP BIT(1), /* TEMPORARY EXPORT @Y30SSPJ*/ 07535003 4 CTRKOV BIT(1), /* TRACK OVERFLOW @Y30SSPJ*/ 07540003 3 CATTR2 BIT(8), /* SHARE OPTIONS */ 12000003 4 CATTRISH BIT(2), /* CROSS REGION SHARE OPTIONS */ 12500003 4 CATTRSSH BIT(2), /* CROSS SYSTEM SHARE OPTIONS */ 15000003 4 * BIT(2), /* RESERVED @Z40WSSG*/ 16500040 4 CATTISDS BIT(1), /* INTERNAL SYSTEM D.S. @Z40WSSG*/ 16510040 4 CNUS BIT(1), /* DS NOT REUSABLE @Y30SSPJ*/ 16520003 2 COPEN BIT(8), /* OPEN INDICATOR */ 17000003 3 COPENDS BIT(1), /* OPEN DATA SET */ 17500003 3 * BIT(7), /* RESERVED */ 18000003 2 CBUF FIXED(31) BDY(BYTE), /* MINIMUM BUFFER SIZE */ 18500003 2 CSPACPRM CHAR(7), /* SPACE PARAMETERS */ 19000003 3 CPRIM PTR(24) BDY(BYTE),/* PRIMARY SPACE QUANTITY */ 19500003 3 CSEC PTR(24) BDY(BYTE),/* SECONDARY SPACE QUANTITY */ 20000003 3 CSORT BIT(8), /* SPACE OPTIONS */ 20500003 2 CHIU PTR(32) BDY(BYTE), /* HI-USED RBA */ 21000003 2 CHIA PTR(32) BDY(BYTE), /* HI-ALLOCATED RBA */ 21500003 2 CLRECL PTR(32) BDY(BYTE), /* AVERAGE LOGICAL RECORD SIZE */ 22000003 2 CDOSUINF CHAR(2), /* DOS USER INFORMATION @Y30SSPJ*/ 22500003 2 CEXT CHAR(8); /* EXCEPTION EXIT NAME @Y30SSPJ*/ 22502003 /********************************************************************/ 22504003 /* CLUSTER ATTRIBUTES FIELD: CREATED IN VS/2-2.6. ALL */ 22506003 /* RELEASE 2 CLUSTERS ARE CREATED WITH THIS FIELD. */ 22508003 /********************************************************************/ 22510003 DECLARE 22512003 1 * DEFINED(CATTR1), /* CATALOG ATTRIBUTES @Y30SSPJ*/ 22514003 2 CCATTR PTR(8), /* CATALOG ATTRIBUTES @Y30SSPJ*/ 22516003 3 * BIT(8), /* CATALOG ATTRIBUTES @Y30SSPJ*/ 22518003 4 * BIT(6), /* RESERVED @Z40WSSG*/ 22520040 4 CSWAPSPC BIT(1), /* SWAPSPACE @Z40WSSG*/ 22520440 4 CPGSP BIT(1); /* PAGE SPACE @Y30SSPJ*/ 22522003 /********************************************************************/ 22524003 /* ALTERNATE INDEX AND PATH ATTRIBUTES */ 22526003 /********************************************************************/ 22528003 DECLARE 22530003 1 * DEFINED(CATTR1), /* PATH/AIX ATTRIBUTES @Y30SSPJ*/ 22532003 2 CRGATTR PTR(8), /* PATH/AIX ATTRIBUTES @Y30SSPJ*/ 22534003 3 CUPG BIT(1), /* AIX UPGRADE @Y30SSPJ*/ 22536003 4 CUPD BIT(1), /* PATH UPDATE @Y30SSPJ*/ 22538003 3 * BIT(7); /* RESERVED @Y30SSPJ*/ 22540003 /********************************************************************/ 25000003 /* DECLARATION OF CONSTANT VALUES USED IN CMS DEFINE */ 25500003 /********************************************************************/ 25600003 DECLARE 25700003 CLNOVARC PTR(8) CONSTANT(0); /* NUMBER OF VARIABLE LENGTH 26000003 FIELDS IN CLUSTER ENTRY */ 26500003 /********************************************************************/ 27500003 /* DECLARATION OF COUNT OF CI'S REQUIRED FOR CLUSTER */ 28000003 /********************************************************************/ 28100003 DECLARE 28200003 IXCLCICT PTR(8) CONSTANT(3), /* NO. OF CI'S FOR INDEX CLUSTER */ 28500003 NXCLCICT PTR(8) CONSTANT(2); /* NO. OF CI'S FOR NON-IND. CLUS */ 29000003 /********************************************************************/ 29500003 /* DECLARATION OF MASTER CATALOG NAME */ 30000003 /********************************************************************/ 30200003 DECLARE MCATNAME CHAR(44) 30500003 CONSTANT('AMASTCAT '); 31000000 /********************************************************************/ 31500003 /* DECLARATION OF CATALOG ENTRY RECORD AREA */ 32000003 /********************************************************************/ 32200003 DECLARE CATRECRD(2) CHAR(256) BASED(CCACPE1); 32500003 /********************************************************************/ 33000003 /* DECLARATION OF ASSOCIATION GROUP OCCURRENCE */ 33500003 /********************************************************************/ 33600003 DECLARE 33700003 1 ASGO BASED(ADDR(LENFIX)) POS(2), 34000003 2 ASTYPE PTR(8), /* TYPE OF ENTRY ASSOCIATED */ 34500003 2 ASCI PTR(24); /* CI NO. OF ENTRY ASSOCIATED */ 35000003 /********************************************************************/ 35500003 /* DECLARATION OF GROUP CODE OF ASSOCIATIONS */ 36000003 /********************************************************************/ 36200003 DECLARE ASGC PTR(8)CONSTANT(2); /* ASSOCIATION GROUP CODE */ 36500003 /********************************************************************/ 37000003 /* DECLARATION OF ASSOCIATION GROUP CODE SEQUENCE NUMBERS */ 37500003 /********************************************************************/ 37600003 DECLARE 37700003 DASQN PTR(8) CONSTANT(1), /* SEQUENCE NUMBER OF DATA */ 38000003 IXSQN PTR(8) CONSTANT(2); /* SEQUENCE NUMBER OF INDEX */ 38500003 /********************************************************************/ 39000003 /* DECLARATION OF MINIMUM NUMBER OF ASSOCIATIONS WITH CLUSTER */ 39500003 /********************************************************************/ 39700003 DECLARE MINAS PTR(8) CONSTANT(1); /* MIN NO. OF ASSOCIATIONS */ 40000003 /********************************************************************/ 40500003 /* DECLARATION OF PASSWORD GROUP OCCURRENCE */ 41000003 /********************************************************************/ 41100003 DECLARE 41200003 1 PASSGO BASED(ADDR(LENFIX)) /* PASSWORD GROUP */ 41500003 POS(2) BDY(WORD), /* GROUP OCCURRENCE */ 42000003 2 PASSWORD CHAR(32), /* PASSWORD SET */ 42500003 3 MASTERPW CHAR(8), /* MASTER */ 43000003 3 CIPW CHAR(8), /* CONTROL INTERVAL PROCESS */ 43500003 3 UPDATEPW CHAR(8), /* UPDATE */ 44000003 3 READPW CHAR(8), /* READ */ 44500003 2 PASSPRMT CHAR(8), /* PROMPTING CODE NAME */ 45000003 2 PASSATMP FIXED(15), /* MAXIMUM NUMBER OF ATTEMPTS TO */ 45500003 /* GIVE CORRECT PASSWORD */ 46000003 2 USVRMDUL CHAR(8), /* USER SECURITY VERIFICATON */ 46500003 /* MODULE NAME */ 47000003 2 USERAREC, /* USER AUTHORIZATION RECORD */ 47500003 3 USERAREL FIXED(15), /* LENGTH OF USER AUTH. REC. */ 48000003 3 USERAREV CHAR(256); /* USER AUTH. REC. AREA */ 48500003 /********************************************************************/ 49000003 /* DEFINITION OF PASSWORD GROUP CODE */ 49500003 /********************************************************************/ 49700003 DECLARE PASSGC PTR(8) CONSTANT(4); /* PASSWORD GROUP CODE */ 50000003 /********************************************************************/ 50500003 /* DEFINITION OF PASSWORD GROUP OCCURRENCE SEQUENCE NUMBER */ 51000003 /********************************************************************/ 51200003 DECLARE PASSSQN PTR(8) CONSTANT(1); /* PASSWORD G.O. SEQ.NUMBER */ 51500003 /********************************************************************/ 54000003 /* VOLUME SERIAL NUMBER LIST AS PASSED BY THE CALLER */ 54500003 /********************************************************************/ 54600003 DECLARE 54700003 1 USERLIST BASED, /* VOLUME SERIAL NUMBER LIST */ 55000003 2 LTLENGTH FIXED(15), /* LENGTH OF VOLUME SERIAL LIST */ 55500003 2 LTENTRY(*) CHAR(8) BDY(HWORD), /* 1 ENTRY PER VOLUME */ 56000003 3 LTRETCOD FIXED(15), /* FEEDBACK, RETURN CODES */ 56500003 4 LTRETCD1 PTR(8), /* NORMAL RETURN CODE */ 57000003 4 LTRETCD2 PTR(8), /* RESERVED */ 57500003 3 LTVOLSER CHAR(6); /* VOLUME SERIAL NUMBER */ 58000003 /********************************************************************/ 58500003 /* DECLARATION OF SPACE PARAMETERS FIELDS */ 59000003 /********************************************************************/ 59100003 DECLARE 59200003 1 SPACEPRM CHAR(7) BASED, /* SPACE PARAMETERS */ 59500003 2 SPCPRIMQ PTR(24) BDY(BYTE), /* PRIMARY SPACE QUANTITY */ 60000003 2 SPCSECDQ PTR(24) BDY(BYTE), /* SECONDARY SPACE QUANTITY */ 60500003 2 SPCOPTNS BIT(8), /* SPACE OPTIONS */ 61000003 3 SPCRQTYP BIT(2), /* REQUEST TYPE */ 61500003 3 * BIT(2), /* RESERVED */ 64500003 3 SPCCNTIG BIT(1), /* CONTIGUOUS SPACE REQUEST */ 65000003 3 SPCMXIGR BIT(1), /* MAXIMUM CONTIG SPACE REQ */ 65500003 3 SPCALXRQ BIT(1), /* ALL EXTENTS SPACE REQ */ 66000003 3 SPCROUND BIT(1); /* ROUND UP TO CYL BOUNDARY */ 66500003 /********************************************************************/ 67000003 /* DECLARATION OF DATA SET ATTRIBUTES FIELD */ 67500003 /********************************************************************/ 67600003 DECLARE 67700003 1 CTGDSATR BIT(16) BASED(CTGFLPT), /* DATA SET ATTRIBUTES */ 68000003 2 CTGATR1 BIT(8), /* NON-SHARING ATTRIBUTES */ 68500003 3 CTGDSSPD BIT(1), /* SPEED */ 69000003 3 CTGDSUNQ BIT(1), /* UNIQUE */ 69500003 3 CTGDSREU BIT(1), /* REUSABLE @Y30SSPJ*/ 70100003 3 CTGDSERA BIT(1), /* ERASE */ 70500003 3 CTGDSREC BIT(1), /* RECOVERABLE CATALOG @Y30SSPJ*/ 71100003 3 CTGDSINH BIT(1), /* INHIBIT UPDATE */ 71500003 3 CTGDSTPX BIT(1), /* TEMPORARY EXPORT */ 72000003 3 CTGTRKOV BIT(1), /* TRACK OVERFLOW Y02020*/ 72200003 2 CTGATR2 BIT(8), /* SHARE OPTIONS */ 73000003 3 CTGDSISH BIT(2), /* CROSS REGION SHARE OPTIONS */ 73500003 3 CTGDSSSH BIT(2), /* CROSS SYSTEM SHARE OPTIONS */ 74000003 3 * BIT(3), /* RESERVED @Y30SSPJ*/ 74020003 3 CTGDSNUS BIT(1); /* D.S. NOT REUSABLE @Y30SSPJ*/ 74500003 /********************************************************************/ 77500003 /* DECLARATION OF PATH/AIX ATTRIBUTE FIELD */ 77504003 /********************************************************************/ 77508003 DECLARE 77512003 1 RGATTRFL CHAR(2) BASED(CTGFLPT(1)), /* @Y30SSPJ*/ 77516003 2 RGATTR1 BIT(8), /* PATH/AIX ATTRIBUTE @Y30SSPJ*/ 77520003 3 RGATTUPG BIT(1), /* UPDATE OR UPGRADE BIT @Y30SSPJ*/ 77524003 3 * BIT(7), /* RESERVED @Y30SSPJ*/ 77528003 2 RGATTSG1 BIT(8), /* SIGNIFICANT MASK @Y30SSPJ*/ 77532003 3 RGATSUP1 BIT(1), /* UPDATE OR UPGRADE BIT @Y30SSPJ*/ 77536003 3 * BIT(7); /* RESERVED @Y30SSPJ*/ 77540003 /********************************************************************/ 77544003 /* DECLARATION OF ENTRYNAME FIELD */ 78000003 /********************************************************************/ 78200003 DECLARE ENTRYNAM CHAR(44) BASED(CTGFLPT); /* ENTRYNAME FIELD */ 78500003 /********************************************************************/ 79000003 /* DECLARATION OF CREATION OR EXPIRATION DATE FIELD */ 79500003 /********************************************************************/ 79700003 DECLARE DATEFLD PTR(24) BASED(CTGFLPT); /* DATE FIELD 'YDD' FORM */ 80000003 /* OF 'YYDDDF'X */ 80500003 /********************************************************************/ 81000003 /* DECLARATION OF OWNER ID FIELD */ 81500003 /********************************************************************/ 81700003 DECLARE OWNIDFLD CHAR(8) BASED(CTGFLPT); /* OWNER ID FIELD */ 82000003 /********************************************************************/ 82500003 /* DECLARATION OF MINIMUM BUFFER SIZE FIELD */ 83000003 /********************************************************************/ 83200003 DECLARE BUFSIZE PTR(31) BASED(CTGFLPT); /* MINIMUM BUFFER SIZE */ 83500003 /********************************************************************/ 84000003 /* DECLARATION OF AVERAGE LOGICAL RECORD SIZE */ 84500003 /********************************************************************/ 84700003 DECLARE LRECL PTR(31) BASED(CTGFLPT); /* AVERAGE LOGICAL REC SIZE*/ 85000003 /********************************************************************/ 85500003 /* DECLARATION OF EXCEPTION EXIT NAME */ 85510003 /********************************************************************/ 85520003 DECLARE EXCPNAME CHAR(8)BASED(CTGFLPT); /*EXCP EXIT NAME @Y30SSPJ*/ 85530003 /********************************************************************/ 85540003 /* DEVICE CHARACTERISTICS OVERLAY STRUCTURE FOR RETURNED INFO */ 86000003 /********************************************************************/ 86100003 DECLARE 86200003 1 DEVCHARS BASED(ADDR(CCADESA)), /* DEVICE CHARACTERISTICS */ 86500003 2 RTDEVUCB CHAR(4), /* UCB DEVICE TYPE */ 87000003 3 * CHAR(2), /* RESERVED @XM4334*/ 87010003 3 RTCLSTYP CHAR(2), /* DEV CLASS & TYPE @XM4334*/ 87050003 2 RTMXDBLK PTR(31), /* MAXIMUM DEVICE BLOCK SIZE */ 87500003 2 RTNOCYLS FIXED(15), /* NO. CYLINDERS ON DEVICE */ 88000003 2 RTNOTRKS FIXED(15), /* NO. TRACKS PER CYLINDER */ 88500003 2 RTTRKSIZ FIXED(15), /* BYTES PER TRACK */ 89000003 2 RTBOKAB PTR(16), /* BLOCK OVERHEAD, KEYED ALL BLK */ 89500003 3 RTBOKNLB PTR(8), /* BLOCK OVERHEAD, KEYED NOT LAST*/ 90000003 3 RTBOKLB PTR(8), /* BLOCK OVERHEAD, KEYED LAST */ 90500003 2 RTBONK PTR(8), /* BLOCK OVERHEAD, NOT KEYED */ 91000003 2 RTDVFLGS BIT(8), /* FLAG BYTE @Y30SSPJ*/ 91500003 3 * BIT(4), /* RESERVED @Y30SSPJ*/ 92000003 3 RTKABFLG BIT(1), /* IF ON, USE ALL BLOCK OVERHEAD */ 92500003 /* VALUE 'RTBOKAB' @Y30SSPJ*/ 93000003 3 * BIT(2), /* RESERVED @Y30SSPJ*/ 93500003 3 RTTOLFLG BIT(1), /* IF ON, USE TOLERANCE FACTOR */ 94000003 /* TO ALL BLOCKS EXCEPT LAST */ 94500003 2 RTTOLFCT FIXED(15); /* TOLERANCE FACTOR @Y30SSPJ*/ 95000003 /********************************************************************/ 95040003 /* CONSTANTS USED TO SET AND/OR TEST FIELDS DECLARED ABOVE */ 95080003 /********************************************************************/ 95120003 %DCL CLFXFALN CHAR; /* FIXED LENGTH FIELDS @Y30SSPJ*/ 95160003 %DCL CLFXFAR1 CHAR; /* FIXED LENGTH FIELDS @Y30SSPJ*/ 95200003 %DCL CLFXFADI CHAR; /* FIXED LENGTH FIELDS @Y30SSPJ*/ 95240003 %DCL PASSFIXD CHAR; /* LENGTH OF FIXED FOR PASSWORD 95280003 GROUP OCCURRENCE @Y30SSPJ*/ 95320003 %CLFXFALN = 'LENGTH(CATRCD)+LENGTH(CNAME)+LENGTH(COWNID)+ 95360003 LENGTH(CCRE)+LENGTH(CEXP)+LENGTH(CCATTR)'; /* RELEASE 2 95400003 CLUSTER, AIX, OR PATH 95500003 FIXED LENGTH FIELDS @Y30SSPJ*/ 95550003 %CLFXFAR1 = 'LENGTH(CATRCD)+LENGTH(CNAME)+LENGTH(COWNID)+ 95600003 LENGTH(CCRE)+LENGTH(CEXP)'; /* REL 1 CLUSTER OR REL 2 ALIEN 95650003 FIXED LENGTH FIELDS @Y30SSPJ*/ 95700003 %CLFXFADI = 'LENGTH(CATRCD)+LENGTH(CTGRBASE)'; /* REL 2 DATA/INDEX 95750003 FIXED LENGTH FIELDS @Y30SSPJ*/ 95800003 %PASSFIXD ='LENGTH(PASSWORD)+LENGTH(PASSPRMT)+LENGTH(PASSATMP)+ 95850003 LENGTH(USVRMDUL)'; /* LENGTH OF FIXED FOR PASSWORD 95900003 GROUP OCCURRENCE @Y30SSPJ*/ 95950003 DECLARE /* CROSS REGION SHARE OPTIONS */ 96000003 CRRGOPT1 BIT(2) CONSTANT('00'B), /* ALL READ OR ONE UPD/OUTPUT */ 96200003 CRRGOPT2 BIT(2) CONSTANT('01'B), /* ALL READ AND ONE UPD/OUTPUT*/ 96400003 CRRGOPT3 BIT(2) CONSTANT('10'B), /* FULL SHARE */ 96600003 CRRGOPT4 BIT(2) CONSTANT('11'B); /* FULL SHARE WITH AM ASSIST */ 96800003 DECLARE /* CROSS SYSTEM SHARE OPTIONS */ 97000003 CRSYOPT3 BIT(2) CONSTANT('10'B), /* FULL SHARE */ 97200003 CRSYOPT4 BIT(2) CONSTANT('11'B); /* FULL SHARE WITH AM ASSIST */ 97400003 DECLARE /* SPACE OPTIONS REQUEST TYPE */ 97600003 CMSALCAN BIT(2) CONSTANT('00'B), /* CANDIDATE REQUEST */ 97800003 CMSALTRK BIT(2) CONSTANT('10'B), /* TRACK REQUEST */ 98000003 CMSALREC BIT(2) CONSTANT('01'B), /* RECORDS REQUEST */ 98200003 CMSALCYL BIT(2) CONSTANT('11'B); /* CYLINDER REQUEST */ 98400003 DECLARE /* DATA SET ATTRIBUTES */ 98600003 DSUNQ BIT(1) CONSTANT('1'B), /* UNIQUE DATA SET */ 98800003 DSSPD BIT(1) CONSTANT('1'B), /* SPEED SELECTED */ 99000003 DSERA BIT(1) CONSTANT('1'B), /* ERASE SPECIFIED */ 99200003 DSINH BIT(1) CONSTANT('1'B), /* INHIBIT UPDATE */ 99400003 DSTPX BIT(1) CONSTANT('1'B); /* TEMPORARILY EXPORTED */ 99600003