CONTROL BLOCK NAME = DFHSKWPS
DESCRIPTIVE NAME = CICS TS (SKP) Work Queue Element (WQE)
Licensed Materials - Property of IBM
Restricted Materials of IBM
5655-Y04
(C) Copyright IBM Corp. 1983
FUNCTION = PLS structure describing WQE.
This structure is used by the CICS General Purpose
Subtasking mechanism.
Each instance of this control block represents a piece
of work to be performed (usually by a subtask).
One instance of the WQE is created per DFHSK PERFORM
macro invocation.
LIFETIME = Space for WQEs is allocated in DFHSKP static storage.
Further WQEs as necessary are obtained during CICS execution
The WQEs are freed at CICS termination.
STORAGE CLASS =
Static initially, and subsequent WQEs are obtained in SHARED
storage.
LOCATION =
WQEs reside on queues controlled by the Subtask Manager(SKM)
and the subtask executor(SKE). The queues are anchored from
static storage (nb CICS STATIC STORAGE) belonging to SKP.
INNER CONTROL BLOCKS =
None.
NOTES :
DEPENDENCIES = S/370
RESTRICTIONS = None.
MODULE TYPE = Control block definition
------------------------------------------------------------------
EXTERNAL REFERENCES = None.
DATA AREAS = None.
CONTROL BLOCKS = None.
GLOBAL VARIABLES (Macro pass) = None.
------------------------------------------------------------------
WORK QUEUE ELEMENT
Table 1.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
100 |
DFHSKWPS |
Work Queue Element (WQE) |
SKWCHAIN - contains the address of the next WQE in chain
|
(0) |
ADDRESS |
4 |
SKWCHAIN |
chain to next WQE |
SKWUPARM - contains the contents of the PARM field specified
in the DFHSK CTYPE=PERFORM macro.
|
(4) |
ADDRESS |
4 |
SKWUPARM |
PARM specified on SK wait |
SKWUCADD - contains the address of SK EXIT routine - the
label specified in the ROUTINE keyword on the SK
CTYPE=PERFORM macro.
|
(8) |
ADDRESS |
4 |
SKWUCADD |
user code address to execute |
SKWSREGS - used by to save the registers before branching to
the SK EXIT routine by SKM (synchronous) and SKE
(asynchronous)
|
(C) |
CHARACTER |
64 |
SKWSREGS |
SKM/SKE register save area |
SKWCECB - this is the ECB used to communicate between SKM
and SKE. SKM waits on it when the WQE has been put onto a
subtask work queue. SKE posts it when the WQE has been
processed.
|
(4C) |
UNSIGNED |
4 |
SKWCECB |
CICS work complete ECB |
SKWOECB - this contains the address of the ECB specified on
the SK CTYPE=WAIT macro issued by the SK EXIT routine.
|
(50) |
ADDRESS |
4 |
SKWOECBA |
ptr to ECB for SK WAIT |
SKWOABC - contains the operating system abend code when the
abend exit was entered in SKE.
|
(54) |
UNSIGNED |
4 |
SKWOABC |
operating system abend code |
SKWOABSP - contains the address of a piece of operating
system storage obtained by SKE to hold info about a program
check or abend. Its contents are copied to a TACB by SKM.
|
(58) |
ADDRESS |
4 |
SKWOABSP |
ptr to os abend storage |
SKWESAVE - contains the address of the save area specified
by the SK EXIT routine when it issued an SK CTYPE=WAIT
macro.
|
(5C) |
ADDRESS |
4 |
SKWESAVE |
A(save area for sk exit regs) |
SKWFLAGS - flag byte
|
(60) |
BIT(8) |
1 |
SKWFLAGS |
flags - TRUE means.. |
SKWTCANC - set by SKM when the CICS task it is running on
behalf of has been purged. SKE ceases to process the WQE
when it notices this set.
|
(60) |
1... .... |
|
SKWTCANC |
CICS task has been cancelled |
SKWFABST - set by SKM to indicate that the storage
containing regs and PSW at time of failure can be freed by
SKE when it next sees the WQE
|
(60) |
.1.. .... |
|
SKWFABST |
os abend stg requires freeing |
SKWWAIT - set by SKE to indicate this the SK EXIT has
requested SKE waits on an ECB.
|
(60) |
..1. .... |
|
SKWWAIT |
WQE is on WAIT queue |
SKWTACBE - indicates presence of operating storage
containing regs and PSW at time of error.
|
(60) |
...1 .... |
|
SKWTACBE |
TACB is chained (in os stg) |
SKWRC - return code from execution of WQE by SKE to SKM
|
(61) |
UNSIGNED |
1 |
SKWRC |
return code |
(62) |
CHARACTER |
2 |
* |
fullword alignment |