/********************************************************************/ 00500037 /* */ 00520037 /* MACRO NAME = IGGMUPDE */ 00540037 /* */ 00560037 /* DESCRIPTIVE NAME = UPDATE-EXTEND COMMON DECLARATIONS */ 00580037 /* */ 00600037 /* FUNCTION = COMMON DECLARATIONS FOR VSAM UPDATE-EXTEND */ 00620037 /* MODULES IGG0CLBB, IGG0CLBC, AND IGG0CLBP, */ 00640037 /* AND FOR DEFINE CRA MODULE IGG0CLB4. */ 00660037 /* CONTAINS COMMON WORK AREA MAPPINGS AND INTERFACE */ 00680037 /* PARAMETER LISTS FOR EXTERNALLY CALLED SUB- */ 00700037 /* FUNCTIONS USED WITHIN THE VSAM UPDATE-EXTEND */ 00720037 /* AND DEFINE CRA FUNCTIONS. */ 00740037 /* */ 00760037 /* INCLUDED MACROS = IGGMVEDC */ 00780037 /* IGGMCDCL */ 00800037 /* IGGMCMDM */ 00820037 /* IDAAMDSB */ 00840037 /* IGGMSAWA */ 00860037 /* */ 00880037 /* METHOD OF ACCESS = PL/S - RESPECIFY A BASE FOR SOME STRUCTURES */ 00900037 /* */ 00920037 /* STATUS = VS/2 RELEASE 3 (CHANGE FLAG @Y30SSXX) */ 00940037 /* */ 00960037 /* DATE OF LAST CHANGE = 02 JUL 74 */ 01000037 /* 27 APR 76 @ZA07574*/ 01040037 /* */ 01080037 /********************************************************************/ 01160037 /********************************************************************/ 01240037 /* C O N S T A N T D E C L A R A T I O N S */ 01320037 /********************************************************************/ 01400037 DECLARE 01450037 KEYLENSP FIXED(31) CONSTANT(128), /* MAX KEY LENGTH INFO */ 07000037 MXEXT FIXED(31) CONSTANT(123), /* MAX EXTENTS @XA02392*/ 07500037 UPDVOL CHAR(8) CONSTANT('UPDVOL '), /* UPDATE VOLUME */ 08000037 /* OCCURRENCE */ 08500037 NOAVFPL FIXED(31) CONSTANT(2), /* NO. OF MODIFY FPL'S */ 09000037 CATDSBGC FIXED(31) CONSTANT(1), /* AMDSB GROUP CODE */ 09500037 NOVOLENT FIXED(31) CONSTANT(1), /* NO. OF VOLUME ENTRIES */ 10000037 MXALEX FIXED(31) CONSTANT(5), /* MAX EXTENTS SUBALLOCATE */ 10500037 PRENTNO FIXED(31) CONSTANT(1), /* NO. OF PRLIST ENTRIES */ 11000037 MXM FIXED(31) CONSTANT(256), /* MAX CLEAR */ 11500037 MXEXTC FIXED(31) CONSTANT(16), /* CATALOG MAX EXTENTS */ 12000037 UPWALEN FIXED(31) CONSTANT(512), /* UPDATE WORK AREA LENGTH */ 12500037 NOEXTFPL FIXED(31) CONSTANT(1), /* NO. OF MODIFY FPL'S */ 13000037 EXTENT CHAR(8) CONSTANT('EXTENT '), /* EXTENT NAME */ 13500037 CATVOLGC FIXED(31) CONSTANT(3), /* VOLUME GROUP CODE */ 14000037 ITYPEXT CHAR(8) CONSTANT('ITYPEXT '), /* INDICATOR @Y30SSRS*/ 14500037 /* TYPE OF EXTENT @Y30SSRS*/ 14700037 CNTREPNO CHAR(8) CONSTANT('CNTREPNO'), /* MAXIMUM @Y30SSRS*/ 15000037 /* COUNT OF OCCURR @Y30SSRS*/ 15200037 RELREPNO CHAR(8) CONSTANT('RELREPNO'), /* RELATIVE @Y30SSRS*/ 15500037 /* REPETITION NUMBER @Y30SSRS*/ 15700037 ENTVOL CHAR(8) CONSTANT('ENTVOL '), /* ENTIRE @Y30SSRS*/ 16000037 /* VOLUME OCCURRENCE @Y30SSRS*/ 16200037 AMDSBCAT CHAR(8) CONSTANT('AMDSBCAT'), /* AMDSB @Y30SSRS*/ 16500037 NODAT FIXED(31) CONSTANT(1), /* NO. FPL DATA/RNG PAIR */ 17000037 NOFPLS FIXED(31) CONSTANT(2), /* NO. OF FPL'S */ 17500037 NAME CHAR(8) CONSTANT('NAME '), /* CI NO. @Y30SSRS*/ 18000037 TYPE CHAR(8) CONSTANT('TYPE '), /* ENTRY TYPE */ 18500037 CATCLSID CHAR(1) CONSTANT('C'), /* CLUSTER ID */ 19000037 CATDATID CHAR(1) CONSTANT('D'), /* DATA ID */ 19500037 CATIXID CHAR(1) CONSTANT('I'), /* INDEX ID */ 20000037 NOKEYFPL FIXED(31) CONSTANT(3), /* KEY RANGE EXTEND NO. */ 20500037 NONKYFPL FIXED(31) CONSTANT(1), /* NON-KEY RANGE EXTEND NO. */ 21000037 UPEVOL CHAR(6) BASED(CTGFLPT(1)); /* MAP VOLSER INPUT */ 21500037 /********************************************************************/ 21700037 /* WORK AREA FOR SEARCH VOLUME SUB-FUNCTION */ 22000037 /********************************************************************/ 22100037 DECLARE 22200037 1 UPSVOL BASED(ADDR(IDAAMDSB)+LENGTH(IDAAMDSB)), /* PARAMETERS */ 22500037 2 UPLKEYLN FIXED(15), /* LOW KEY LENGTH */ 23000037 2 UPHKEYLN FIXED(15), /* HIGH KEY LENGTH */ 23500037 2 UPLKEYPT PTR(31), /* LOW KEY POINTER */ 24000037 2 UPHKEYPT PTR(31), /* HIGH KEY POINTER */ 24500037 2 UPVOLSER CHAR(6), /* VOLUME SERIAL NUMBER */ 25000037 2 UPSREL FIXED(15), /* RELATIVE REPETITION @Y30SSRS*/ 25500037 /* NO. (RELREPNO) @Y30SSRS*/ 25550037 2 UPSCNT FIXED(15), /* MAX NO. OF REPETITION @Y30SSRS*/ 26000037 /* NOS. FOR PROCESSING @Y30SSRS*/ 26050037 2 UPSEND CHAR(0); /* WORKAREA END */ 26500037 DECLARE KEYINFO CHAR(1) BASED(R2+UPLKEYPT); /* MAP LOW KEY AREA */ 27000037 DECLARE ENTVOL1 CHAR(256) BASED(ADDR(UPREND)); /* MAP VOL OCCURR */ 27500037 DECLARE ENTVOL2 CHAR(256) BASED(CTGFLPT(1)); /* MAP VOL OCCURR */ 28000037 /********************************************************************/ 28040037 /* MAPPING FOR 'RELREPNO' INFORMATION */ 28080037 /********************************************************************/ 28120037 DECLARE 28160037 1 RELINFO BASED(R3), /* RELREPNO INFORMATION */ 28500037 2 RELREP FIXED(15), /* RELREPNO */ 29000037 2 * CHAR(2); /* ALIGNMENT */ 29500037 /********************************************************************/ 29540037 /* MAPPING FOR EXTENT INFORMATION */ 29580037 /********************************************************************/ 29620037 DECLARE 29660037 1 UPEXT1 BASED(R4), /* EXTENT INFORMATION */ 30000037 2 UPEXTLN1 FIXED(15), /* EXTENT LENGTH */ 30500037 2 UPEXTD2 CHAR(256); /* EXTENT DATA */ 31000037 /********************************************************************/ 31040037 /* MAPPING FOR KEY AREA */ 31080037 /********************************************************************/ 31120037 DECLARE 31160037 1 UPKEY1 BASED(UPLKEYPT), /* MAP KEY AREA */ 31500037 2 UPKEYD1 CHAR(64); /* KEY */ 32000037 /********************************************************************/ 32040037 /* MAPPING FOR KEY AREA */ 32080037 /********************************************************************/ 32120037 DECLARE 32160037 1 UPKEY BASED(R4), /* MAP KEY AREA */ 32500037 2 UPKEYLN FIXED(15), /* KEY LENGTH */ 33000037 2 UPKEYD CHAR(64); /* KEY DATA */ 33500037 DECLARE CLSCINO CHAR(3) BASED(CTGFLPT(1)); /* CLUSTER CI NO. */ 34000037 /********************************************************************/ 34040037 /* MAPPING FOR USER RETURN INFORMATION */ 34080037 /********************************************************************/ 34120037 DECLARE 34160037 1 WKAINFO BASED(CTGWKA), /* MAP USER RETURN INFORMATION */ 34500037 2 * CHAR(4), /* WORK AREA LENGTHS */ 35000037 2 WKARETN, /* RETURN INFORMATION */ 35500037 3 WKAREL FIXED(15), /* OBJECT RELREPNO */ 36000037 3 WKARELSS FIXED(15), /* SEQUENCE SET RELREPNO */ 36500037 3 WKAEXT FIXED(15), /* NO. OF OLD EXTENTS */ 37000037 3 WKAEXTSS FIXED(15); /* NO. OF OLD SEQ. SET EXTENTS */ 37500037 /********************************************************************/ 37504037 /* MAPPING FOR EXTEND INPUT */ 37508037 /********************************************************************/ 37512037 DECLARE 37516037 1 WKAINPUT DEFINED(WKARETN), /* MAP EXTEND INPUT @XA02392*/ 37550037 2 WKAIEXT FIXED(15), /* INDEX NUMBER OF EXTENTS 37600037 @XA02392*/ 37610037 2 WKAICI CHAR(3); /* INDEX CI NO. @XA02392*/ 37650037 @EJECT; 37750037 %INCLUDE SYSLIB(IGGMVEDC); /* VOLUME ENTRY DECLARES */ 38000037 @EJECT; 38200037 /********************************************************************/ 39000037 /* DECLARATION OF UPDATE PARAMETER INFORMATION */ 39500037 /********************************************************************/ 39600037 DECLARE 39700037 1 UPREPARM BASED(CCAR2REC), /* UPDATE EXTEND/RELEASE */ 40500037 2 UPNTCYL FIXED(15), /* NO. TRACKS/CYLINDER */ 41000037 3 UPNIEXT FIXED(15), /* INDEX NO. OF EXTENTS */ 41050037 2 UPICINO CHAR(3), /* INDEX CI NO. @Y30SSRS*/ 41500037 2 UPVCINO CHAR(3), /* VOLUME CI NO. */ 42000037 2 UPFLGS BIT(8), /* FLAGS */ 42500037 3 UPKEYDS BIT(1), /* KEYED DATA SET */ 43000037 3 * BIT(1), /* RESERVED */ 43500037 3 UPSSWD BIT(1), /* SEQUENCE SET WITH DATA */ 44000037 3 UPREPL BIT(1), /* REPLICATION */ 44500037 3 * BIT(1), /* RESERVED */ 45000037 3 UPKRAN BIT(1), /* KEY RANGE */ 45500037 3 * BIT(1), /* RESERVED */ 46000037 3 * BIT(1), /* RESERVED */ 46500037 2 UPFLG2S BIT(16), /* UPDATE FLAGS */ 47000037 3 UPUSSWD BIT(1), /* EXTEND REQUEST */ 47500037 3 UPKREQ BIT(1), /* KEYS EQUAL */ 48000037 3 UPSRCH BIT(1), /* SEARCH FOR VOLUME */ 48500037 3 UPKSET BIT(1), /* KEY RANGE SET */ 49000037 3 UPEXIT BIT(1), /* SEARCH EXIT INDICATOR */ 49500037 3 UPSMFL BIT(1), /* WRITE LSPACE SMF RECORD 69 */ 50000037 2 * CHAR(1), /* RESERVED @Y30SSRS*/ 50500037 2 UPCHIA PTR(32), /* SAVE HI-ALLOCATED RBA */ 51000037 2 UPEXTLN FIXED(15), /* EXTENT LENGTH (EXISTING) */ 51500037 2 UPREND CHAR(0); /* END UPREPARM */ 52000037 /********************************************************************/ 52040037 /* MAPPING FOR VOLUME OCCURRENCE */ 52080037 /********************************************************************/ 52120037 DECLARE 52160037 1 UPENTVOL BASED(ADDR(UPREND)), /* VOLUME OCCURRENCE */ 52500037 2 UPVOLFIX, /* FIXED INFO OF VOLUME */ 53000037 3 UPRLRP FIXED(15), /* RELREPNO */ 53500037 3 UPDEVT CHAR(4), /* DEVICE TYPE */ 54000037 3 UPVOL CHAR(6), /* VOLUME SERIAL */ 54500037 3 UPFLSQ FIXED(15), /* FILE SEQUENCE NUMBER */ 55000037 3 UPVLFLG BIT(8), /* VOLUME FLAGS */ 55500037 4 UPVLPR BIT(1), /* PRIME VOLUME */ 56000037 4 UPVLCN BIT(1), /* CANDIDATE VOLUME */ 56500037 4 UPVLOV BIT(1), /* OVERFLOW VOLUME */ 57000037 4 * BIT(5), /* RESERVED */ 57500037 3 UPNOEXT PTR(8), /* NO. OF EXTENTS */ 58000037 3 UPHKBA PTR(32) BDY(BYTE), /* HI KEY CI VALUE */ 58500037 3 UPHUBA PTR(32) BDY(BYTE), /* HI USED RBA */ 59000037 3 UPHABA PTR(32) BDY(BYTE), /* HI ALLOCATED RBA */ 59500037 3 UPPHYB PTR(32) BDY(BYTE), /* PHYSICAL BLOCK SIZE */ 60000037 3 UPNBTK FIXED(15), /* BLOCKS PER TRACK */ 60500037 3 UPNTKA FIXED(15), /* TRACKS ALLOCATION UNIT */ 61000037 3 UPITEX BIT(8), /* TYPE OF EXTENT */ 61500037 4 UPSSDT BIT(1), /* SEQUENCE SET WITH DATA */ 62000037 4 UPEXTNP BIT(1), /* EXTENTS NOT PRE-FORMATTED */ 62500037 4 * BIT(6), /* RESERVED */ 63000037 3 UPSSDS FIXED(15) BDY(BYTE), /* SS NO. OF DIRECTORY */ 63500037 2 UPVOLVAR, /* VARIABLE VOLUME INFO */ 64000037 3 UPLKLN FIXED(15) BDY(BYTE), /* LOW KEY LENGTH */ 64500037 3 * CHAR(64), /* KEY SPACE */ 65000037 3 UPHKLN FIXED(15) BDY(BYTE), /* HI KEY LENGTH */ 65500037 3 * CHAR(64), /* KEY SPACE */ 66000037 3 UPEXLN FIXED(15) BDY(BYTE), /* EXTENT LENGTH */ 66500037 3 * CHAR(3), /* ALIGNMENT */ 67000037 2 UPEND CHAR(0); /* END OF VOLUME OCCURRENCE */ 67500037 DECLARE CLEAR CHAR(256) BASED(CCAALPTR); /* MAP SUBALL WORK AREA */ 68000037 /********************************************************************/ 68040037 /* MAPPING FOR EXTENT INFORMATION */ 68080037 /********************************************************************/ 68120037 DECLARE 68160037 1 EXTINF1 BASED, /* EXTENT INFORMATION */ 68500037 2 EXTILEN FIXED(15), /* EXTENT INSERT LENGTH */ 69000037 2 EXTINFO(*) BDY(HWORD), /* EXTENT DESCRIPTORS */ 69500037 3 EXTSS FIXED(15), /* SPACE SEQUENCE NUMBER */ 70000037 3 EXTST, /* START CCHH */ 70500037 4 EXTCC1 FIXED(15), /* START CYLINDER */ 71000037 4 EXTHH1 FIXED(15), /* START HEAD */ 71500037 3 EXTEND, /* END CCHH */ 72000037 4 EXTCC2 FIXED(15), /* END CYLINDER */ 72500037 4 EXTHH2 FIXED(15), /* END HEAD */ 73000037 3 EXTTT FIXED(15), /* TOTAL TRACKS */ 73500037 3 EXTDDDD1 PTR(32) BDY(HWORD), /* LOW DDDD */ 74000037 3 EXTDDDD2 PTR(32) BDY(HWORD); /* HIGH DDDD */ 74500037 /********************************************************************/ 74540037 /* MAPPING FOR UPDATE-EXTEND SPACE WORK AREA */ 74580037 /********************************************************************/ 74620037 DECLARE 74660037 1 UPSPARM BASED(CCAR3REC-LENGTH(UPSPARM)), /* SPACE WORKAREA */ 75000037 2 UPSOPT CHAR(1), /* SPACE OPTIONS */ 75500037 2 UPSPQTY CHAR(3), /* SPACE QUANTITY */ 76000037 2 UPSFLG BIT(8), /* SPACE FLAGS */ 76500037 3 UPSUNIQ BIT(1), /* UNIQUE DATA SET */ 77000037 3 UPSEXIT BIT(1), /* SPACE EXIT INDICATOR */ 77500037 3 * BIT(6), /* RESERVED */ 78000037 2 UPDSDIR CHAR(3), /* DATA SET DIRECTORY NUMBER */ 78500037 2 UPUDSNPT PTR(31), /* UNIQUE DATA SET NAME PTR */ 79000037 2 UPMXBLK FIXED(15), /* MAXIMUM BLOCK SIZE */ 79500037 3 UPUCB CHAR(2), /* UCB ADDR OF VOLUME @Y30SSRS*/ 79600037 2 UPCNT FIXED(15), /* MAX NO. OF REPETITION NOS. */ 80000037 /* TO BE PROCESSED (CNTREPNO) */ 80050037 2 UPREL FIXED(15), /* RELATIVE REPETITION NUMBER */ 80500037 /* (RELREPNO) */ 80550037 2 UPNODSP FIXED(15), /* DATA SPACE COUNT */ 81000037 2 UPSPACE CHAR(3), /* SPACE QUANTITY */ 81500037 2 UPSOPT1 CHAR(1), /* SPACE OPTIONS */ 82000037 2 UPCRDT1, /* CREATION DATE */ 82500037 3 UPCRDT, /* YEAR AND DAY */ 83000037 4 UPCRDTY PTR(8), /* YEAR */ 83500037 4 UPCRDTDD FIXED(15) BDY(BYTE), /* DAY */ 84000037 3 UPCRDTF PTR(8), /* SIGN CHARACTER */ 85000037 2 UPSPHDR, /* SPACE HEADER AREA */ 85500037 3 UPSHREL FIXED(15) BDY(BYTE), /* RELREPNO */ 86000037 3 * CHAR(21), /* RESERVED */ 87000037 2 UPDIRSP CHAR(12), /* DATA SET DIRECTORY AREA */ 87500037 3 UPDDREL FIXED(15) BDY(BYTE), /* RELREPNO */ 88000037 3 * CHAR(10), /* RESERVED */ 89000037 2 UPSPWA CHAR(135), /* EXTRACT/MODIFY CPL/FPL AREA */ 89500037 3 UPSTIME CHAR(8), /* S/370 TOD FOR @Y30SSRS*/ 90000037 /* FORMAT-4 UPDATE @Y30SSRS*/ 90050037 2 UPSPD, /* SPACE DESCRIPTOR AREA */ 90500037 3 UPSDREL FIXED(15) BDY(BYTE), /* RELREPNO */ 91000037 3 * CHAR(16), /* RESERVED @ZA07574*/ 92000037 2 * CHAR(1), /* FREE BYTE @ZA07574*/ 92060037 2 UPSECQTY CHAR(3); /* UNIQ SEC ALLOC @ZA07574*/ 92120037 @EJECT; 92200037 %INCLUDE SYSLIB(IGGMCDCL); /* CATALOG COMMON DECLARES */ 92500037 @EJECT; 92700037 %INCLUDE SYSLIB(IGGMCMDM); /* CATALOG RECORD DECLARES */ 93000037 @EJECT; 93200037 %INCLUDE SYSLIB(IDAAMDSB); /* AMDSB */ 93500037 @EJECT; 93700037 %INCLUDE SYSLIB(IGGMSAWA); /* SUBALLOCATE WORK AREA */ 94000037 DCL IDAAMDS1 CHAR(256) BASED(CTGFLPT(1)); /* MOVE AMDSB */ 94500037 RFY IDAAMDSB BASED(ADDR(UPREND)+LENGTH(UPENTVOL)); /* MAP AMDSB */ 96500037