SRB - Service request block

   %PLSSRB1:;
    %If IHASRB_PLXMAP = 'YES' %then
      %GOTO PLSSRB2;
      START OF SPECIFICATIONS
     01 PROPRIETARY STATEMENT =
               LICENSED MATERIALS - PROPERTY OF IBM
               5694-A01 COPYRIGHT IBM CORP. 1977, 2011
     01 STATUS: HBB7780
     01 DESCRIPTIVE NAME: Service Request Block
     02 ACRONYM: SRB
     01 EXTERNAL CLASSIFICATION:
     02 DMTI:BASE
     02 GUPI:FIELDS
                       SRBASCB
                       SRBCPAFF
                       SRBEP
                       SRBFRRA
                       SRBID
                       SRBPARM
                       SRBPASID
                       SRBPKF
                       SRBPTCB
                       SRBRMTR
     01 END OF EXTERNAL CLASSIFICATION:
     01 MACRO NAME: IHASRB
     01 DSECT NAME:
          SRBSECT
     01 COMPONENT: SUPERVISOR CONTROL (SC1C5)
     01 EYE-CATCHER: SRB
     02 OFFSET: 0
     02 LENGTH: 4
     01 STORAGE ATTRIBUTES:
     02 SUBPOOL: Common, Fixed Storage
     02 KEY: 0
     02 RESIDENCY: ABOVE OR BELOW THE 16M LINE
     01 SIZE: 44 BYTES
     01 CREATED BY:
          Control program routines
     01 POINTED TO BY:
          Built and initialized in user-allocated storage and
          passed as a parameter to the SCHEDULE macro.
          Pointed to by register 0 on entry to the SRB routine
          whose address is in SRBEP.
          ASCBXMPQ FIELD OF THE ASCB DATA AREA
          ASXBFSRB FIELD OF THE ASXB DATA AREA
          ASXBLSRB FIELD OF THE ASXB DATA AREA
          IOSSRB FIELD OF THE IOSB DATA AREA
          PCBSRB FIELD OF THE PCB DATA AREA
          SRBFLNK FIELD OF THE SRB DATA AREA
          SVTGSMQ FIELD OF THE SVT DATA AREA
          SVTLSMQ FIELD OF THE SVT DATA AREA
          SVTSRBA FIELD OF THE SVT DATA AREA
          TQESRB FIELD OF THE TQE DATA AREA
          TVCSSRBA FIELD OF THE TVCS DATA AREA
          WEBUPTR field of the WEB data area
     01 SERIALIZATION:
          Owner-serialized.
     01 FUNCTION:
          Used as input to the SCHEDULE macro when scheduling a
          routine for asynchronous execution.
     01 METHOD OF ACCESS =
          BAL- DSECT ALWAYS PRODUCED, PERFORM USING ON SRBSECT
          BAL LISTING - SPECIFY LIST=YES OR NO ON MACRO CALL
          PL/S - SRBSECT WILL BE BASED(SRBPTR) .
             1. IF YOU WISH TO APPEND THE SRB TO THE END OF
                ANOTHER CONTROL BLOCK, SET %SRBLEVEL='N'
                WHERE N IS AN INTEGER BETWEEN 2 AND 3,INCLUSIVE.
                SRBSECT WILL THEN BE AN UNBASED LEVEL N VARIABLE.
             2. IF YOU WISH TO APPEND ANOTHER CONTROL BLOCK TO THE END
                OF THE SRB, SET %SRB9999=',', AND THE SEMICOLON AT
                THE END OF THE SRB WILL BE REPLACED WITH A COMMA.
           EXAMPLE OF PLACING SRB BETWEEN TWO OTHER BLOCKS:
              %SRBLEVEL='2'
              %SRB9999=','
          DECLARE 1 MYBLOCK,
              2 MYFIELD,
             %INCLUDE SYSLIB(IHASRB)
              2 MYFIELD2
           PL/S LISTING - SPECIFY %IHALIST='YES' BEFORE %INCLUDE
     01 COMPONENT = SC1C5 (SUPERVISOR CONTROL)
     01 DISTRIBUTION LIBRARY = AMACLIB
      END OF SPECIFICATIONS
           %GOTO PLSSRB2;
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 0 SRBSECT
(0) ADDRESS 4 SRB (0)
(0) CHARACTER 4 SRBID EBCDIC ACRONYM FOR SRB OR SSRB.
(4) ADDRESS 4 SRBFLNK FORWARD CHAIN FIELD
(8) ADDRESS 4 SRBASCB (0) PTR TO ASCB OF ADDRESS SPACE SRB IS TO BE DISPATCHED TO
(8) BITSTRING 1   RESERVED. DO NOT USE.
(9) ADDRESS 3 SRBASC24 24-bit ASCB address
(C) CHARACTER 8 SRBFLC (0) SRB AREA MOVED TO LOW CORE
(C) BITSTRING 2 SRBCPAFF CPU AFFINITY MASK
(E) HALFWORD 2 SRBPASID PURGEDQ ASID IDENTIFIER
(10) ADDRESS 4 SRBPTCB PURGEDQ TCB IDENTIFIER
(14) ADDRESS 4 SRBEP (0) ENTRY POINT OF ROUTINE
(14) ADDRESS 4 SRBEPA ADDRESS OF ENTRY POINT (31-BIT USERS)
(14) 1... ....   SRBMODE "X'80'" ADDRESSING MODE INDICATOR
(18) ADDRESS 4 SRBRMTR (0) ADDRESS OF RESOURCE MANAGER ROUTINE
(18) ADDRESS 4 SRBRMTRA (0) ADDRESS OF RESOURCE MANAGER ROUTINE (31-BIT USERS)
(18) BITSTRING 1 SRBRMTR0 Byte 0 of SRBRMTR
(18) 1... ....   SRBRMODE "X'80'" ADDRESSING MODE INDICATOR
(19) BITSTRING 1 (2)
(1B) BITSTRING 1 SRBRMTR3 Byte 3 of SRBRMTR
(1B) .... ...1   SRBRMTLL "X'01'" When on, the local lock will be held when control is given to the RMTR. The RMTR is allowed to release the local lock before returning, but is not required to do so.
(1C) ADDRESS 4 SRBPARM USER PARAMETER
(20) ADDRESS 4 SRBWEB (0) Address of this SRB's WEB. SERIALIZATION: None OWNERSHIP: Supervisor Control
(20) ADDRESS 4 SRBSAVE Reserved. Must be Zero. SERIALIZATION: None OWNERSHIP: Supervisor Control
(24) BITSTRING 1 SRBPKF PROTECT KEY INDICATION
(25) BITSTRING 1 SRBPRIOR (0) PRIORITY LEVEL INDIC
(25) BITSTRING 1 SRBFLGS SRB OPTION FLAGS
(25) 1... ....   SRBLLREQ "X'80'" LOCAL LOCK REQUIRED
(25) .1.. ....   SRBLLHLD "X'40'" LOCAL LOCK HELD
(25) ..1. ....   SRBFRREQ "X'20'" FRR REQUESTED
(25) ...1 ....   SRBFRRCL "X'10'" THIS BIT IS OBSOLETE SINCE FRR PARM AREA ALWAYS CLEARED BY DISPATCHER. RETAINED FOR COMPATIBILITY.
(25) .... 1...   SRBSUSP "X'08'" SUSPENDED SRB ONLY ON FOR SSRB
(25) .... .1..   SRBPNONQ "X'04'" NON QUIESCABLE SRB
(25) .... ....   SRBPSYS "X'00'" SYSTEM PRIORITY LEVEL
(26) BITSTRING 1 SRBHLHI INDICATION OF SUSPEND LOCKS HELD AT SRB SUSPENSION
(27) BITSTRING 1 SRBFLGS1 SRB TYPE FLAGS.
(27) 1... ....   SRBMAIN "X'80'" SRB/SSRB MUST BE FREEMAINED.
(27) .1.. ....   SRBSP245 "X'40'" SRB/SSRB FROM SUBPOOL 245.
(27) ..1. ....   SRBBLK24 "X'20'" SRB BELOW THE LINE
(27) ...1 ....   SRBXESF "X'10'" Mode=primary FRR - only meaningful if SRBFRREQ is set.
(27) .... 1...   SRB1STS "X'08'" This SSRB represents the initial schedule of a workunit and has never been dispatched.
(27) .... .1..   SRBPMCS "X'04'" This SRB is in process-must complete mode
(27) .... ..1.   SRBMSCHD "X'02'" This SRB was schduled via the IEAMSCHD macro
(27) .... ...1   SRBTOKNP "X'01'" This SSRB belongs to the pool created for SUSPEND with SPTOKEN.
(28) ADDRESS 4 SRBFRRA (0) FRR ROUTINE ADDRESS
(28) CHARACTER 3   High three bytes of addr
(2B) CHARACTER 1 SRBFRRA3 Low order byte of address
(2B) .... ...1   SRBSD31 "X'01'" Set this flag to indicate that the FRR can tolerate an SDWA in 31-bit storage. This is equivalent to the SETFRR SDWALOC31=YES parameter
(2C) FULLWORD 4 SRBEND (0) END OF SRB
(2C) ..1. 11..   SRBSIZE "SRBEND-SRBSECT" SIZE OF SRB
(2C) .... ....   DFHSRXDS "SRBSECT" CICS NAME FOR SECTION
(30) DBL WORD 8 (0) ALIGN START OF CICS FIELDS ON DOUBLE WORD BOUNDARY
         START OF CICS EXTENSION AREA
