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 |
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 |