z/OS MVS IPCS Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Specifying Requests

z/OS MVS IPCS Customization
SA23-1383-00

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:
  • For real storage address requests, field ADPLPAAD must contain the real address of the data to be read.
  • For processor status record requests, field ADPLPAAD must contain the processor address.

    In SADMP, the processor address is between X'0' and X'3F'. In an SVC dump the only valid processor address is X'0'.

  • For header record requests, bit ADPLHDR must be set to 1.
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

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014