* /* START OF SPECIFICATIONS **** 00060000 * 00070000 *01* MODULE-NAME = USSCMD 00080000 * 00090000 *01* DESCRIPTIVE-NAME = USS ALTERNATE COMMAND DEFINITION MACRO 00092000 * 00094000 *01* COPYRIGHT = NONE 00096000 * 00098000 *01* STATUS = RELEASE 2 00098400 * 00098800 *01* FUNCTION = THIS MACRO IS USED TO GENERATE A VPB (CMD PROCESSING 00099200 * BLOCK) WITH INFO REQUIRED FOR AN ALTERNATE COMMAND 00099300 * THE BLOCK CONTAINS 4 POINTERS, CHAIN, CHARACTER STRING, 00099600 * REPLACEMENT STRING, 1ST PARM PROCESSING BLOCK(OPTIONAL) 00099700 * 00099800 *02* CHARACTER-CODE-DEPENDENCIES = NONE 00099900 * 00100000 *02* DEPENDENCIES= NONE 00116600 * 00126600 *02* RESTRICTIONS = NONE 00128600 * 00130600 *02* REGISTER-CONVENTIONS = NONE 00132600 * 00133000 *02* PATCH-LABEL = NONE 00133100 * 00133200 *01* MODULE-TYPE = MACRO 00138800 * 00140800 *02* PROCESSOR = ASSEM-370R 00142800 * 00143200 *02* MACRO-SIZE = 35 STATEMENTS 00143600 * 00144000 *02* ATTRIBUTES = LIST-EXEC 00144100 * 00144200 *01* ENTRY-POINT = NA 00144300 * 00158200 *01* EXIT-NORMAL = NA 00168200 * 00170200 *01* EXIT-ERROR = NA 00170600 * 00171000 *01* EXTERNAL-REFERENCES = NONE 00171400 * 00171800 *01* TABLES = VPB (USS COMMAND PROCESSING BLOCK) 00171900 * 00172000 *01* INNER-MACROS = USSEND 00172100 * 00176700 *01* SYSTEM-MACROS = NONE 00178700 * 00180700 *01* CHANGE-ACTIVITY = AS-FOLLOWS 00181100 * NEW MACRO - FIRST RELEASE 32 DOS/VS 00181200 * 04 OS/VS1 00181300 * 03 OS/VS2 00181400 * APAR OZ26263 ADDITIONAL VALIDITY CHECKS @ZA26263 00183400 **** END OF SPECIFICATIONS ***/ 00186000 MACRO 00188100 &LABEL USSCMD &CMD=,&REP=,&FORMAT=PL1 00190800 GBLC &Q USSEND OUTPUT VARIABLE 00195400 GBLC &T USSEND OUTPUT VARIABLE 00200000 GBLC &N STATEMENT LABEL PREFIX 00250000 GBLB &B SWITCH FOR USSCMD SPECIFIED 00300000 GBLB &Z SWITCH FOR USSTAB SPECIFIED 00320000 LCLC &R INTERNAL LABEL VARIABLE 00350000 LCLC &F INTERNAL FORMAT VARIABLE 00400000 AIF (&Z EQ 1).SQ005 00410000 SPACE 1 00420000 MNOTE 4,'USSTAB MACRO NOT SPECIFIED' 00430000 .SQ005 ANOP 00440000 AIF ('&CMD' NE '').SQ010 00450000 SPACE 1 00500000 MNOTE 4,'&N.001 CMD= PARAMETER OMITTED' 00550000 .SQ010 ANOP 00600000 &F SETC '80' SET FOR FORMAT=BAL 00650000 AIF ('&FORMAT' EQ 'BAL').SQ020 00700000 &F SETC '00' SET FOR FORMAT=PL1 00750000 AIF ('&FORMAT' EQ 'PL1').SQ020 00800000 SPACE 1 00850000 MNOTE 4,'&N.000 FORMAT= PARAMETER INVALID' 00900000 .SQ020 USSEND INC=P INCREMENT USSPARM COUNTER 00950000 &R SETC '&Q' SAVE USSPARM COUNTER 01000000 AIF (&B EQ 0).SQ030 01050000 SPACE 1 01100000 &N.P&T EQU 0 END USSPARM BLOCK QUEUE 01150000 .SQ030 SPACE 1 01200000 &B SETB 1 INDIC USSCMD SPECIFIED 01250000 &LABEL DC 0F'0' ALIGN ON FULLWORD BOUNDARY 01300000 USSEND INC=C INCREMENT USSCMD COUNTER 01350000 &N.C&T DC A(&N.C&Q) ADDR NEXT USSCMD BLOCK 01400000 DC X'&F',AL3(&N.V&T) ADDR VERB CHAR STRING 01450000 DC A(&N.R&T) ADDR REPLACEMENT STRING 01500000 DC A(&N.P&R) ADDR FIRST USSPARM BLOCK 01550000 &N.V&T USSEND GEN=&CMD,NAME=&N.W&T 01600000 &N.R&T USSEND GEN=&REP,NAME=&N.S&T,OMIT=&N.V&T 01650000 SPACE 1 01700000 MEND 01750000