GDSX Manual

DCCBDECS and ULHDECSE Listings
Extended General Device Support (GDSX) Manual134303
C-5
DCCBDECS Listing
! 0 = No current checkpoint
! 1 = Stack checkpoint
! 2 = Stack & Buffer checkpoint
!<12>
! Tfilesync at last checkpoint
Int(32) Cp^Transtag; !Transtag at last checkpoint
Int Buffersz; !Size in words of data at tcb.buffers
Int(32) Owner, !Task to receive Notification if this
!task dies. Also, If owner dies, this
!task dies
Dcbaddr, !Address of associated device control
!block
Ldcbaddr; !Address of ldcb for break ownership
Int Saved^Parm2; !For setmodenowait 53 we save user parm2
End;
Literal
TcblenX = ($Len(TCB^Template) '+' 1) '>>' 1, !Length in words
Link^OffsetX = ($Offset(TCB^Template.Link) '+' 1) '>>' 1 ;
Define
!************************** State word ***************************************
Task^Type = <10:15># , !(see below)
Perm^Bit = <9># , !if Set, task does not stop when
!All openers go away
Assoc^Bit = <8># , !if set, all opens for the
!associated terminal go to
!this task
Lh^Bit = <4:7># , !Line number if task is handler
Nomsg^Bit = <3># , !Suppress messages for this task
Stopped^Bit = <2># , !Previously active task
Stop^Pending = <1># , !Stop entered but still had
!openers
Active^Bit = <0># , !Task is active
!*****************************************************************************
!************************** Statex word **************************************
Fault^Bit = <15> #,!Task has faulted
Trap^Bit = <14> #,!Task has trapped
Transend^Bit = <13> #,!Task in ENDTRANSACTION
Tsync^Bit = <12> #,!Tfile Sync Info needs checkpt.
Freeze^Pending = <11> #,!Task frozen with STOP^bit <>0
Wait^Cause = <7:10> #,!Reason for current wait (see below)
New^Bit = <06> #,!Task is in ^OPEN^MESSAGE
Takeover^Bit = <05> #,!Set when takeover occurs
Itcru^Bit = <04> #,!Task has READUPDATE on ITC
Stop^Mode = <0:3> #,!when <> 0, task unstoppable
Dont^Stop = (1 '<<' 12) #,!set stop mode to 1
!*****************************************************************************
Cp^Tsync = Cp^Word.<12> #,
Cp^Type = Cp^Word.<13:15>#,
Io^Iocb = Iocb^Info.<15>#,!set if openid contains @iocb
Io^Dcb = Iocb^Info.<14>#,!set if openid contains @dcb
Io^Rcv = Iocb^Info.<13>#,!set if msgtag contains rcvbuf @
Io^Ext = Iocb^Info.<12>#;!set if rcvbuf is in ext. memory
Literal !Values of wait^cause
Sem^Wait = 1, !Waiting for semaphore
Log^Wait = 2, !Waiting to log
Buffer^Wait = 3, !Waiting for byte buf
Queue^Wait = 4, !Waiting for word buf
Iocb^Wait = 5; !Waiting for IOCB
Literal !Task types
Device^Handler^Task^Type = 0,
Montsk = 1,
Line^Handler^Task^Type = 16,
User^Initialize^Task^Type = 17,
Monitor^Task^Type = 32,
Listener^Task^Type = 33,
Createbackup^Task^Type = 34,