To specify requests for any of the following:
- Data at a specified real storage address
- Processor status records
- The dump header record
Your exit routine can do the following:
IPCS determines the type of read operation requested by checking
the bits in field ADPLPRDP. The following bit flags are used for
address qualification:
- Bit Flag
- Meaning When Set to 1
- ADPLVIRT
- Request for virtual data
- ADPLREAL
- Request for real data
- ADPLCPU
- Request for processor data
- ADPLHDR
- Request for the dump header
When more than one bit in this field is on, IPCS considers the
request incorrect and returns a nonzero value in register 15. When
no bits are on, IPCS processes a request for data at a virtual storage
address.
Note: The length field ADPLDLEN is not applicable for processor
status and header record reads.
In the example in Figure 1, the subroutine
ACCESS uses the IPCS-supplied storage access service to access data
within a dump. Fields ADPLDLEN and ADPLPAAD are set prior to invoking
the storage access service.
Figure 1. Example
- Invoking the Storage Access Service*
* The ACCESS subroutine calls the storage access service to
* access MYBLK from the dump.
*
ACCESS MVC ADPLDLEN,=Y(MYBLKEND-MYBLK) Length of stor to access
MVC ADPLPAAD,=A(X'200') Dump address to access
L R15,ADPLSERV Load address of exit services router
CALL (15),((ABDPLPTR),CODEACC,ADPLPACC) Invoke service
LTR R15,R15 Was storage retrieved?
BNZ EXIT No. End processing
L R10,ADPLPART Yes. Load address of buffer
*
* MYBLK--Define the format of a very simple control block
* Note that this could be done by using a macro-invocation
*
CODEACC DC A(ADPLSACC) Dump access service code
ABDPLPTR EQU 11 General register 11
*-------------------------------------------------------------------
* Define the format of the ABDPL addressed by R1 on input and
* reserve space for an initialized storage access service
* parameter list
*-------------------------------------------------------------------
BLSABDPL DSECT=NO,AMDEXIT=NO,AMDOSEL=NO, *
AMDPACC=YES,AMDPFMT=NO,AMDPECT=NO,AMDPSEL=NO
MYBLK DSECT , My simplest control block ever
MYBLKPSA DC C'PSA' Identifier
MYBLKDEF DC X'00' Flags
MYBLKD80 EQU X'80' 1st flag bit
MYBLKD40 EQU X'40' 2nd flag bit
MYBLKGHI DC V(MYENTRY) Address of my program
MYBLKEND EQU * End of my control block
*-------------------------------------------------------------------
* Define the format of the ABDPL addressed by R1 on input and
*-------------------------------------------------------------------
BLSABDPL AMDPACC=NO,AMDPFMT=NO,AMDPECT=NO,AMDPSEL=NO