**** START OF SPECIFICATIONS ***************************************** 00010000 * * 00020000 * * 00030000 * MODULE NAME = APSUMACC * 00040000 * * 00050000 * $MOD(APSUMACC) COMP(APS) PROD(PSF) : VERSION 3.3.0 * 00060000 * * 00070000 * DESCRIPTIVE NAME = Call SWBTUREQ macro for C exits * 00080000 * * 00090000 * STATUS = VERSION 3, RELEASE 3, LEVEL 0 * 00100000 * * 00110000 * FUNCTION = * 00120000 * Calls SWBTUREQ macro for an exit written in C. * 00130000 * * 00140000 * OPERATION = * 00150000 * 1. Call SWBTUREQ macro * 00160000 * * 00170000 * NOTES = * 00180000 * DEPENDENCIES = * 00190000 * RESTRICTIONS = None * 00200000 * REGISTER CONVENTIONS = * 00210000 * See assembler equates * 00220000 * PATCH LABEL = PSPACE * 00230000 * * 00240000 * MODULE TYPE = Procedure * 00250000 * PROCESSOR = Assembler * 00260000 * ATTRIBUTES = * 00270000 * Reentrant, supervisor state, caller's key, pageable, * 00280000 * amode 31, rmode any * 00290000 * * 00300000 * ENTRY POINT = APSUMACC * 00310000 * LINKAGE = * 00320000 * R1 = Address of a 4 byte field which contains the * 00330000 * address of APSGEXTP * 00340000 * Address of a 4 byte field which contains the * 00350000 * address of SWBTUREQ parameter area * 00360000 * Address of a 4 byte return code, which will hold the * 00370000 * return code of SWBTUREQ * 00380000 * R15 = Entry point address * 00390000 * R13 = Save area address * 00400000 * * 00410000 * INPUT = * 00420000 * * 00430000 * OUTPUT = SWBTUREQ parameter area is filled in * 00440000 * * 00450000 * EXIT NORMAL = Return to caller * 00460000 * * 00470000 * EXIT ERROR = None * 00480000 * * 00490000 * EXTERNAL REFERENCES = * 00500000 * ROUTINES = None * 00510000 * DATA AREAS = * 00520000 * APSGEXTP - PSF installation exit parameter area * 00530000 * APSUECA - PSF exit communications area * 00540000 * INCLUDES = None * 00550000 * * 00560000 * MACROS = SWBTUREQ * 00570000 * * 00580000 * MESSAGES = None * 00590000 * * 00600000 * 01* CHANGE ACTIVITY = * 00610000 * $B0=OW45952, HPRF320, 000829, BDKUEAS: Initial Version @B0A* 00620000 * $EV=LAPS0009,HPRF330,010530,BUQ4RLB: Version 3.3.0 @EVA* 00630000 * * 00640000 **** END OF SPECIFICATIONS ******************************************* 00650000 ********************************************************************** 00660000 * 00670000 APSUMACC START 0 00680000 TITLE 'DSECT - XTP' 00690000 APSGEXTP LIST=YES 00700000 TITLE 'DSECT - ECA' 00710000 APSUECA LIST=YES 00720000 TITLE 'CVT MAPPING' 00730000 CVT DSECT=YES Required for SWBTUREQ 00740000 TITLE 'JESCT MAPPING' 00750000 IEFJESCT Required for SWBTUREQ 00760000 TITLE 'APSUMACC - CALL SWBTUREQ FOR C EXIT' 00770000 APSUMACC CSECT , 00780000 APSUMACC AMODE 31 00790000 APSUMACC RMODE ANY 00800000 USING *,15 00810000 B START 00820000 DC AL1(17) LENGTH OF THE FOLLOWING FIELDS 00830000 DC CL8'APSUMACC' NAME OF THIS ROUTINE 00840000 DC CL8'&SYSDATE' DATE OF THIS ASSEMBLY 00850000 DROP 15 00860000 START DS 0H 00870000 STM 14,12,12(13) SAVE CALLER'S REGS 00880000 LR BASEREG,15 SWITCH BASE REGISTER 00890000 USING APSUMACC,BASEREG ESTABLISH BASE REGISTER 00900000 00910000 USING APSGEXTP,XTPPTR 00920000 USING APSUECA,ECAPTR 00930000 L XTPPTR,0(,1) LOAD ADDRESS OF APSGEXTP 00940000 L SJTRPPTR,4(,1) LOAD ADDRESS OF SJTRP 00950000 L SAVRTN,8(,1) LOAD ADDRESS OF RETURN CODE 00960000 L ECAPTR,XTPECAP LOAD ADDRESS OF APSUECA 00970000 * 00980000 LR 2,13 LOAD ADDRESS OF CALLERS SAVE 00990000 LA 13,ECACSAVE LOAD ADDRESS OF MACC SAVE AREA 01000000 ST 2,4(,13) SAVE CALLERS SAVE AREA ADDRESS 01010000 ST 13,8(,2) SAVE MACC SAVE AREA ADDRESS 01020000 ********************************************************************** 01030000 SLR RTNCODE,RTNCODE RESET RETURN CODE 01040000 ********************************************************************** 01050000 * Call SWBTUREQ 01060000 ********************************************************************** 01070000 * * 01080000 * INVOKE the SWBTUREQ REQUEST=RETRIEVE Macro * 01090000 * ------------------------------------------ * 01100000 * * 01110000 * Set up R1 to point to a word of storage that * 01120000 * contains the address of the parameter list, IEFSJTRP. * 01130000 * * 01140000 ********************************************************************** 01150000 * 01160000 LA ECAWKPTR,ECAWKBUF 01170000 USING WRKDSECT,ECAWKPTR 01180000 ST SJTRPPTR,WRKPLPTR Address of the SWBTUREQ 01190000 * parameter list 01200000 LA 01,WRKPLPTR Address of WRKPLPTR 01210000 * 01220000 * 01230000 SWBTUREQ REQUEST=RETRIEVE INVOKE the Macro 01240000 * 01250000 * 01260000 ST 15,0(,SAVRTN) SET RC PARM 01270000 ********************************************************************** 01280000 * EPILOG 01290000 ********************************************************************** 01300000 * 01310000 DS 0H 01320000 L 13,4(,13) RESTORE CALLERS SAVE AREA ADDR 01330000 L 14,12(,13) RESTORE CALLERS RETURN ADDRESS 01340000 LM 0,12,20(13) RESTORE CALLERS REGISTERS 01350000 BR 14 RETURN TO CALLER 01360000 * 01370000 ********************************************************************** 01380000 * POINTER REGISTERS 01390000 ********************************************************************** 01400000 SJTRPPTR EQU 04 SJTRP POINTER 01410000 ECAPTR EQU 05 APSUECA POINTER 01420000 SAVRTN EQU 06 SAVE RETURN CODE ADDRESS 01430000 XTPPTR EQU 07 XTP POINTER 01440000 ECAWKPTR EQU 08 ECAWKBUF POINTER 01450000 BASEREG EQU 12 BASE REGISTER 01460000 RTNCODE EQU 15 SWBTUREQ RETURN CODE 01470000 ********************************************************************** 01480000 * DECLARATIONS 01490000 ********************************************************************** 01500000 WRKDSECT DSECT 01510000 WRKPLPTR DS F Address of SWBTUREQ parm 01520000 * list 01530000 END APSUMACC 01540000