AFCB - Authorized function blocks

      CONTROL BLOCK NAME = DFHAFCB/AFTSTART/DFHAFCS.
      DESCRIPTIVE NAME = CICS TS (SVC) Authorised Function Blocks.
           Licensed Materials - Property of IBM
            Restricted Materials of IBM 
           5655-Y04
           (C) Copyright IBM Corp. 1986, 2013 
      FUNCTION = AUTHORISED FUNCTION CONTROL BLOCK.
        The CICS AFCB/AFT/AFCS structure consists of three types
        of control block:
        1. The AFCS. One per CICS Address Space.
           Addressed from AFTAFCS.
        2. The AFCB/AFT. One per authorised TCB.
           Addressed from TCBCAUF.
        In a Version 3 AFCB, what was previously the AFCB trailer
        at a variable offset from the AFCB, is now a prolog at a
        fixed negative offset, which can be addressed using "long
        displacement" instructions.
           A(AFT) = A(AFCB)-64.
      LIFETIME = CICS Job.
      STORAGE CLASS =
      LOCATION =
      NOTES :
       DEPENDENCIES = S/370
       RESTRICTIONS =
       MODULE TYPE = Control block definition
     ------------------------------------------------------------------
                                        Also add AFLODRCB (for R32635)
            R63383 680 130515 HD0EGMA : Add SO domain SVC
      PRODUCT-SENSITIVE PROGRAMMING INTERFACE
      The following field forms part of the Product-Sensitive
      Programming Interface:
      AFCSA
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 240 DFHAFCB
(0) CHARACTER 4 AFIDENT Eyecatcher: 'AFCX'
(4) UNSIGNED 1 AFVER Version and Release level.
(5) UNSIGNED 1 AFSVCNO CICS SVC no.
(6) HALFWORD 2 AFLENG The value that must be added to the address of AFLSTBEG to obtain the address of the AFCB prolog. Negative in V3 AFCBs.
(8) ADDRESS 4 AFCSA ADDRESS OF CICS CSA
(C) ADDRESS 4 AFAICB ADDRESS OF APPL INTERFACE BLOCK
(10) CHARACTER 224 AFLSTBEG START OF ENTRIES
(10) ADDRESS 4 AFCAFCS Address of AFCS block
(14) ADDRESS 4 AFCKTCB Address of Kernel TCB
(18) ADDRESS 4 AFSRB HPO SRB
(1C) ADDRESS 4 AFHPSRB TYPE 6 SVC ROUTINE - HPO SRB
(20) ADDRESS 4 AFIRSVC ADDRESS OF INTER-REGION SVC
(24) ADDRESS 4 AFIRSUDB Address of SUDB if logged on
(28) ADDRESS 4 AFMON MONITORING ROUTINE
(2C) ADDRESS 4 AFMONCB MONITORING CONTROL BLOCK ANCHOR
(30) ADDRESS 4 AFSEC SECURITY ROUTINE
(34) ADDRESS 4 * Security Anchor now in AFCS.
(38) ADDRESS 4 AFPFF PAGE FIX/FREE
(3C) ADDRESS 4 AFCHAIN FIX/FREE RECORD CHAIN ANCH
(40) ADDRESS 4 AFDEQ ADDRESS OF THE DEQ ROUTINE
(44) ADDRESS 4 AFDEQCB ADD. OF DEQ WORK BLOCK
(48) ADDRESS 4 AFPXT Old VSAM subtask postexit -
(4C) ADDRESS 4 AFPXTXA - keep for coexistence with 2.1
(50) ADDRESS 4 AFSKP Subtask Manager Routine.
(54) ADDRESS 4 *
(58) ADDRESS 4 AFPSS Spooler Routine.
(5C) ADDRESS 4 AFPSSCB Spooler Anchor.
(60) ADDRESS 4 AFSDU Old SDUMP. Keep for coexistence
(64) ADDRESS 4 *
(68) ADDRESS 4 AFXRF Xrf Routine.
(6C) ADDRESS 4 *
(70) ADDRESS 4 AFINIT AFCB Initial Authorisation.
(74) ADDRESS 4 *
(78) ADDRESS 4 AFINH AFCB Inherit Authorisation.
(7C) ADDRESS 4 *
(80) ADDRESS 4 AFLODR Loader Routine.
(84) ADDRESS 4 *
(88) ADDRESS 4 AFMFI Monitoring Routine.
(8C) ADDRESS 4 AFMFICB Monitoring Auth Facil Anchor *
(90) ADDRESS 4 AFSMR Storage Management Routine
(94) ADDRESS 4 *
(98) ADDRESS 4 AFAPR AP Domain Bind Routine.
(9C) ADDRESS 4 *
(A0) ADDRESS 4 AFDSP Dispatcher Auth Facil routine
(A4) ADDRESS 4 AFDSPTB Dispatcher Auth block (DSAUTB)
(A8) ADDRESS 4 AFDTSVC Data Tables SVC routine
(AC) ADDRESS 4 AFDTRGNP Data Tables Region Anchor
(B0) ADDRESS 4 AFXCINIT INIT for EXCI environment
(B4) ADDRESS 4 AFXCG XCGLOBAL addr
(B8) ADDRESS 4 AFXCSDMP SDUMP routine for EXCI
(BC) ADDRESS 4 * Reserved
(C0) ADDRESS 4 AFKESVC Kernel SVC
(C4) ADDRESS 4 * Reserved
(C8) ADDRESS 4 AFDUSVC Dump SVC
(CC) ADDRESS 4 * Reserved
(D0) ADDRESS 4 AFDMSVC Domain mgr SVC
(D4) ADDRESS 4 AFCBDMAN DM ENF Anchor(-->DMAFS)
(D8) ADDRESS 4 AFRXSVC RX domain SVC routine
(DC) ADDRESS 4 AFRXANCR RX domain Anchor
(E0) ADDRESS 4 AFMQSVC CICS-MQ SVC routine
(E4) ADDRESS 4 * Reserved
(E8) ADDRESS 4 AFSOSVC SO domain SVC routine
(EC) ADDRESS 4 * Reserved
(F0) CHARACTER 0 * Ensure Double-Word length.
Table 2.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 16 AFTSTART Authorized Function Prolog
(0) HALFWORD 2 AFTLENG Length of AFCB Prolog.
(2) BIT(8) 1 AFTFLG1 Flag Byte.
(2) 1... ....   AFTQR AFT for the QR TCB
(2) .1.. ....   AFTEXCI AFCB belongs to an EXCI env
(2) ..11 111.   * Reserved
(2) .... ...1   AFTESSEN This is an "essential" TCB
(3) UNSIGNED 1 AFTJSKEY CICS jobstep key
(4) ADDRESS 4 AFTAFCS Address of AFCS.
(8) ADDRESS 4 AFTKTCB Address of Kernel TCB Block.
(C) HALFWORD 2 AFTDWLEN Length of dword vector
(E) HALFWORD 2 * Reserved
(10) CHARACTER 0 * Ensure Double-Word length.
                     AUTHORISED FUNCTION COMMON
                            CONTROL BLOCK
      The authorised function common control block (AFCS) is used
      to control the authorised functions of the operating system.
      It is an anchor for the storage that can be shared by tasks
      using the CICS SVC paths. There is one AFCS per CICS address
      space. Each AFCB points to the single AFCS.
      Storage for the AFCS is obtained at initialization by DFHCSVC
      (MVS getmain from key 0 subpool 253), invoked from the Kernel.