(30) ADDRESS 4 SRXRTNA MVS SRB RETURN ADDRESS
(34) ADDRESS 4 SRXCSAA ADDRESS OF CICS CSA
(38) ADDRESS 4 SRXEXLA ADDRESS OF VTAM EXIT LIST, WHICH IS PROTECTED FOR SRB MODE USE
(3C) ADDRESS 4 SRXKCSPA ADDRESS OF KCSP ENTRY LIST
(40) ADDRESS 4 SRXRSCA ADDRESS OF OS REGISTER SAVE AREA POOL CONTROL AREA
(44) ADDRESS 4 SRXVAA ATTACH-SRB VALIDATION
(48) ADDRESS 4 SRXVEA ENTER-SRB VALIDATION
(4C) ADDRESS 4 SRXVTA VTAM VALIDATION DATA
(50) ADDRESS 4 SRXVSA VSAM VALIDATION DATA
(54) BITSTRING 1 SRXPPKEY CICS PP STATE PROTECT KEY
(58) DBL WORD 8 (0) DOUBLE WORD ALIGN FOR CDS
(58) ADDRESS 4 SRXNXSVA HEAD OF FREE SAVE AREA
(5C) FULLWORD 4   CHAIN AND COUNTER (CDS PAIR) *
(60) FULLWORD 4 SRXSAVE (16) SAVE AREA FOR KCSP FOR BRANCH ENTRY TO POST *
(A0) DBL WORD 8 (0) ROUND UP TO DOUBLE WORD
(A0) 1.1. ....   SRXAAD "*-DFHSRXDS" LENGTH OF SRX
(A0) 1111 .1.1   SRXSBPL "245" SUBPOOL FOR SRX (SQA)
         DEFINITIONS OF OFFSETS IN SAVE AREAS
(A0) .1.. 1...   RSCSVCHN "72" FREE CHAIN FIELD (HEAD OF CHAIN IS IN SRXNXSVA) *
(A0) .1.. 1...   RSCSVFRR "72" FRR PARAMETER AREA ADDR WHEN SAVE AREA IN USE *
(A0) .1.1 ....   RSCSVLTH "80" LENGTH OF SAVE AREA
(A0) 1111 11..   RSCSBPL "252" SUBPOOL FROM WHICH SAVE AREAS ARE OBTAINED *
         Definitions of offsets in FRR Parm Area
(A0) .... .1..   FRRPSRX "4" SRX Address
(A0) .... 1...   FRRPRSCS "8" OS reg save area address
(A0) .... 11..   FRRPRSA "12" Reg save area used by FRR code
(A0) ...1 .111   FRRPISDW "23" SDWA indicator
(A0) .... 11..   FRRPSDW "X'0C'" SDWA was not passed