The following example program shows how data can be retrieved
when the application program has used either the ALL or NOSESS value
for the LIST keyword in the APPCCMD CONTROL=OPRCNTL, QUALIFY=RESTORE
macroinstruction.
***********************************************************************
*
* FUNCTION => THIS EXAMPLE SETS UP AND BASES THE NECESSARY DSECTS, IN
* AN APPROPRIATE LOOPING SCHEME, SO THAT THE RESTORE
* INFORMATION IN THE USER'S AREA CAN BE EXAMINED AND/OR
* PROCESSED.
*
* ENTRY POINT => START
*
* ASSUMPTION => THE USER ALREADY HAS THE ADDRESS OF ISTRPL, IT IS THE
* SAME ISTRPL USED IN THE APPCCMD CONTROL=OPRCNTL,QUALIFY=
* RESTORE FUNCTION CALL.
*
* THIS CODE ASSUMES THAT THIS FUNCTION HAS BEEN CALLED
* AND THE ADDRESS OF ISTRPL IS IN THE PTRRPL REGISTER
*
* REGS USED => SEE THE DESCRIPTIONS BELOW - CONSTANTS AND EQUATES
* 6 = SLDPTR
* 7 = PTRRPL
* 8 = SESSPTR
* 9 = RESTPTR
***********************************************************************
ISTREADS START 0
USING ISTREADS,15
USING IFGRPL,PTRRPL SET UP BASING OF THE RPL FROM
* PTRRPL (THE SAME RPL USED IN THE
* APPCCMD CONTROL=OPRCNTL,QUALIFY=
* RESTORE)
*
L RESTPTR,RPLAREA SET RESTPTR TO USER AREA START
*
*
B CHKSREST CHECK ADDRESS OF RESTORE STRUCTURE
* BEFORE ATTEMPTING TO PROCESS IT
*
SREST EQU * RESTORE DATA STRUCTURE (ISTSREST
* ROUTINE
*
*
USING ISTSREST,RESTPTR SET UP BASING FOR THE RESTORE
* DATA STRUCTURE
*
L SLDPTR,SRESLDAD OBTAIN SESSION LIMITS DATA
* STRUCTURE (ISTSLD) ADDRESS
*
USING ISTSLD,SLDPTR SET UP BASING FOR THE SESSION
* LIMITS DATA STRUCTURE
* .
* . { Insert logic to process Restore Data Structure
* . and the Session Limits Data Structure.)
* .
* .
*
L SESSPTR,SRESESAD OBTAIN NEXT SESSION STRUCTURE
*
*
*
B CHKSESS CHECK SESSPTR ADDRESS BEFORE
* ATTEMPTING TO PROCESS STRUCTURE
*
SESS EQU * SESSION INFORMATION STRUCTURE
* ROUTINE
*
USING SRESESS,SESSPTR SET UP BASING FOR THE SESSION
* INFORMATION STRUCTURE
* .
* .
* . { Insert logic to process Session Information Structure }
* .
* .
* .
*
*
L SESSPTR,SRESNXTA GET NEXT SESSION INFORMATION
* STRUCTURE ADDRESS
*
CHKSESS EQU * CHECK SESSION STRUCTURE ADDRESS
*
LTR SESSPTR,SESSPTR HAVE ALL SESSION INFORMATION
* STRUCTURES BEEN PROCESSED?
*
BNZ SESS NO, PROCESS THE NEXT SESSION
* INFORMATION STRUCTURE
*
* L RESTPTR,SRENXTAD GET NEXT RESTORE STRUCTURE
* ADDRESS
*
CHKSREST EQU * CHECK RESTORE STRUCTURE ADDRESS
*
LTR RESTPTR,RESTPTR HAVE ALL RESTORE STRUCTURES
* BEEN PROCESSED?
*
BNZ SREST NO, PROCESS THE NEXT LU,MODE
* RESTORE DATA STRUCTURE
FINISHED EQU *
***
* MAINLINE PROGRAM CONSTANTS AND EQUATES
***
* ORDER BIT OF AN ADDRESS
*
SLDPTR EQU 6 SESSION LIMITS DATA STRUCTURE
* (ISTSLD) BASE POINTER
*
PTRRPL EQU 7 ISTRPL BASE POINTER
*
*
SESSPTR EQU 8 SESSION INFORMATION STRUCTURE
* (SRESESS) BASE POINTER
*
RESTPTR EQU 9 RESTORE DATA STRUCTURE (ISTSREST)
* BASE POINTER
LTORG
EJECT
IFGRPL AM=VTAM
EJECT
ISTSREST
EJECT
ISTSLD
END