* %GOTO S99PLS1; /* 00050002 MACRO 00060002 IEFZB4D0 00062002 **/ 00070002 *%S99PLS1: ; 00080002 * /*******************************************************************/ 00100002 * /* IEFZB4D0 */ 00100402 * /* MACMEAN IEFZB4D0 MAPS DYNAMIC ALLOCATION (SVC 99) PARAMETER LIST*/ 00100802 * /* MACCOMP Y-2 SC1B4/PZD82 */ 00102002 * /* MACSTAT Y-2 82320/OZ63125 @ZA63125*/ 00104000 * /* */ 00110002 * /* THE PARAMETER LIST CONSISTS OF: */ 00200002 * /* */ 00210002 * /* 1) A REQUEST BLOCK POINTER. THIS IS A FULLWORD CONTAINING THE */ 00250002 * /* ADDRESS OF THE DYNAMIC ALLOCATION REQUEST BLOCK. THE HIGH- */ 00300002 * /* ORDER BIT MUST BE ON. THIS WORD MUST BE LOCATED BY REG. ONE. */ 00350002 * /* */ 00400002 * /* 2) A REQUEST BLOCK. THIS BLOCK IS LOCATED BY THE REQUEST BLOCK */ 00450002 * /* POINTER AND CONTAINS: */ 00500002 * /* . A ONE BYTE FIELD CONTAINING THE LENGTH OF THIS REQUEST */ 00550002 * /* BLOCK. THE LENGTH IS IN BINARY AND HAS A VALUE OF 20. */ 00600002 * /* . A ONE BYTE FIELD CONTAINING A VERB CODE CORRESPONDING TO A */ 00650002 * /* DYNAMIC ALLOCATION FUNCTION. MNEMONIC NAMES FOR THE VERB */ 00700002 * /* CODES ARE CONTAINED IN THIS MACRO. */ 00750002 * /* . TWO BYTES OF FLAGS. */ 00800002 * /* . TWO BYTES IN WHICH DYNAMIC ALLOCATION WILL RETURN AN ERROR */ 00900002 * /* REASON CODE. */ 00950002 * /* . TWO BYTES IN WHICH DYNAMIC ALLOCATION WILL RETURN AN */ 01000002 * /* INFORMATIONAL REASON CODE. */ 01050002 * /* . A FULLWORD CONTAINING THE ADDRESS OF A LIST OF POINTERS TO */ 01100002 * /* TEXT UNITS. */ 01150002 * /* . FOUR RESERVED BYTES OF BINARY ZEROES. */ 01200002 * /* . FOUR BYTES OF FLAGS FOR AUTHORIZED FUNCTIONS. */ 01250002 * /* */ 01300002 * /* 3) A LIST OF FULLWORDS CONTAINING THE ADDRESSES OF TEXT UNITS. */ 01350002 * /* A WORD WITH A VALUE OF ZERO IS IGNORED. THE LAST WORD IN THE */ 01400002 * /* LIST MUST HAVE THE HIGH ORDER BIT ON. */ 01450002 * /* */ 01500002 * /* 4) TEXT UNITS. A TEXT UNIT CONSISTS OF: */ 01550002 * /* . A TWO BYTE FIELD CONTAINING A KEY WHICH IDENTIFIES THE */ 01600002 * /* INFORMATION IN THIS TEXT UNIT. A TEXT UNIT HAVING A KEY */ 01650002 * /* WITH A VALUE OF ZERO IS IGNORED. THE MACRO IEFZB4D2 LISTS */ 01700002 * /* MNEMONIC NAMES FOR THE VALUES OF THE KEYS. */ 01750002 * /* . A TWO BYTE FIELD WHICH CONTAINS THE NUMBER OF LENGTH/PARA- */ 01800002 * /* METER ENTRIES WHICH FOLLOW. A VALUE OF ZERO INDICATES NO */ 01850002 * /* ENTRIES FOLLOW. */ 01900002 * /* . A TWO BYTE FIELD WHICH CONTAINS THE LENGTH OF THE IMMED- */ 01950002 * /* IATELY FOLLOWING PARAMETER. */ 02000002 * /* . A PARAMETER. */ 02050002 * /* */ 02100002 * /*******************************************************************/ 02150002 * %GOTO S99PLS2; /* 02160002 *********************************************************************** 40298202 * SVC 99 INPUT REQUEST BLOCK 40324102 *********************************************************************** 40350002 S99RBP DSECT 40400002 S99RBPTR DS F REQUEST BLOCK POINTER 40420002 S99RBPND EQU X'80' LAST POINTER INDICATOR 40430002 S99RB DSECT REQUEST BLOCK 40440002 DS 0F 40450002 S99RBLN DS CL1 LENGTH OF REQUEST BLOCK 40500002 S99VERB DS CL1 VERB CODE 40550002 S99VRBAL EQU X'01' ALLOCATION 40560002 S99VRBUN EQU X'02' UNALLOCATION 40570002 S99VRBCC EQU X'03' CONCATENATION 40580002 S99VRBDC EQU X'04' DECONCATENATION 40590002 S99VRBRI EQU X'05' REMOVE IN-USE 40592002 S99VRBDN EQU X'06' DDNAME ALLOCATION 40594002 S99VRBIN EQU X'07' INFORMATION RETRIEVAL 40596002 S99FLAG1 DS 0CL2 FLAGS 40600002 S99FLG11 DS CL1 FIRST FLAGS BYTE 40602002 S99ONCNV EQU X'80' ALLOC FUNCTION-DO NOT USE AN 40610002 * EXISTING ALLOCATION THAT DOES 40620002 * NOT HAVE THE CONVERTIBLE 40630002 * ATTRIBUTE TO SATISFY A REQUEST 40640002 S99NOCNV EQU X'40' ALLOC FUNCTION-DO NOT USE AN 40642002 * EXISTING ALLOCATION TO SATISFY 40644002 * THE REQUEST 40646002 S99NOMNT EQU X'20' ALLOC FUNCTION-DO NOT MOUNT 40646402 * VOLUMES OR CONSIDER OFFLINE 40646802 * UNITS (THIS FLAG OVERRIDES 40647202 * S99MOUNT AND S99OFFLN BELOW) 40647602 S99JBSYS EQU X'10' ALLOC FUNC-JOB RELATED SYSOUT 40647802 S99CNENQ EQU X'08' ALL FUNCTIONS-ISSUE A @ZA32641 40648000 * CONDITIONAL ENQ ON TIOT @ZA32641 40648100 * RESOURCE. IF NOT @ZA32641 40648200 * AVAILABLE, RETURN AN @ZA32641 40648300 * ERROR CODE TO USER. @ZA32641 40648400 S99FLG12 DS CL1 SECOND BYTE OF FLAGS 40649000 S99RSC DS 0CL4 REASON CODE FIELDS 40650002 S99ERROR DS XL2 ERROR REASON CODE 40700002 S99INFO DS XL2 INFORMATION REASON CODE 40750002 S99TXTPP DS F ADDR OF LIST OF TEXT UNIT PTRS 40800002 S99RSV01 DS F RESERVED 40850002 S99FLAG2 DS 0CL4 FLAGS FOR AUTHORIZED FUNCTIONS 40860002 S99FLG21 DS CL1 FIRST BYTE OF FLAGS 40862002 S99WTVOL EQU X'80' ALLOC FUNCTION-WAIT FOR 40870002 * VOLUMES 40872002 S99WTDSN EQU X'40' ALLOC FUNCTION-WAIT FOR DSNAME 40880002 S99NORES EQU X'20' ALLOC FUNCTION-DO NOT DO 40890002 * DATA SET RESERVATION 40892002 S99WTUNT EQU X'10' ALLOC FUNCTION-WAIT FOR UNITS 40894002 S99OFFLN EQU X'08' ALLOC FUNCTION-CONSIDER OFFLINE 40896002 * UNITS 40898002 S99TIONQ EQU X'04' ALL FUNCTIONS-TIOT ENQ ALREADY 40898902 * DONE 40899002 S99CATLG EQU X'02' ALLOC FUNCTION-SET SPECIAL 40899102 * CATALOG DATA SET INDICATORS 40913502 S99MOUNT EQU X'01' ALLOC FUNCTION-MAY MOUNT VOLUME 40920502 S99FLG22 DS CL1 SECOND BYTE OF FLAGS 40928002 S99UDEVT EQU X'80' ALLOCATION FUNCTION-UNIT NAME 40932002 * PARM IS A DEVICE TYPE 40936002 S99PCINT EQU X'40' ALLOC FUNCTION-ALLOC @Y30QPPB 40937003 * PRIVATE CATALOG TO @Y30QPPB 40938003 * INITIATOR @Y30QPPB 40939003 S99DYNDI EQU X'20' ALLOC FUNCTION-NO JES3 @ZA63125 40940100 * DSN INTEGRITY PROCESS @ZA63125 40941200 S99FLG23 DS CL1 THIRD BYTE OF FLAGS 40942402 S99FLG24 DS CL1 FOURTH BYTE OF FLAGS 40956802 S99RBEND EQU * END MARKER 40971202 *********************************************************************** 40985602 * SVC 99 TEXT UNIT POINTER LIST 41000002 *********************************************************************** 41100002 S99TUPL DSECT TEXT UNIT POINTER LIST 41200002 S99TUPTR DS F TEXT UNIT POINTER 41250002 S99TUPLN EQU X'80' LAST TEXT UNIT POINTER IN LIST 41300002 *********************************************************************** 41360002 * SVC 99 TEXT UNIT 41380002 *********************************************************************** 41400002 S99TUNIT DSECT TEXT UNIT 41500002 S99TUKEY DS XL2 KEY 41550002 S99TUNUM DS XL2 N0. OF LENGTH+PARAMETER ENTRIES 41600002 S99TUENT DS 0C ENTRY OF LENGTH+PARAMETER 41610002 S99TULNG DS XL2 LENGH OF 1ST (OR ONLY) PARAMETER 41620002 S99TUPAR DS C 1ST (OR ONLY) PARAMETER 41630002 * THE FOLLOWING DSECT IS PROVIDED FOR USE WITH MULTIPLE 41640002 * LENGTH/PARAMETER ENTRIES TO ALLOW ZERO DISPLACEMENT TO THE 41642002 * LENGTH FIELD 41644002 S99TUFLD DSECT 41650002 S99TULEN DS XL2 LENGTH OF PARAMETER 41700002 S99TUPRM DS C PARAMETER 41750002 MEND , */ 41800002 *%S99PLS2: ; 41850002 * /*******************************************************************/ 41950002 * /* N O T E */ 42000002 * /* */ 42020002 * /* THE REQUEST BLOCK, S99RB, AND THE REQUEST BLOCK POINTER, */ 42030002 * /* S99RBPTR, DEFAULT TO NON-BASED STRUCTURES. */ 42032002 * /* TO GIVE S99RBPTR A BASED ATTRIBUTE, CODE: */ 42034002 * /* %S99BASE1 = 'BASED'; */ 42036002 * /* TO GIVE S99RB A BASED ATTRIBUTE, CODE: */ 42040602 * /* %S99BASE2 = 'BASED'; OR */ 42042602 * /* %S99BASE2 = 'BASED(S99RBPTR)'; */ 42044602 * /* */ 42045002 * /* SVC 99 INPUT REQUEST BLOCK */ 42045402 * /*******************************************************************/ 42050002 * %IF S99BASE1 = '' %THEN %S99BASE1 = ' '; /* DEFAULT IF NOT SET */ 42052002 * %IF S99BASE2 = '' %THEN %S99BASE2 = ' '; 42054002 * DCL 42060002 * 1 S99RBPTR PTR(31) S99BASE1, /* POINTER TO REQUEST BLOCK */ 42070002 * 2 S99RBPND BIT(1); /* LAST POINTER INDICATOR */ 42080002 * DCL 42100002 * 1 S99RB S99BASE2, /* REQUEST BLOCK */ 42150002 * 2 S99RBLN CHAR(1), /* LENGTH OF REQUEST BLOCK */ 42250002 * 2 S99VERB CHAR(1), /* VERB CODE */ 42300002 * 2 S99FLAG1 CHAR(2), /* FLAGS */ 42350002 * 3 S99FLG11 CHAR(1), /* FIRST BYTE OF FLAGS */ 42360002 * 4 S99ONCNV BIT(1), /* ALLOC FUNCTION-DON'T USE 42370002 * AN EXISTING ALLOCATION THAT 42380002 * DOES NOT HAVE THE CON- 42390002 * VERTIBLE ATTRIBUTE TO 42392002 * SATISFY THE REQUEST */ 42394002 * 4 S99NOCNV BIT(1), /* ALLOC FUNCTION-DON'T USE AN 42396002 * EXISTING ALLOCATION TO 42398002 * SATISFY THE REQUEST */ 42398402 * 4 S99NOMNT BIT(1), /* ALLOC FUNCTION-DO NOT MOUNT 42398502 * VOLUMES OR CONSIDER OFFLINE 42398602 * UNITS - THIS FLAG OVERRIDES 42398702 * S99MOUNT AND S99OFFLN BELOW*/ 42398802 * 4 S99JBSYS BIT(1), /* ALLOC FUNC-JOB RELATED 42401800 * SYSOUT @ZA63446*/ 42402800 * 4 S99CNENQ BIT(1), /* ALL FUNCTIONS-ISSUE A 42404800 * CONDITIONAL ENQ ON THE TIOT 42405400 * RESOURCE. IF NOT AVAILABLE, 42406000 * RETURN AN ERROR CODE TO 42406600 * THE USER. @ZA32641*/ 42407200 * 3 S99FLG12 CHAR(1), /* SECOND BYTE OF FLAGS */ 42408802 * 2 S99RSC CHAR(4), /* REASON CODE FIELDS */ 42418802 * 3 S99ERROR CHAR(2), /* ERROR REASON CODE */ 42450002 * 3 S99INFO CHAR(2), /* INFORMATION REASON CODE */ 42500002 * 2 S99TXTPP PTR(31), /* ADDR OF LIST OF TEXT UNIT 42550002 * POINTERS */ 42600002 * 2 S99RSV01 FIXED(31), /* RESERVED */ 42620002 * 2 S99FLAG2 CHAR(4), /* FLAGS FOR AUTH. FUNCTIONS */ 42622002 * 3 S99FLG21 CHAR(1), /* FIRST BYTE OF FLAGS */ 42622402 * 4 S99WTVOL BIT(1), /* ALLOC FUNCTION-WAIT FOR 42624002 * VOLUMES */ 42624402 * 4 S99WTDSN BIT(1), /* ALLOC FUNCTION-WAIT FOR 42626002 * DSNAME */ 42628002 * 4 S99NORES BIT(1), /* ALLOC FUNCTION- DON'T DO 42628402 * DATA SET RESERVATION */ 42628802 * 4 S99WTUNT BIT(1), /* ALLOC FUNCTION-WAIT FOR 42629202 * UNITS */ 42629602 * 4 S99OFFLN BIT(1), /* ALLOC FUNCTION-CONSIDER 42629702 * OFFLINE UNITS */ 42629802 * 4 S99TIONQ BIT(1), /* ALL FUNCTIONS-TIOT ENQ 42635302 * ALREADY DONE */ 42635402 * 4 S99CATLG BIT(1), /* ALLOC FUNCTION-SET SPECIAL 42635502 * CATALOG DATA SET INDICATORS*/ 42640102 * 4 S99MOUNT BIT(1), /* ALLOC FUNCTION - MAY 42641102 * MOUNT VOLUMES */ 42642102 * 3 S99FLG22 CHAR(1), /* SECOND BYTE OF FLAGS */ 42644802 * 4 S99UDEVT BIT(1), /* ALLOC FUNCTION-UNIT NAME 42645802 * PARM IS A DEVICE TYPE */ 42646802 * 4 S99PCINT BIT(1), /* ALLOC FUNCTION-ALLOC 42647403 * PRIVATE CATALOG TO 42648003 * INITIATOR @Y30QPPB*/ 42648603 * 4 S99DYNDI BIT(1), /* ALLOC FUNCTION-NO JES3 42648800 * DSN INTEGRITY PROCESSING 42649000 * @ZA63125*/ 42649200 * 3 S99FLG23 CHAR(1), /* THIRD BYTE OF FLAGS */ 42649402 * 3 S99FLG24 CHAR(1); /* FOURTH BYTE OF FLAGS */ 42654002 * DCL /* VERB FUNCTION CODES */ 42658602 * S99VRBAL BIT(8) CONSTANT('01'X), /* ALLOCATION */ 42663202 * S99VRBUN BIT(8) CONSTANT('02'X), /* UNALLOCATION */ 42667802 * S99VRBCC BIT(8) CONSTANT('03'X), /* CONCATENATION */ 42672402 * S99VRBDC BIT(8) CONSTANT('04'X), /* DECONCATENATION */ 42677002 * S99VRBRI BIT(8) CONSTANT('05'X), /* REMOVE IN-USE */ 42681602 * S99VRBDN BIT(8) CONSTANT('06'X), /* DDNAME ALLOCATION */ 42686202 * S99VRBIN BIT(8) CONSTANT('07'X); /* INFORMATION RETRIEVAL */ 42690802 * /*******************************************************************/ 42695402 * /* SVC 99 TEXT UNIT POINTER LIST */ 42700002 * /*******************************************************************/ 42750002 * DCL 42800002 * 1 S99TUPL (*) BASED(S99TXTPP), /* TEXT UNIT POINTER LIST */ 42850002 * 2 S99TUPTR PTR(31), /* TEXT UNIT POINTER */ 42900002 * 3 S99TUPLN BIT(1); /* ON FOR LAST TEXT UNIT PTR */ 42950002 * DCL 42960002 * 1 S99TUP PTR(31) BASED, /* ONE ELEMENT IN TEXT UNIT 42970002 * POINTER LIST */ 42980002 * 2 S99TUPND BIT(1); /* ON WHEN THIS IS LAST TEXT 42992002 * UNIT POINTER */ 42994002 * /*******************************************************************/ 43000002 * /* SVC 99 TEXT UNIT */ 43050002 * /*******************************************************************/ 43100002 * DCL 43150002 * 1 S99TUNIT BASED(S99TUP), /* TEXT UNIT */ 43200002 * 2 S99TUKEY CHAR(2), /* KEY */ 43250002 * 2 S99TUNUM FIXED(15) BDY(BYTE), /* NO. OF LENGTH+PARM ENTRIES */ 43300002 * 2 S99TUENT, /* TEXT ENTRY OF LENGTH+PARM */ 43350002 * 3 S99TULNG FIXED(15) BDY(BYTE), /* LENGTH OF 1ST (ONLY) PARM */ 43360002 * 3 S99TUPAR CHAR(*); /* 1ST (OR ONLY) PARAMETER */ 43370002 * /* THE FOLLOWING DECLARE IS PROVIDED FOR USE WITH MULTIPLE */ 43380002 * /* LENGTH/PARAMETER ENTRIES TO ALLOW ZERO DISPLACEMENT TO THE */ 43390002 * /* LENGTH FIELD */ 43392002 * DCL 43400002 * 1 S99TUFLD BASED(S99TUFP), /* TEXT ENTRY OF LENGTH+PARM */ 43450002 * 2 S99TULEN FIXED(15) BDY(BYTE), /* LENGTH OF FOLLOWING PARM */ 43500002 * 2 S99TUPRM CHAR(*); /* PARAMETER */ 43550002