         page
..
.
.  Common Deck osa$dual_state_control_block
.  Defines the Dual State Control Block offsets.
.


..
.        DSCBW - Macro used to define offsets to the EI control block (EICB).
.
.        CALLING_SEQUENCE:
.symbol  dscbw     length
.
.        PARAMETERS:
.                  OFFSET_NAME = defines symbol that defines location in EICB of
.                                that value.
.                  LENGTH = length in words associated with symbol value.
.
.        NOTE: Offsets are defined in bytes.
.

         proc
dscbw    pname
f:(0)    equ       dscb_nxt*8
dscb_nxt set       dscb_nxt+f:(2)
         pend
dscb_nxt set       0
.
.
d7ty     dscbw     1                   .C170 OS type
d7jp     dscbw     2                   .C170 job information for cpu 0
d7st     dscbw     1                   .C170 operating system status
d7rs     dscbw     3                   .C170 SCD/MDD communication
d7cm     dscbw     2                   .central memory allocation
d7sv     dscbw     6                   .C170 save area
.
d8ty     dscbw     1                   .C180 operating system type
d8tm     dscbw     2                   .Time spend in C180 OS
d8jp     dscbw     2                   .C180 job parameters for cpu 0
d8st     dscbw     1                   .C180 operating system status
d8ds     dscbw     3                   .deadstart parameters
d8sv     dscbw     6                   .C180 OS scratch area
.
dscm     dscbw     5                   .control information block
dfcm     dscbw     11                  .fatal error message buffer displayed by SCD.

DSCBL    equ       dscb_nxt*8

.
.  Offsets for dual state deadstart.
.
ds_stat  equ       d8ds                .deadstart status
ds_flag  equ       d8ds+4              .deadstart flag
os_sfsa  equ       d8ds+8              .stack frame save area rma
os_jps   equ       d8ds+12             .OS JPS rma
ve_sfsa  equ       d8ds+16             .stack frame save area rma for VE
ve_jps   equ       d8ds+20             .VE JPS rma
.
.  Symbol definition for the concurrent CPU P address.  If running in
.  non-S1 concurrent CPUs, then the P address in the initial exchange
.  package for all CPUs except CPU 0 is set to this address.
.
ccpadd   equ       76(8)*8             .concurrent cpu P address
.
.  Byte offsets for use by MTAMTR.
.
np170ty  equ       d7ty                .date/time pointers, os type
np170pr  equ       d7jp+6              .Current 170 priority
np180pr  equ       d8jp+6              .Current 180 priority
npxtime  equ       d8tm                .Time not spent in NOS
dscbln   equ       dscbl               .dscb block length
.
.  Symbol definition for the EICB pointer word.  This is a real memory word
.  address relative to NOS or NOS/BE address space.
.
eicb_ptr equ       71(8)               .EICB pointer word
.
.  Symbol definitions for the system type and interface level.
.
*copyc syc$compass_os_levels
ost$ei   equ       1
ost$nos  equ       1
ost$nbe  equ       2
ost$nve  equ       2
ost$psr  equ       dft_psr

.  Define EICB interface version number.  I do not understand exactly what this
.  means but if its value is changed check the code in osm$os_environment_monitor
.  that references it.  Instruction retry is not attempted if less than this value.
.  Assume that it has something to to with the host system.

if_versn equ       2
if_level equ       2
.
.  symbol definitions for the dscm words.
.
c170_due equ       21(16)              .c170 due and due with no retry
c180_due equ       24(16)              .c180 due and due with no retry
retry_failed equ   01(16)              .c170=22, c180=25
retry_due equ      10(16)              .c170=32, c180=34
.
.***  End common deck OSA$DUAL_STATE_CONTROL_BLOCK
