**** START OF SPECIFICATIONS ***************************************** 00010000 * * 00020000 *01* MODULE NAME = APSUX07X * 00030000 * * 00040000 * $MOD (APSUX07X) COMP(APS) PROD(PSF) : VERSION 3.2.0 * 00050000 * * 00060000 *01* DESCRIPTIVE NAME = RESOURCE EXIT - SAMPLE 1 * 00070000 * * 00080000 *01* STATUS = VERSION 3, RELEASE 2, 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 * * 00680000 **** END OF SPECIFICATIONS ******************************************* 00690000 APSUX07 START 0 00700000 TITLE 'DSECT - GEXTP' 00710000 APSGEXTP LIST=YES 00720000 TITLE 'DSECT - UECA' 00730000 APSUECA LIST=YES 00740000 TITLE 'DSECT - RLST' 00750000 APSURLST LIST=YES 00760000 TITLE 'DSECT - JSPA' 00770000 IAZJSPA LIST=YES 00780000 TITLE 'APSUX07 - INSTALLATION EXIT 7 - RESOURCE EXIT' 00790000 APSUX07 CSECT 00800000 APSUX07 AMODE 31 @H5A 00810000 APSUX07 RMODE ANY @H5A 00820000 USING APSUX07,R15 00830000 B START 00840000 DC CL8' APSUX07' NAME OF THIS ROUTINE 00850000 DC CL8'&SYSDATE' DATE OF THIS ASSEMBLY 00860000 ********************************************************************** 00870000 * STANDARD ENTRY LINKAGE * 00880000 ********************************************************************** 00890000 START STM R14,R12,12(R13) SAVE CALLERS REGISTERS 00900000 LR R12,R15 SAVE BASE REGISTER 00910000 DROP R15 DROP OLD BASE 00920000 USING APSUX07,R12 SET NEW ADDRESSABILITY 00930000 ********************************************************************** 00940000 * GET BASING FOR CONTROL BLOCKS * 00950000 ********************************************************************** 00960000 USING APSGEXTP,GEXTPTR SET ADDESSABILITY TO GEXTP 00970000 USING XTP7,XTP7PTR SET ADDESSABILITY TO XTP7 00980000 USING APSUECA,ECAPTR SET ADDESSABILITY TO APSUECA 00990000 USING APSURLST,RLSTPTR SET ADDRESSABILITY TO APSURLST 01000000 USING IAZJSPA,JSPAPTR SET ADDRESSABILITY TO IAZJSPA 01010000 L GEXTPTR,0(,R1) LOAD ADDRESS OF APSGEXTP 01020000 L XTP7PTR,XTPRECP LOAD ADDRESS OF XTP7 01030000 L ECAPTR,XTPECAP LOAD ADDRESS OF ASPUECA 01040000 L RLSTPTR,XTP7LSTP LOAD ADDRESS OF APSURLST 01050000 L JSPAPTR,XTPJSPAP LOAD ADDRESS OF IAZJSPA 01060000 LR R3,R13 SAVE CALLERS SAVEAREA ADDR @02C 01070000 ST R3,ECARSCSV+4 IN OUR BACKWARD CHAIN. @02C 01080000 LA R13,ECARSCSV SAVE OUR SAVEAREA ADDRESS @02C 01090000 ST R13,8(R3) IN CALLER'S FORWARD CHAIN. @02C 01100000 ********************************************************************** 01110000 * DETERMINE WHAT TYPE OF CALL IS BEING MADE TO THE EXIT * 01120000 ********************************************************************** 01130000 CALLTYPE EQU * 01140000 TM XTP7ETYP,INITCALL INITIALIZATION CALL? 01150000 BO INITRTN YES, GOTO INIT ROUTINE 01160000 TM XTP7ETYP,BDSCALL BEGINNING OF DATA SET CALL? 01170000 BO BDSRTN YES, GOTO BDS ROUTINE 01180000 TM XTP7ETYP,ACCCALL RESOURCE ACCESS TIME CALL? 01190000 BO ACCRTN YES, GOTO ACCESS ROUTINE 01200000 TM XTP7ETYP,LDBCALL RESOURCE LOAD BEGIN CALL? 01210000 BO LDBRTN YES, GOTO LOAD BEGIN ROUTINE 01220000 TM XTP7ETYP,LDECALL RESOURCE LOAD END CALL? 01230000 BO LDERTN YES, GOTO LOAD END ROUTINE 01240000 TM XTP7ETYP,DSECALL RESOURCE DELETIONS AT DSE CALL? 01250000 BO DSERTN YES, GOTO DSE ROUTINE 01260000 TM XTP7ETYP,TRMCALL PSF TERMINATION CALL? 01270000 BO TRMRTN YES, GOTO TERMINATE ROUTINE 01280000 B GETOUT NO MATCH FOUND - POSSIBLE ERROR 01290000 ********************************************************************** 01300000 * INITIALIZATION ROUTINE: * 01310000 ********************************************************************** 01320000 INITRTN EQU * 01330000 * INSERT CODE HERE FOR THE EXIT INITIALIZATION CALL. 01340000 B GETOUT EXIT APSUX07 01350000 ********************************************************************** 01360000 * BEGINNING OF DATA SET ROUTINE: * 01370000 ********************************************************************** 01380000 BDSRTN EQU * 01390000 * INSERT CODE HERE FOR THE BEGINNING OF DATA SET CALL 01400000 B GETOUT EXIT APSUX07 01410000 ********************************************************************** 01420000 ********************************************************************** 01430000 * ACCESS ROUTINE: * 01440000 ********************************************************************** 01450000 ********************************************************************** 01460000 ACCRTN EQU * 01470000 * DETERMINE THE RESOURCE TYPE - XTP7RTYP IS A VALID FIELD FOR THE 01480000 * ACCESS, LOAD BEGIN/END AND DELETE TIME CALLS. 01490000 TM XTP7RTYP,PDEF IS THIS CALL FOR PAGEDEFS? 01500000 BO ACCPDEF YES, GOTO PAGEDEF ROUTINE 01510000 TM XTP7RTYP,FDEF IS THIS CALL FOR PAGEDEFS? 01520000 BO ACCFDEF YES, GOTO FORMDEF ROUTINE 01530000 TM XTP7RTYP,FONT IS THIS CALL FOR PAGEDEFS? 01540000 BO ACCFONT YES, GOTO FONT ROUTINE 01550000 TM XTP7RTYP,OVLY IS THIS CALL FOR PAGEDEFS? 01560000 BO ACCOVLY YES, GOTO OVERLAY ROUTINE 01570000 TM XTP7RTYP,PSEG IS THIS CALL FOR PAGEDEFS? 01580000 BO ACCPSEG YES, GOTO SEGMENT ROUTINE 01590000 B ACCEXIT NO MATCH FOUND - ERROR 01600000 ********************************************************************** 01610000 * ACCESS TIME PAGEDEF ROUTINE * 01620000 ********************************************************************** 01630000 ACCPDEF EQU * 01640000 * INSERT CODE HERE FOR ACCESS TIME PAGEDEF CALLS. 01650000 B ACCEXIT EXIT APSUX07 01660000 ********************************************************************** 01670000 * ACCESS TIME FORMDEF ROUTINE * 01680000 ********************************************************************** 01690000 ACCFDEF EQU * 01700000 * INSERT CODE HERE FOR ACCESS TIME FORMDEF CALLS. 01710000 B ACCEXIT EXIT APSUX07 01720000 ********************************************************************** 01730000 * ACCESS TIME FONT ROUTINE * 01740000 ********************************************************************** 01750000 ACCFONT EQU * 01760000 * INSERT CODE HERE FOR ACCESS TIME FONT CALLS. 01770000 B ACCEXIT EXIT APSUX07 01780000 ********************************************************************** 01790000 * ACCESS TIME OVERLAY ROUTINE * 01800000 ********************************************************************** 01810000 ACCOVLY EQU * 01820000 * INSERT CODE HERE FOR ACCESS TIME OVERLAY CALLS. 01830000 B ACCEXIT EXIT APSUX07 01840000 ********************************************************************** 01850000 * ACCESS TIME PAGE SEGMENT ROUTINE * 01860000 ********************************************************************** 01870000 ACCPSEG EQU * 01880000 * INSERT CODE HERE FOR ACCESS TIME SEGMENT CALLS. 01890000 B ACCEXIT EXIT APSUX07 01900000 ACCEXIT EQU * 01910000 B GETOUT EXIT APSUX07 01920000 ********************************************************************** 01930000 * LOAD BEGIN ROUTINE: * 01940000 ********************************************************************** 01950000 LDBRTN EQU * 01960000 * INSERT CODE HERE FOR RESOURCE LOAD BEGIN CALLS. 01970000 * - THE LOAD BEGIN CALL IS SELECTED ACCORDING TO RESOURCE TYPE, A 01980000 * CHECK OF XTP7RTYP AS SHOWN IN THE ACCESS ROUTINE MAY BE NECESSARY. 01990000 B GETOUT EXIT APSUX07 02000000 ********************************************************************** 02010000 * LOAD END ROUTINE: * 02020000 ********************************************************************** 02030000 LDERTN EQU * 02040000 * INSERT CODE HERE FOR RESOURCE LOAD END CALLS. 02050000 * - THE LOAD END CALL IS SELECTED ACCORDING TO RESOURCE TYPE, A CHECK 02060000 * OF XTP7RTYP AS SHOWN IN THE ACCESS ROUTINE MAY BE NECESSARY. 02070000 B GETOUT EXIT APSUX07 02080000 ********************************************************************** 02090000 * DATA SET END ROUTINE: * 02100000 ********************************************************************** 02110000 DSERTN EQU * 02120000 * INSERT CODE HERE FOR RESOURCE DELETION AT DATA SET END CALLS. 02130000 * - THE DATA SET END CALL IS SELECTED ACCORDING TO RESOURCE TYPE, A 02140000 * CHECK OF XTP7RTYP AS SHOWN IN THE ACCESS ROUTINE MAY BE NECESSARY. 02150000 B GETOUT EXIT APSUX07 02160000 ********************************************************************** 02170000 * TERMINATION ROUTINE: * 02180000 ********************************************************************** 02190000 TRMRTN EQU * 02200000 * INSERT CODE HERE FOR THE FSA TERMINATION CALL. 02210000 B GETOUT EXIT APSUX07 02220000 ********************************************************************** 02230000 * EXIT LINKAGE * 02240000 ********************************************************************** 02250000 GETOUT L R13,ECARSCSV+4 RESTORE CALLER'S SAVEAREA @02C 02260000 LM R14,R12,12(R13) RESTORE CALLER'S REGS 02270000 BR R14 02280000 ********************************************************************** 02290000 * EQUATES TO VERIFY TYPE OF EXIT CALL, COMPARE WITH XTP7ETYP * 02300000 ********************************************************************** 02310000 INITCALL EQU B'10000000' RESOURCE EXIT INITIAL CALL 02320000 BDSCALL EQU B'01000000' BEGINNING OF DATA SET CALL 02330000 ACCCALL EQU B'00100000' RESOURCE ACCESS CALL 02340000 LDBCALL EQU B'00010000' RESOURCE LOAD BEGIN CALL 02350000 LDECALL EQU B'00001000' RESOURCE LOAD END CALL 02360000 DSECALL EQU B'00000100' RESOURCE DELETE AT DATA SET END 02370000 TRMCALL EQU B'00000010' TERMINATION OF FSA CALL 02380000 ********************************************************************** 02390000 * EQUATES TO VERIFY TYPE OF RESOURCE CALL, COMPARE WITH XTP7RTYP * 02400000 ********************************************************************** 02410000 PDEF EQU B'10000000' PAGEDEF 02420000 FDEF EQU B'01000000' FORMDEF 02430000 FONT EQU B'00100000' CODED FONT 02440000 OVLY EQU B'00010000' MEDIUM OVERLAY 02450000 PSEG EQU B'00001000' PAGE SEGMENT 02460000 ********************************************************************** 02470000 * REGISTER EQUATES * 02480000 ********************************************************************** 02490000 R0 EQU 0 02500000 R1 EQU 1 02510000 R2 EQU 2 02520000 R3 EQU 3 02530000 GEXTPTR EQU 4 02540000 XTP7PTR EQU 5 02550000 ECAPTR EQU 6 02560000 RLSTPTR EQU 7 02570000 JSPAPTR EQU 8 02580000 R9 EQU 9 02590000 R10 EQU 10 02600000 R11 EQU 11 02610000 R12 EQU 12 02620000 R13 EQU 13 02630000 R14 EQU 14 02640000 R15 EQU 15 02650000 END 02660000