*/*A000000-999999 @Z67SP00*/ 00000114 *%GOTO UXPPLS00; /* SKIP OVER ASSEMBLER VERSION 00000314 MACRO 00000614 HMASMUXP &UXPALL=Y,&UXPMAIN=N,&UXPRTN=N,&UXP001=N 00000914 LCLC &UXPLALL 00001014 GBLB &UXPSW1 00001114 AIF ('&UXPMAIN' EQ 'Y').UXPLB00 00001214 AIF ('&UXPRTN' EQ 'Y').UXPLB00 00001514 AIF ('&UXP001' EQ 'Y').UXPLB00 00001814 &UXPLALL SETC 'Y' 00002114 AGO .UXPLB02 00002414 .UXPLB00 ANOP 00002514 &UXPLALL SETC 'N' 00002614 .UXPLB02 ANOP 00002714 AIF ('&UXPSW1' EQ '1').UXPLB01 00003014 &UXPSW1 SETB 1 00003314 *********************************************************************** 00003614 * * 00003914 * HMASMUXP - HMASMP USER EXIT INTERFACE PARAMETER MAPPING * 00004214 * * 00004514 *********************************************************************** 00004814 * * 00005114 * THIS MACRO MAPS THE PARAMETER LIST THAT HMASMP USES TO INTERFACE * 00005414 * WITH ALL ITS SUPPORTED USER EXITS. * 00005714 * THE MACRO IS DIVIDED UP INTO MULTIPLE DSECTS, ONE FOR THE * 00006014 * COMMON PARAMETER LIST, AND ONE FOR EACH USER EXIT WITH A * 00006314 * SPECIFIC PARAMETER FOR THAT EXIT. THE EXPANSION IS CONTROLLED * 00006614 * BY THE FOLLOWING PARAMETERS THAT MAY BE SET TO Y OR N * 00006914 * * 00007214 * ..NAME.. DEFAULT MEANING * 00007514 * UXPALL Y EXPANSION TO INCLUDE ALL DSECTS * 00007814 * UXPMAIN N EXPANSION TO INCLUDE MAIN SECTION * 00008114 * UXPRTN N EXPANSION TO INCLUDE RETURN CODES * 00008414 * UXP001 N EXPANSION TO INCLUDE EXIT 001 PARM * 00008714 * * 00009014 * ONLY THOSE RETURN CODES DEFINED WITHIN THIS MACRO WILL BE * 00009314 * ACCEPTED BY HMASMP. ANY OTHER CODE WILL RESULT IN AN ERROR. * 00009614 * * 00009914 * TO ESTABLISH ADDRESSIBILITY FOR ANY SECTION THE FOLLOWING * 00010214 * SHOULD BE DONE UPON ENTRY * 00010514 * * 00010814 * L REGA,0(REG1) LOAD ADDRESS OF HMASMUXP * 00011114 * USING HMASMUXP,REGA ADDRESSIBILITY FOR HMASMUXP * 00011414 * L REGB,UXPPRMAD LOAD ADDRESS OF PARM FOR SPECIFIC EXIT * 00011714 * USING UXNNNPRM,REGB ADDRESSIBILITY FOR SPECIFIC PARM FOR * 00012014 * THIS EXIT. NNN IS EXIT NUMBER * 00012314 * * 00012614 * * 00012914 *********************************************************************** 00013214 .UXPLB01 ANOP 00013514 AIF ('&UXPLALL' EQ 'Y').UXPMN00 00013814 AIF ('&UXPMAIN' NE 'Y').UXPMN99 00014114 .UXPMN00 ANOP 00014414 HMASMUXP DSECT 00014714 UXPUXNUM DS H USER EXIT NUMBER 00015014 DS CL2 RESERVED 00015314 UXPUXNAM DS CL8 USER EXIT LMOD NAME(IF AVAILABLE) 00015614 UXPUXAD DS F USER EXIT ADDRESS (IF AVAILABLE) 00015914 UXPFUNCT DS CL8 SMP FUNCTION IN PROCESS 00016214 UXPPRMAD DS F ADDRESS OF PARAMETER FOR SPECIFIC 00016514 * EXIT IDENTIFIED BY UXPUXNUM 00016814 UXPLOJAD DS F WORK AREA FOR COMMUNICATIONS FOR 00017114 * LIFE OF SMP JOB. AREA IS 00017414 * INITIALIZED TO ZERO BEFORE 00017714 * FIRST USER EXIT CALL AND THEN NOT 00018014 * MODIFIED AGAIN BY HMASMP. 00018314 UXPLOEAD DS F WORK AREA FOR COMMUNICATIONS FOR 00018614 * LIFE OF EXIT. AREA IS INITIALIZED 00018914 * TO ZERO BEFORE FIRST CALL AFTER 00019214 * EACH LOGICAL LOAD OF THE EXIT AND 00019514 * THEN NOT MODIFIED AGAIN BY HMASMP. 00019814 DS F RESERVED 00020114 DS F RESERVED 00020414 ********* END OF HMASMUXP MAPPING 00020714 .UXPMN99 ANOP 00021014 AIF ('&UXPLALL' EQ 'Y').UXPRC00 00021314 AIF ('&UXPRTN' NE 'Y').UXPRC99 00021614 .UXPRC00 ANOP 00021914 *********************************************************************** 00022214 * * 00022514 * RETURN CODE DEFINITIONS * 00022814 * * 00023114 *********************************************************************** 00023414 * * 00023714 * THESE RETURN CODES ARE ACCEPTABLE FROM ALL HMASMP EXITS * 00024014 * * 00024314 UXPGOOD EQU 0 EXIT PROCESSED NORMALLY 00024614 UXPTPTF EQU 8 TERMINATE SYSMOD IN PROCESS 00024914 UXPTFUNC EQU 12 TERMINATE FUNCTION IN PROCESS 00025214 UXPTSMP EQU 16 TERMINATE SMP 00025514 * THESE RETURN CODES ARE ACCEPTABLE FOR ONLY SPECIFIC EXITS 00025814 * SEE EACH EXIT FOR DEFINITION OF ADDITIONAL RETURN CODES 00026114 UXPADD EQU 20 ADD A RECORD 00026414 UXPDEL EQU 24 DELETE A RECORD 00026714 ******** END OF UXP RETURN CODE DEFINITIONS 00026814 .UXPRC99 ANOP 00027014 AIF ('&UXPLALL' EQ 'Y').UXP0100 00027314 AIF ('&UXP001' NE 'Y').UXP0199 00027614 .UXP0100 ANOP 00027914 *********************************************************************** 00028214 * * 00028514 * HMASMP EXIT 001 - RECEIVE SMPPTFIN SCAN EXIT * 00028814 * * 00029114 * FUNCTION - RECEIVE TIME EXIT TO LOOK AT ALL SMPPTFIN * 00029414 * INPUT CARDS PRIOR TO PROCESSING BY HMASMP * 00029714 * RTN CODE - IN ADDITION TO STANDARD * 00030014 * UXPADD - RETURN TO USER EXIT AFTER PROCESSING * 00030314 * CURRENT RECORD. EXIT WILL PUT NEXT RECORD * 00030614 * INTO BUFFER. * 00030914 * UXPDEL - DO NOT PROCESS CURRENT RECORD. READ NEXT * 00031214 * RECORD AND RETURN TO EXIT. * 00031514 * NOTES - WHEN HMASMP HITS END OF FILE ON SMPPTFIN IT WILL SET * 00031814 * UX001RC TO UX001EOF AND CALL EXIT. THE EXIT MAY * 00032114 * ADD RECORDS AFTER END OF FILE BY SETTING THE * 00032414 * RETURN CODE TO UXPADD AND RETURNING. AT THE NEXT * 00032714 * ENTRY THE EXIT MAY START TO ADD RECORDS. * 00033014 * * 00033314 *********************************************************************** 00033614 UXPUX001 EQU 1 VALUE FOR UXPUXNUM TO IDENTIFY 00033914 * REQUEST FOR RECEIVE USER EXIT 00034214 UX001PRM DSECT 00034514 UX001RC DS CL1 CODE INDICATOR SET TO UX001EOF AT 00034814 * END OF FILE ELSE SET TO 0 00035114 UX001RCD DS CL80 SMPPTFIN RECORD 00035414 UX001EOF EQU 4 END OF FILE CODE FOR UX001RC 00035714 ********* END OF UXPUX001 MAPPING 00035914 .UXP0199 ANOP . . 00036314 MEND END OF ASSEMBLER VERSION */ 00036614 *%UXPPLS00: ; 00039614 *@EJECT; /* */ 00048014 */********************************************************************/ 00050014 */* */ 00100014 */* HMASMUXP - PARAMETER LIST TO HMASMP USER EXIT ROUTINES */ 00150014 */* */ 00200014 */********************************************************************/ 00250014 */* */ 00300014 */* THIS MACRO IS USED BY HMASMP TO INTERFACE WITH THE SMP */ 00350014 */* INTERFACE ROUTINE TO THE USER EXITS AND FOR THE */ 00400014 */* INTERFACE ROUTINE TO CALL THE USER EXIT ROUTINE. */ 00450014 */* */ 00500014 */* THE LISTS POINTED TO BY UXPCTBAD AND UXPMODAD ARE INTENDED */ 00550014 */* FOR FUTURE USE TO POINT TO THE INTERNAL SMP CONTROL */ 00600014 */* BLOCKS AND SMP MODULES ACCESSIBLE BY THE USER. */ 00650014 */* AT PRESENT NO SUPPORT IS AVAILABLE AND THESE ADDRESSES */ 00700014 */* WILL BE SET TO ZERO. */ 00750014 */* */ 00800014 */* ONLY THOSE RETURN CODES DEFINED WITHING THIS MACRO WILL BE */ 00850014 */* ACCEPTED BY HMASMP. IF ANY OTHER VALUES IS RETURNED */ 00900014 */* HMASMP WILL ISSUE AN ERROR MESSAGE AND TERMINATE THE */ 00950014 */* CURRENT FUNCTION. */ 01000014 */* */ 01050014 */* THE EXPANSION OF THIS MACRO IS CONTROLLED BY THE FOLLOWING */ 01100014 */* PLS MACRO VARIABLES. */ 01150014 */* */ 01200014 */* UXP_ALL - REQUEST FOR ALL PARMS FOR ALL USER EXIT ROUTINES */ 01250014 */* SET TO -YES- INDICATE ALL REQUEST. */ 01258014 */* THE EXPANSION WILL THEN INCLUDE ALL OF FOLLOWING */ 01266014 */* UXP_MAIN - REQUEST FOR MAIN MAPPING OF PARM TO ACTUAL */ 01274014 */* USER EXIT */ 01282014 */* UXP_RTN - REQUEST FOR EXPANSION OF VALID RETURN CODE */ 01290014 */* CONSTANTS. */ 01298014 */* UXP_001 - REQUEST FOR MAPPING OF PARM FOR RECEIVE EXIT */ 01306014 */* SET TO -YES- INDICATE REQUEST FOR ONLY THE */ 01324014 */* PARAMETER LIST AND VALUE DECLARE FOR THE */ 01327014 */* RECEIVE USER EXIT ( SMP EXIT 001 ) */ 01330014 */* */ 01333014 */* NOTE... - AT LEAST ONE OF THE ABOVE VARIABLES MUST */ 01333714 */* BE SET */ 01334414 */* */ 01335114 */* UXP_XXX_BASE - FOR EACH OF THE ABOVE SECTIONS THERE IS */ 01336014 */* AN ADDITIONAL VARIABLE TO CONTROL THE */ 01346014 */* ATTRIBUTES OF THE EXPANSION. XXX IS EQUAL TO */ 01356014 */* THE SECOND QUALIFIER OF THE ABOVE VARIABLES. */ 01366014 */* */ 01376014 */********************************************************************/ 01386014 *%IF UXP_MAIN_BASE='' /* */ 01396014 * %THEN /* */ 01426014 * %UXP_MAIN_BASE=UXP_ALL_BASE; /* */ 01456014 *%IF UXP_ALL='YES' /* IF REQUEST FOR ALL PARTS */ 01486014 * %THEN /* */ 01516014 * %GOTO UXPMN01; /* */ 01546014 *%IF UXP_MAIN='YES' /* IF REQUEST FOR MAIN SEGMENT */ 01576014 * %THEN /* */ 01606014 * %GOTO UXPMN01; /* */ 01636014 *%GOTO UXPMN99; /* */ 01666014 *%UXPMN01: ; /* */ 01696014 * DECLARE /* */ 01726014 * 1 HMASMUXP BDY(WORD) 01756014 * UXP_MAIN_BASE 01786014 * , /* */ 01850014 * 3 UXPUXNUM FIXED(15), /* USER EXIT IDENTIFICATION */ 01900014 * 3 * CHAR(2), /* UNUSED */ 01930014 * 3 UXPUXNAM CHAR(8), /* USER EXIT NAME */ 01960014 * 3 UXPUXAD PTR(31), /* USER EXIT ADDRESS */ 01990014 * 3 UXPFUNCT CHAR(8), /* SMP FUNCTION IN PROCESS */ 02020014 * 3 UXPPRMAD PTR(31), /* ADDR OF USER EXIT PARM LIST */ 02100014 * 3 UXPLOJAD PTR(31), /* FOR USE BY USER EXITS */ 02150014 * 3 UXPLOEAD PTR(31), /* FOR USE BY USER EXITS */ 02180014 * 3 UXPCTBAD PTR(31), /* ADDR OF SMP CONTROL BLOCKS */ 02250014 * 3 UXPMODAD PTR(31); /* ADDR OF SMP MODULES */ 02300014 *%UXPMN99: ; /* */ 02350014 *%IF UXP_ALL='YES' /* IF REQUEST FOR ALL PARTS */ 02350814 * %THEN /* */ 02351614 * %GOTO UXPRTN01; /* */ 02352414 *%IF UXP_RTN='YES' /* IF REQUEST FOR RETURN CODES */ 02353214 * %THEN /* */ 02354014 * %GOTO UXPRTN01; /* */ 02354814 *%GOTO UXPRTN99; /* */ 02355614 *%UXPRTN01: ; /* */ 02358014 * /*****************************************************************/ 02370014 * /* */ 02372014 * /* THESE ARE THE COMMON RETURN CODES THAT MAY BE RETURNED FROM */ 02374014 * /* ANY OF THE HMASMP USER EXITS * */ 02376014 * /* */ 02378014 * /*****************************************************************/ 02380014 * 02382014 * DECLARE /* */ 02400014 * UXPGOOD CONSTANT(0), /* PROCESSING COMPLETED OK */ 02450014 * UXPTPTF CONSTANT(8), /* TERMINATE SYSMOD */ 02500014 * UXPTFUNC CONSTANT(12), /* TERMINATE FUNCTION */ 02550014 * UXPTSMP CONSTANT(16); /* TERMINATE SMP */ 02600014 * 02650014 * /*****************************************************************/ 02700014 * /* */ 02750014 * /* THESE ARE THE RETURN CODES THAT MAY BE RETURN FROM ONE OR */ 02800014 * /* OF THE HMASMP USER EXITS. TO DETERMINE WHICH RETURN CODE IS */ 02850014 * /* VALID FOR EACH USER EXIT SEE COMMENT WITH THE PARAMETER */ 02900014 * /* LIST MAPPING FOR THAT EXIT */ 02950014 * /* */ 03000014 * /*****************************************************************/ 03050014 * 03100014 * DECLARE /* */ 03150014 * UXPADD CONSTANT(20), /* ADD RCD AFTER CURRENT ONE */ 03200014 * UXPDEL CONSTANT(24); /* DELETE CURRENT RECORD */ 03250014 *%UXPRTN99: ; /* */ 03300014 *%IF UXP_001_BASE='' /* IF NO 001 BASE THEN USE ALL */ 03330014 * %THEN /* */ 03360014 * %UXP_001_BASE=UXP_ALL_BASE; /* */ 03390014 *%IF UXP_ALL='YES' /* IF TOTAL UXP LIST REQUESTED */ 03420014 * %THEN /* */ 03450014 * %GOTO UXP00101; /* */ 03480014 *%IF UXP_001='YES' /* IF EXIT 001 PARM REQUESTED */ 03510014 * %THEN /* */ 03540014 * %GOTO UXP00101; /* */ 03570014 *%GOTO UXP00199; /* */ 03600014 *%UXP00101: ; /* */ 03630014 *@EJECT; /* */ 03750014 */********************************************************************/ 03800014 */* */ 03850014 */* HMASMP EXIT 001 */ 03900014 */* */ 03950014 */* FUNCTION - RECEIVE TIME EXIT TO LOOK AT ALL SMPPTFIN */ 04000014 */* CONTROL CARDS PRIOR TO PROCESSING BY HMASMP. */ 04050014 */* RTN CODE - IN ADDITION TO STANDARD */ 04100014 */* UXPADD - RETURN TO USER EXIT AFTER PROCESSSING */ 04150014 */* CURRENT RECORD BUT BEFORE READING NEXT */ 04200014 */* RECORD. */ 04250014 */* USER EXIT WILL ADD A RECORD TO BUFFER */ 04300014 */* TO BE PROCESSED DURING SECOND CALL. */ 04350014 */* UXPDEL - DO NOT PROCESS CURRENT RECORD IN BUFFER. */ 04400014 */* READ NEXT RECORD AND RETURN TO EXIT. */ 04450014 */* NOTES - WHEN HMASMP HITS END OF FILE ON SMPPTFIN IT WILL */ 04500014 */* SET UX001RC TO UX001EOF AND CALL EXIT. THE EXIT */ 04550014 */* MAY CONTINUE TO ADD RECORDS AFTER END OF FILE BY */ 04600014 */* RETURNING CODE UXPADD IN REGISTER 15. WHEN A */ 04650014 */* RETURN CODE UXPGOOD IS RETURN SMP WILL CONTINUE */ 04700014 */* WITH NORMAL EOF PROCESSING. */ 04750014 */* */ 04800014 */********************************************************************/ 04850014 * 04900014 * DECLARE /* */ 04950014 * UXPUX001 FIXED(15) CONSTANT(1);/* RECEIVE USER EXIT - VALUE SET 05000014 * UXPUXNUM UPON ENTRY */ 05040014 * DECLARE /* */ 05080014 * 1 UX001PRM 05120014 * UXP_001_BASE 05160014 * , /* */ 05250014 * 3 UX001RC FIXED(8), /* SET TO UX001EOF AT END OF FILE*/ 05300014 * 3 UX001RCD CHAR(80); /* SMPPTFIN RECORD */ 05350014 * DECLARE /* */ 05400014 * UX001EOF FIXED(8) CONSTANT(4);/* TO INDICATE END OF FILE */ 05450014 *%UXP00199: ; /* */ 05500014