z/OS MVS Using the Subsystem Interface
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Example 4 — Subsystem Function Routine (LISTEN)

z/OS MVS Using the Subsystem Interface
SA38-0679-00

 
LISTEN   CSECT
LISTEN   AMODE ANY
LISTEN   RMODE ANY
************************************************************************
*                                                                      *
*  Function:                                                           *
*                                                                      *
*     This function routine of the TSYS subsystem is invoked by the    *
*     SSI broadcast of WTO.  When it detects the WTO message issued    *
*     by the WRITEIT routine, it alters the attributes of the WTO to   *
*     be a non-rollable message.                                       *
*                                                                      *
************************************************************************
*                                                                      *
*  Name of the module:  LISTEN                                         *
*                                                                      *
*  System macros used:                                                 *
*                       FREEMAIN                                       *
*                       GETMAIN                                        *
*                       IEFJSSOB                                       *
*                       IHAWQE                                         *
*                                                                      *
*  Base register:  12                                                  *
*                                                                      *
*  Other register use:                                                 *
*                  10   SSOB                                           *
*                  11   SSOBEXT                                        *
*                   9   WQE                                            *
*                                                                      *
*  Attributes:                                                         *
*     This routine must be reentrant and reside in a library           *
*     accessible at the time subsystem initialization occurs.          *
*                                                                      *
************************************************************************
*
************************************************************************
* Chain saveareas                                                      *
************************************************************************
         USING LISTEN,12
         SAVE  (14,12)                 Save caller registers
         LR    12,15                   Establish module base register
*
         LR    10,1                    Establish addressability
         USING SSOB,10                  to the SSOB
*
         GETMAIN R,LV=72               Get working storage
         ST    13,4(1)                 Chain saveareas foreword
         ST    1,8(13)                 Chain saveareas backward
         LR    13,1                    Point to this module's savearea
*
************************************************************************
* Alter message number TSYS001 to be a critical eventual action        *
* message (descriptor code of 11)                                      *
************************************************************************
         L     11,SSOBINDV             Chain through
         USING SSOBEXT,11               the SSWT to
         L     9,SSWTWQE                establish addressability
         USING WQE,9                    to the WQE
         CLC   WQETXT+2(8),=C'TSYS001 ' Check for desired message
         BNE   MSGDONE
         TM    WQEDC2,WQEDCK           Check for DESC(11) already set
         BO    MSGDONE
         OI    WQEDC2,WQEDCK           Alter message to be DESC(11)
         OI    WQEML1,WQEMLCE           and eventual critical
         OI    WQEMCSF1,WQEMCSA        Indicate descriptor codes
*                                       present
         MVC   SSOBRETN,=F'4'          Indicate function recognized
*                                       request, and processed it
         B     RETURN
*
MSGDONE  EQU   *
         MVC   SSOBRETN,=F'0'          Indicate function recognized
*                                       request, but did not care
*
************************************************************************
* Return to the SSI                                                    *
************************************************************************
RETURN   EQU   *
         L     8,4(13)                 Pointer to caller's savearea
         FREEMAIN R,LV=72,A=(13)
         LR    13,8
         LM    14,12,12(13)            Restore the caller's registers
         LA    15,0                    RC=0
         BSM   0,14                    Return
*
*
         IEFJSSOB (WT),CONTIG=NO
*
         IHAWQE
*
         END

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014