**** START OF SPECIFICATIONS ***************************************** 00010000 * * 00020000 *01* MODULE NAME = APSUX07X * 00030000 * * 00040000 * $MOD (APSUX07X) COMP(APS) PROD(PSF) : VERSION 3.3.0 * 00050000 * * 00060000 *01* DESCRIPTIVE NAME = RESOURCE EXIT - SAMPLE 1 * 00070000 * * 00080000 *01* STATUS = VERSION 3, RELEASE 3, LEVEL 0 * 00090000 * * 00100000 *01* FUNCTION = * 00110000 * THIS SAMPLE EXIT IS MERELY INTENDED TO BE A SKELETON OR * 00120000 * TEMPLATE TO DEMONSTRATE THE METHODS OF A RESOURCE EXIT. * 00130000 * * 00140000 *02* OPERATION = * 00150000 * * 00160000 * * 00170000 *01* NOTES = * 00180000 *02* DEPENDENCIES = NONE * 00190000 *02* RESTRICTIONS = NONE * 00200000 *02* REGISTER CONVENTIONS = * 00210000 * R2-R12 = SEE ASSEMBLER EQUATES BELOW * 00220000 * * 00230000 *01* MODULE TYPE = PROCEDURE * 00240000 *02* PROCESSOR = ASSEMBLER * 00250000 *02* ATTRIBUTES = REENTRANT * 00260000 * AMODE 31 * 00270000 * RMODE ANY * 00280000 * * 00290000 *01* ENTRY POINT = APSUX07 * 00300000 *02* LINKAGE = * 00310000 * R15 = ENTRY POINT ADDRESS * 00320000 * R13 = SAVE AREA ADDRESS * 00330000 * R1 = ADDRESS OF A 4 BYTE FIELD WHICH CONTAINS THE ADDRESS * 00340000 * OF APSGEXTP * 00350000 * * 00360000 *01* INPUT = * 00370000 * APSGEXTP - PSF INSTALLATION EXIT PARAMETER AREA * 00380000 * * 00390000 *01* OUTPUT = * 00400000 * NONE * 00410000 * * 00420000 *01* EXIT NORMAL = RETURN TO CALLER * 00430000 * * 00440000 *01* EXIT ERROR = NONE * 00450000 * * 00460000 *01* EXTERNAL REFERENCES = * 00470000 *02* ROUTINES = NONE * 00480000 *02* DATA AREAS = * 00490000 * APSGEXTP - PSF INSTALLATION EXIT PARAMETER AREA * 00500000 * APSUECA - PSF EXIT COMMUNICATIONS AREA * 00510000 * APSURLST - PSF EXIT RESOURCE LIST AREA * 00520000 * IAZJSPA - JES SEPARATOR PAGE AREA * 00530000 *02* INCLUDES = NONE * 00540000 * * 00550000 *01* MACROS = NONE * 00560000 * * 00570000 *01* MESSAGES = NONE * 00580000 * * 00590000 * 01* CHANGE ACTIVITY = * 00600000 * $01=OY12583, HAF1203, 022988, BJ13SDJ: RESOURCE EXIT * 00610000 * $H3=LAPS0003,HAF1220, 040188, BJ13SDJ: RELEASE 2.1 * 00620000 * $02=OY14561, HAF1203, 061488, TUCGS: ADD MSG & RESOURCE EXIT * 00630000 * SAVE AREAS * 00640000 * $H5=LAPS0005, HPRF102, 033189, B53KEMC: REL 2.1.0 NEW FUNCT @H5A* 00650000 * $DU=LAPS0007,HPRF310,980604,BDKURLB: Version 3.1.0 @DUA* 00660000 * $DX=LAPS0008,HPRF320,991117,BUQ4RLB: Version 3.2.0 @DXA* 00670000 * $EV=LAPS0009,HPRF330,010530,BUQ4RLB: Version 3.3.0 @EVA* 00680000 * * 00690000 **** END OF SPECIFICATIONS ******************************************* 00700000 APSUX07 START 0 00710000 TITLE 'DSECT - GEXTP' 00720000 APSGEXTP LIST=YES 00730000 TITLE 'DSECT - UECA' 00740000 APSUECA LIST=YES 00750000 TITLE 'DSECT - RLST' 00760000 APSURLST LIST=YES 00770000 TITLE 'DSECT - JSPA' 00780000 IAZJSPA LIST=YES 00790000 TITLE 'APSUX07 - INSTALLATION EXIT 7 - RESOURCE EXIT' 00800000 APSUX07 CSECT 00810000 APSUX07 AMODE 31 @H5A 00820000 APSUX07 RMODE ANY @H5A 00830000 USING APSUX07,R15 00840000 B START 00850000 DC CL8' APSUX07' NAME OF THIS ROUTINE 00860000 DC CL8'&SYSDATE' DATE OF THIS ASSEMBLY 00870000 ********************************************************************** 00880000 * STANDARD ENTRY LINKAGE * 00890000 ********************************************************************** 00900000 START STM R14,R12,12(R13) SAVE CALLERS REGISTERS 00910000 LR R12,R15 SAVE BASE REGISTER 00920000 DROP R15 DROP OLD BASE 00930000 USING APSUX07,R12 SET NEW ADDRESSABILITY 00940000 ********************************************************************** 00950000 * GET BASING FOR CONTROL BLOCKS * 00960000 ********************************************************************** 00970000 USING APSGEXTP,GEXTPTR SET ADDESSABILITY TO GEXTP 00980000 USING XTP7,XTP7PTR SET ADDESSABILITY TO XTP7 00990000 USING APSUECA,ECAPTR SET ADDESSABILITY TO APSUECA 01000000 USING APSURLST,RLSTPTR SET ADDRESSABILITY TO APSURLST 01010000 USING IAZJSPA,JSPAPTR SET ADDRESSABILITY TO IAZJSPA 01020000 L GEXTPTR,0(,R1) LOAD ADDRESS OF APSGEXTP 01030000 L XTP7PTR,XTPRECP LOAD ADDRESS OF XTP7 01040000 L ECAPTR,XTPECAP LOAD ADDRESS OF ASPUECA 01050000 L RLSTPTR,XTP7LSTP LOAD ADDRESS OF APSURLST 01060000 L JSPAPTR,XTPJSPAP LOAD ADDRESS OF IAZJSPA 01070000 LR R3,R13 SAVE CALLERS SAVEAREA ADDR @02C 01080000 ST R3,ECARSCSV+4 IN OUR BACKWARD CHAIN. @02C 01090000 LA R13,ECARSCSV SAVE OUR SAVEAREA ADDRESS @02C 01100000 ST R13,8(R3) IN CALLER'S FORWARD CHAIN. @02C 01110000 ********************************************************************** 01120000 * DETERMINE WHAT TYPE OF CALL IS BEING MADE TO THE EXIT * 01130000 ********************************************************************** 01140000 CALLTYPE EQU * 01150000 TM XTP7ETYP,INITCALL INITIALIZATION CALL? 01160000 BO INITRTN YES, GOTO INIT ROUTINE 01170000 TM XTP7ETYP,BDSCALL BEGINNING OF DATA SET CALL? 01180000 BO BDSRTN YES, GOTO BDS ROUTINE 01190000 TM XTP7ETYP,ACCCALL RESOURCE ACCESS TIME CALL? 01200000 BO ACCRTN YES, GOTO ACCESS ROUTINE 01210000 TM XTP7ETYP,LDBCALL RESOURCE LOAD BEGIN CALL? 01220000 BO LDBRTN YES, GOTO LOAD BEGIN ROUTINE 01230000 TM XTP7ETYP,LDECALL RESOURCE LOAD END CALL? 01240000 BO LDERTN YES, GOTO LOAD END ROUTINE 01250000 TM XTP7ETYP,DSECALL RESOURCE DELETIONS AT DSE CALL? 01260000 BO DSERTN YES, GOTO DSE ROUTINE 01270000 TM XTP7ETYP,TRMCALL PSF TERMINATION CALL? 01280000 BO TRMRTN YES, GOTO TERMINATE ROUTINE 01290000 B GETOUT NO MATCH FOUND - POSSIBLE ERROR 01300000 ********************************************************************** 01310000 * INITIALIZATION ROUTINE: * 01320000 ********************************************************************** 01330000 INITRTN EQU * 01340000 * INSERT CODE HERE FOR THE EXIT INITIALIZATION CALL. 01350000 B GETOUT EXIT APSUX07 01360000 ********************************************************************** 01370000 * BEGINNING OF DATA SET ROUTINE: * 01380000 ********************************************************************** 01390000 BDSRTN EQU * 01400000 * INSERT CODE HERE FOR THE BEGINNING OF DATA SET CALL 01410000 B GETOUT EXIT APSUX07 01420000 ********************************************************************** 01430000 ********************************************************************** 01440000 * ACCESS ROUTINE: * 01450000 ********************************************************************** 01460000 ********************************************************************** 01470000 ACCRTN EQU * 01480000 * DETERMINE THE RESOURCE TYPE - XTP7RTYP IS A VALID FIELD FOR THE 01490000 * ACCESS, LOAD BEGIN/END AND DELETE TIME CALLS. 01500000 TM XTP7RTYP,PDEF IS THIS CALL FOR PAGEDEFS? 01510000 BO ACCPDEF YES, GOTO PAGEDEF ROUTINE 01520000 TM XTP7RTYP,FDEF IS THIS CALL FOR PAGEDEFS? 01530000 BO ACCFDEF YES, GOTO FORMDEF ROUTINE 01540000 TM XTP7RTYP,FONT IS THIS CALL FOR PAGEDEFS? 01550000 BO ACCFONT YES, GOTO FONT ROUTINE 01560000 TM XTP7RTYP,OVLY IS THIS CALL FOR PAGEDEFS? 01570000 BO ACCOVLY YES, GOTO OVERLAY ROUTINE 01580000 TM XTP7RTYP,PSEG IS THIS CALL FOR PAGEDEFS? 01590000 BO ACCPSEG YES, GOTO SEGMENT ROUTINE 01600000 B ACCEXIT NO MATCH FOUND - ERROR 01610000 ********************************************************************** 01620000 * ACCESS TIME PAGEDEF ROUTINE * 01630000 ********************************************************************** 01640000 ACCPDEF EQU * 01650000 * INSERT CODE HERE FOR ACCESS TIME PAGEDEF CALLS. 01660000 B ACCEXIT EXIT APSUX07 01670000 ********************************************************************** 01680000 * ACCESS TIME FORMDEF ROUTINE * 01690000 ********************************************************************** 01700000 ACCFDEF EQU * 01710000 * INSERT CODE HERE FOR ACCESS TIME FORMDEF CALLS. 01720000 B ACCEXIT EXIT APSUX07 01730000 ********************************************************************** 01740000 * ACCESS TIME FONT ROUTINE * 01750000 ********************************************************************** 01760000 ACCFONT EQU * 01770000 * INSERT CODE HERE FOR ACCESS TIME FONT CALLS. 01780000 B ACCEXIT EXIT APSUX07 01790000 ********************************************************************** 01800000 * ACCESS TIME OVERLAY ROUTINE * 01810000 ********************************************************************** 01820000 ACCOVLY EQU * 01830000 * INSERT CODE HERE FOR ACCESS TIME OVERLAY CALLS. 01840000 B ACCEXIT EXIT APSUX07 01850000 ********************************************************************** 01860000 * ACCESS TIME PAGE SEGMENT ROUTINE * 01870000 ********************************************************************** 01880000 ACCPSEG EQU * 01890000 * INSERT CODE HERE FOR ACCESS TIME SEGMENT CALLS. 01900000 B ACCEXIT EXIT APSUX07 01910000 ACCEXIT EQU * 01920000 B GETOUT EXIT APSUX07 01930000 ********************************************************************** 01940000 * LOAD BEGIN ROUTINE: * 01950000 ********************************************************************** 01960000 LDBRTN EQU * 01970000 * INSERT CODE HERE FOR RESOURCE LOAD BEGIN CALLS. 01980000 * - THE LOAD BEGIN CALL IS SELECTED ACCORDING TO RESOURCE TYPE, A 01990000 * CHECK OF XTP7RTYP AS SHOWN IN THE ACCESS ROUTINE MAY BE NECESSARY. 02000000 B GETOUT EXIT APSUX07 02010000 ********************************************************************** 02020000 * LOAD END ROUTINE: * 02030000 ********************************************************************** 02040000 LDERTN EQU * 02050000 * INSERT CODE HERE FOR RESOURCE LOAD END CALLS. 02060000 * - THE LOAD END CALL IS SELECTED ACCORDING TO RESOURCE TYPE, A CHECK 02070000 * OF XTP7RTYP AS SHOWN IN THE ACCESS ROUTINE MAY BE NECESSARY. 02080000 B GETOUT EXIT APSUX07 02090000 ********************************************************************** 02100000 * DATA SET END ROUTINE: * 02110000 ********************************************************************** 02120000 DSERTN EQU * 02130000 * INSERT CODE HERE FOR RESOURCE DELETION AT DATA SET END CALLS. 02140000 * - THE DATA SET END CALL IS SELECTED ACCORDING TO RESOURCE TYPE, A 02150000 * CHECK OF XTP7RTYP AS SHOWN IN THE ACCESS ROUTINE MAY BE NECESSARY. 02160000 B GETOUT EXIT APSUX07 02170000 ********************************************************************** 02180000 * TERMINATION ROUTINE: * 02190000 ********************************************************************** 02200000 TRMRTN EQU * 02210000 * INSERT CODE HERE FOR THE FSA TERMINATION CALL. 02220000 B GETOUT EXIT APSUX07 02230000 ********************************************************************** 02240000 * EXIT LINKAGE * 02250000 ********************************************************************** 02260000 GETOUT L R13,ECARSCSV+4 RESTORE CALLER'S SAVEAREA @02C 02270000 LM R14,R12,12(R13) RESTORE CALLER'S REGS 02280000 BR R14 02290000 ********************************************************************** 02300000 * EQUATES TO VERIFY TYPE OF EXIT CALL, COMPARE WITH XTP7ETYP * 02310000 ********************************************************************** 02320000 INITCALL EQU B'10000000' RESOURCE EXIT INITIAL CALL 02330000 BDSCALL EQU B'01000000' BEGINNING OF DATA SET CALL 02340000 ACCCALL EQU B'00100000' RESOURCE ACCESS CALL 02350000 LDBCALL EQU B'00010000' RESOURCE LOAD BEGIN CALL 02360000 LDECALL EQU B'00001000' RESOURCE LOAD END CALL 02370000 DSECALL EQU B'00000100' RESOURCE DELETE AT DATA SET END 02380000 TRMCALL EQU B'00000010' TERMINATION OF FSA CALL 02390000 ********************************************************************** 02400000 * EQUATES TO VERIFY TYPE OF RESOURCE CALL, COMPARE WITH XTP7RTYP * 02410000 ********************************************************************** 02420000 PDEF EQU B'10000000' PAGEDEF 02430000 FDEF EQU B'01000000' FORMDEF 02440000 FONT EQU B'00100000' CODED FONT 02450000 OVLY EQU B'00010000' MEDIUM OVERLAY 02460000 PSEG EQU B'00001000' PAGE SEGMENT 02470000 ********************************************************************** 02480000 * REGISTER EQUATES * 02490000 ********************************************************************** 02500000 R0 EQU 0 02510000 R1 EQU 1 02520000 R2 EQU 2 02530000 R3 EQU 3 02540000 GEXTPTR EQU 4 02550000 XTP7PTR EQU 5 02560000 ECAPTR EQU 6 02570000 RLSTPTR EQU 7 02580000 JSPAPTR EQU 8 02590000 R9 EQU 9 02600000 R10 EQU 10 02610000 R11 EQU 11 02620000 R12 EQU 12 02630000 R13 EQU 13 02640000 R14 EQU 14 02650000 R15 EQU 15 02660000 END 02670000