//**** START OF SPECIFICATIONS *****************************************00010000 //* *00020000 //* MODULE NAME = APSUC07X *00030000 //* *00040000 //* $MOD (APSUC07X) COMP(APS) PROD(PSF) : VERSION 3.3.0 *00050000 //* *00060000 //* DESCRIPTIVE NAME = RESOURCE EXIT - SAMPLE 1 *00070000 //* *00080000 //* STATUS = VERSION 3, RELEASE 3, LEVEL 0 *00090000 //* *00100000 //* FUNCTION = *00110000 //* This is installation sample exit APSUX07X written in C. *00120000 //* *00130000 //* THIS SAMPLE EXIT IS MERELY INTENDED TO BE A SKELETON OR *00140000 //* TEMPLATE TO DEMONSTRATE THE METHODS OF A RESOURCE EXIT. *00150000 //* *00160000 //* OPERATION = *00170000 //* *00180000 //* NOTES = *00190000 //* DEPENDENCIES = NONE *00200000 //* RESTRICTIONS = NONE *00210000 //* *00220000 //* MODULE TYPE = PROCEDURE *00230000 //* PROCESSOR = C *00240000 //* ATTRIBUTES = REENTRANT *00250000 //* AMODE 31 *00260000 //* RMODE ANY *00270000 //* *00280000 //* ENTRY POINT = APSUX07 *00290000 //* LINKAGE = *00300000 //* One parameter which is the address of APSGEXTP is passed *00310000 //* *00320000 //* INPUT = *00330000 //* APSGEXTP - PSF INSTALLATION EXIT PARAMETER AREA *00340000 //* *00350000 //* OUTPUT = *00360000 //* NONE *00370000 //* *00380000 //* EXIT NORMAL = RETURN TO CALLER *00390000 //* *00400000 //* EXIT ERROR = NONE *00410000 //* *00420000 //* EXTERNAL REFERENCES = *00430000 //* ROUTINES = NONE *00440000 //* DATA AREAS = *00450000 //* APSGEXTP - PSF INSTALLATION EXIT PARAMETER AREA *00460000 //* APSUECA - PSF EXIT COMMUNICATIONS AREA *00470000 //* APSURLST - PSF EXIT RESOURCE LIST AREA *00480000 //* IAZJSPA - JES SEPARATOR PAGE AREA *00490000 //* *00500000 //* INCLUDES = NONE *00510000 //* *00520000 //* MACROS = NONE *00530000 //* *00540000 //* MESSAGES = NONE *00550000 //* *00560000 //* CHANGE ACTIVITY = *00570000 //* $B0=LAPS0008, HPRF320, 990928, BDKUAJT: Initial Version @B0A*00580000 //* $EV=LAPS0009,HPRF330,010530,BUQ4RLB: Version 3.3.0 @EVA*00590000 //* *00600000 //**** END OF SPECIFICATIONS *******************************************00610000 00620000 #pragma comment(date) 00630000 #pragma csect(CODE,"$APSUC07") 00640000 #pragma csect(STATIC,"#APSUC07") 00650000 #pragma linkage(APSUC07,OS) 00660000 #pragma runopts(TRAP(OFF)) 00670000 #pragma map(apsuc07,"APSUC07") 00680000 00690000 /*--------------------------------------------------------------------- 00700000 #include the following control blocks: 00710000 ---------------------------------------------------------------------*/ 00720000 00730000 #include "apsgextc.h" 00740000 #include "apsuecac.h" 00750000 #include "apsurlsc.h" 00760000 #include "apsujspc.h" 00770000 00780000 00790000 void apsuc07(APSGEXTP * xtpptr) 00800000 { 00810000 00820000 /*--------------------------------------------------------------------- 00830000 Determine what type of call is being made to the exit 00840000 ---------------------------------------------------------------------*/ 00850000 00860000 switch (xtpptr->XTPRECP.XTPRECP7->XTP7ETYP) // Select on the 00870000 // type of call 00880000 { 00890000 case XTP7INIT: // Initialization call 00900000 // Insert code here for the exit initialization call 00910000 break; 00920000 00930000 case XTP7BDS: // Begin data set call 00940000 // Insert code here for the begin data set call 00950000 break; 00960000 00970000 case XTP7ACC: // Resource access call 00980000 00990000 /*----------------------------------------------------------- 01000000 Determine the resource type - XTP7RTYP is a valid field 01010000 for the access, load, begin/end, and delete time calls 01020000 -----------------------------------------------------------*/ 01030000 01040000 switch (xtpptr->XTPRECP.XTPRECP7->XTP7RTYP) // Select on the 01050000 // resource type 01060000 { 01070000 case XTP7PD: // Access call for pagedefs 01080000 // Insert code here for access time pagedef calls 01090000 break; 01100000 01110000 case XTP7FD: // Access call for formdefs 01120000 // Insert code here for access time formdef calls 01130000 break; 01140000 01150000 case XTP7CF: // Access call for fonts 01160000 // Insert code here for access time font calls 01170000 break; 01180000 01190000 case XTP7MO: // Access call for overlays 01200000 // Insert code here for access time overlay calls 01210000 break; 01220000 01230000 case XTP7PS: // Access call for page segments 01240000 // Insert code here for access time page segment calls 01250000 break; 01260000 01270000 case XTP7OC: // Access call for object 01280000 // containers 01290000 // Insert code here for access time object container 01300000 // calls 01310000 break; 01320000 01330000 default: // No match found - error 01340000 break; 01350000 } // End of select on the 01360000 // resource type 01370000 break; 01380000 01390000 case XTP7LDB: // Resource load begin call 01400000 // Insert code here for the resource load begin calls. 01410000 // The load begin call is selected according to resource 01420000 // type. A check of xtpptr->XTPRECP.XTPRECP7->XTP7RTYP 01430000 // as shown in the access case may be necessary. 01440000 break; 01450000 01460000 case XTP7LDE: // Resource load end call 01470000 // Insert code here for the resource load end calls. 01480000 // The load end call is selected according to resource 01490000 // type. A check of xtpptr->XTPRECP.XTPRECP7->XTP7RTYP 01500000 // as shown in the access case may be necessary. 01510000 break; 01520000 01530000 case XTP7DSE: // Data set end call 01540000 // Insert code here for resource deletion at data 01550000 // set end calls. The data set end call is selected 01560000 // according to resource type. A check of 01570000 // xtpptr->XTPRECP.XTPRECP7->XTP7RTYP as shown in 01580000 // the access case may be necessary. 01590000 break; 01600000 01610000 case XTP7TERM: // PSF termination call 01620000 // Insert code here for the FSA termination call 01630000 break; 01640000 01650000 default: // No match found - error 01660000 break; 01670000 } // End of select on the 01680000 // type of call 01690000 return; // Return with no error 01700000 } // End of main routine 01710000 01720000