(0) |
STRUCTURE |
176 |
DFHSKAPS |
Subtask control area |
SKASKENA contains the entry point of DFHSKE - the subtask
executor. This field must remain at the start of DFHSKAPS.
It is set by SKC and referenced by SIP on MVS, and by SKC on
DOS.
|
(0) |
ADDRESS |
4 |
SKASKENA |
DFHSKENA entry point |
SKASTGP contains the address of automatic storage to be used
by SKE.
|
(4) |
ADDRESS |
4 |
SKASTGP |
add of subtask auto storage |
SKAQUES contain the WQE queues for the subtask. SKAWORKQ
contains WQEs as yet unprocessed by the subtask. SKAPROGQ
contains WQEs currently being processed. SKAWAITQ contains
WQEs that have issued a DFHSK CTYPE= WAIT macro.
|
(8) |
CHARACTER |
12 |
SKAQUES |
WQE queues for subtask |
(8) |
ADDRESS |
4 |
SKAWORKQ |
work |
(C) |
ADDRESS |
4 |
SKAPROGQ |
in_progress |
(10) |
ADDRESS |
4 |
SKAWAITQ |
waiting |
SKAINWQE contains the address of the WQE currently being
processed by SKE.
|
(14) |
ADDRESS |
4 |
SKAINWQE |
WQE being processed |
SKAEWRK is the work ECB for the subtask. It is posted by SKM
when it adds a WQE onto the work queue. When SKE has no work
to do, it waits on this ECB.
|
(18) |
UNSIGNED |
4 |
SKAEWRK |
work ECB for subtask |
SKASCOMP is the subtask completion ECB. It is waited on by
SKC, and is posted by the operating system when the subtsk
terminates.
|
(1C) |
CHARACTER |
4 |
SKASCOMP |
subtask completion ECB |
SKADTECB is posted by SKC when either it DETACHes the
subtask(MVS) or the subtask DETACHes itself(DOS). SKM,
processing a DFHSK CTYPE=TERMINATE waits for subtasks to go
away, before allowing DFHSTP to continue.
|
(20) |
UNSIGNED |
4 |
SKADTECB |
MVS DETACH issued for subtask |
SKAINECB is an ECB that is posted by the subtask to indicate
it has been attached. SKC waits for this to be posted before
assuming the subtask is running.
|
(24) |
UNSIGNED |
4 |
SKAINECB |
ECB for sub initialisation |
SKASRETC contains the completion code of the subtask and is
used to indicate to SKC the type of completion.
|
(28) |
UNSIGNED |
1 |
SKASRETC |
subtask completion code |
SKAESFCD contains the completion code of an ESTAE or STXIT
AB macro if not zero. SKC examines this field and outputs it
in a message if the exit macro failed in the subtask.
|
(29) |
UNSIGNED |
1 |
SKAESFCD |
ESTAE/STXIT failure code |
SKAFAILS is a count of failures that occur when SKE code is
executing (not SK exit code). It is set and referenced by
SKE.
|
(2A) |
HALFWORD |
2 |
SKAFAIL |
count of our code failures |
SKAFLAG1 IS A FLAG BYTE. UPDATED BY DFHSKC ONLY
|
(2C) |
BIT(8) |
1 |
SKAFLAG1 |
flags - TRUE means.. |
SKAFLAG1 HAS BEEN SPLIT OVER FLAG1,2 AND 3
TO OVERCOME MULTIPLE PROCESSORS UPDATING
SHARED STORAGE CONCURRENTLY.
Following 5 flags are spare.
|
(2C) |
1... .... |
|
* |
moved to FLAG2 |
deleted by APAR
deleted by APAR
|
(2C) |
.1.. .... |
|
* |
moved to FLAG2 |
deleted by APAR
deleted by APAR
deleted by APAR
|
(2C) |
..1. .... |
|
* |
moved to FLAG2 |
deleted by APAR
deleted by APAR
|
(2C) |
...1 .... |
|
* |
moved to FLAG3 |
----------------------------- deleted by APAR
FOLLOWING FLAG IS SPARE. deleted by APAR
|
(2C) |
.... 1... |
|
* |
reserved |
SKASINIT indicates that this subtask has been initialised
and is running.
|
(2C) |
.... .1.. |
|
SKASINIT |
subtask is initialised |
deleted by APAR
Following flag is spare.
|
(2C) |
.... ..1. |
|
* |
moved to FLAG2 |
SKASDEAD indicates the subtask has encountered an error
preventing further execution. It is set by SKC and
referenced by SKM.
|
(2C) |
.... ...1 |
|
SKASDEAD |
subtask is dead |
SKAFLAG2 IS A FLAG BYTE UPDATED BY DFHSKE ONLY
|
(2D) |
BIT(8) |
1 |
SKAFLAG2 |
FLAGS - TRUE MEANS.. |
SKARGPSW indicates the presence of the regs and
PSW at the time of failure in DFHSKAPS. It is
set by the SKE exit code, and tested thereafter
in SKE mainline code.
|
(2D) |
1... .... |
|
SKARGPSW |
regs&psw are in SKA |
SKAABCP indicates the presence of the operating
system abend code in DFHSKAPS.
|
(2D) |
.1.. .... |
|
SKAABCP |
abend code is in SKA |
SKARUNNG is set by SKE on entry, and turned off
on exit from SKE. SKC references this field to
see if the subtask was running when it
terminated.
|
(2D) |
..1. .... |
|
SKARUNNG |
subtask running |
Following 3 flags are spare.
|
(2D) |
...1 11.. |
|
* |
spare flags |
SKAUSCOD indicates this subtask is currently
executing an SK exit routine.
|
(2D) |
.... ..1. |
|
SKAUSCOD |
user code in progress |
Following flag is spare.
|
(2D) |
.... ...1 |
|
* |
spare flag |
SKAFLAG3 IS A FLAG BYTE UPDATED BY DFHSKM ONLY
|
(2E) |
BIT(8) |
1 |
SKAFLAG3 |
FLAGS - TRUE MEANS.. |
Following 3 flags are spare.
|
(2E) |
111. .... |
|
* |
spare flags |
SKAQUIES is set by SKM to indicate that the
subtask should terminate processing.
|
(2E) |
...1 .... |
|
SKAQUIES |
quiesce requested |
Following 4 flags are spare.
|
(2E) |
.... 1111 |
|
* |
spare flags |
SKAMWLST is a list of pointers used for an operating system
multiple wait. It is used by DFHSKE. On MVS the list is
terminated by the top bit in the last ECB ptr being on, and
on DOS the byte after the last ECB ptr is non-zero ('FF'X).
|
(30) |
ADDRESS |
4 |
SKAMWLST (4294967302:456215728) |
multiple WAIT list |
(30) |
CHARACTER |
1 |
SKAMFB |
first byte of each address |
(30) |
1... .... |
|
SKAMEOL |
first bit thereof |
SKASAV13 is set by SKE on entry to point to the MVS save
area.
|
(48) |
UNSIGNED |
4 |
SKASAV13 |
ADDR(MVS save area) |
SKAPICA is an MVS Program Interrupt Control Area used by
SKE.
|
(4C) |
UNSIGNED |
4 |
SKAPICA (4294967300:456208384) |
subtask MVS PICA (ESPIE) |
SKAABC contains the operating system abend code, and is used
by SKE. An existance bit is in SKAFLAG1.
|
(5C) |
CHARACTER |
4 |
SKAABC |
operating system abend code |
SKAPSAV contains the registers at time of failure, and is
used by SKE. An existance bit is in SKAFLAG1.
|
(60) |
CHARACTER |
64 |
SKAPSAV |
program check save area |
(60) |
FULLWORD |
4 |
* (4294967312:456208384) |
registers |
SKAPSW contains the PSW at time of failure, and is used by
SKE. An existance bit is in SKAFLAG1.
|
(A0) |
CHARACTER |
8 |
SKAPSW |
EC mode program check PSW |
SKAINT contains extran interrupt information, and is used by
SKE.
|
(A8) |
CHARACTER |
8 |
SKAINT |
interrupt information |
(A8) |
HALFWORD |
2 |
SKAINTL |
instruction length |
(AA) |
HALFWORD |
2 |
SKAINTC |
instruction code |
(B0) |
CHARACTER |
0 |
SKAEND |
end of DFHSKAPS |