Table 3.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 136 DFHAFCS Auth Functions Common CB.
(0) CHARACTER 4 AFCSID Eye-catcher: 'AFCS'
(4) UNSIGNED 1 AFCSVER Version Number
(5) BIT(8) 1 AFCS_FLAGS Various Flags
(5) 1... ....   AFCS_ARM_REGISTERED ARM register status
(5) .1.. ....   AFCS_3QSSBKND_XM_ SUPPORTED When 1, DFH3QSS's back-end routine resides in commonly-addressable storage and supports callers in cross-memory mode (PASN ¬= HASN)
(6) HALFWORD 2 AFCSLEN Length of this Block.
(8) ADDRESS 4 AFCSKCB Kernel Anchor.
(C) HALFWORD 2 AFCSCSVC CICS Service SVC: X'0ANN'.
(E) UNSIGNED 1 AFCSXRFD If non-zero, some WTI Services Disabled
(F) UNSIGNED 1 AFCS_CICS_KEY CICS key N in X'N0' format
(10) ADDRESS 4 AFCSSEC Security Block Anchor.
(14) ADDRESS 4 AFCSDSP Dispatcher global anchor (DSAUSB)
(18) ADDRESS 4 AFCSCSAA AP Domain CSA Address.
(1C) CHARACTER 8 AFCSGAPD Generic Applid.
(24) CHARACTER 8 AFCSSAPD Specific Applid.
(2C) CHARACTER 8 AFCSCLTN CLT Name.
(34) ADDRESS 4 AFCSMFI Monitoring Block Anchor.
(38) CHARACTER 8 AFCSAXIN Alternate Xrf Ids Table Name
(40) ADDRESS 4 AFCSDXHP -> DXH (SM domain)
(44) ADDRESS 4 AFCSDMAN -> DFHDMAFS (ENF anchor)
(48) BIT(32) 4 AFCSCTKN MVS WLM Connect token
(4C) ADDRESS 4 AFCS_CEECTCB A(CEECTCB (LE init module))
(50) UNSIGNED 1 AFCSJSKY Jobstep key
(51) CHARACTER 3 * Reserved
(54) ADDRESS 4 * Reserved
(58) ADDRESS 4 * Reserved
(5C) ADDRESS 4 * Reserved
(60) ADDRESS 4 * Reserved
(64) ADDRESS 4 * Reserved
(68) ADDRESS 4 * Reserved
(6C) ADDRESS 4 AFCS_3QSSBKND Back-end rtn for DFH3QSS
(70) ADDRESS 4 AFCS_SMVA SM MVS Storage mgr anchor
(74) FULLWORD 4 AFCSLGLIM Logon Limit for CICS
(78) ADDRESS 4 AFCSGSAEP A(GSAE header)
(7C) ADDRESS 4 AFLODRCB Loader Authorised Facilities Anchor
(80) ADDRESS 4 AFCSVAT Vendor Anchor Table
(84) ADDRESS 4 * reserved
(88) CHARACTER 0 * alignment

Constants

Table 4.
Len Type Value Name Description
1 DECIMAL 1 AFVER1 AFCB version (Field AFVER) - CICS/OS/VS 1.7, 2.1
1 DECIMAL 2 AFVER2 AFCB version (Field AFVER) - CICS/ESA 3.1
1 DECIMAL 3 AFVER3 AFCB version - CICS/TS 4.2