ifdef MEMSTAT

memstat_s	STRUC
ms_idletime	DD	?
ms_cputime	DD	?
ms_ws	DD	?
ms_pad	DD	?
ms_swapin	DD	?
ms_demandload	DD	?
ms_reclaimswap	DD	?
ms_reclaimdiscard	DD	?
ms_swapoutdirty	DD	?
ms_swapoutclean	DD	?
ms_discard	DD	?
ms_bitmapdf	DD	?
ms_stealdirtydf	DD	?
ms_steallastdf	DD	?
ms_stealcleandf	DD	?
memstat_s	ENDS

endif

fakelock_s	STRUC
fl_dummy	DB	12 DUP (?)
fakelock_s	ENDS

toe_worker_t struc
	dd ?
toe_worker_t ends


toe_s	STRUC
toe_ptoeNext	DD	?
toe_ptoePrev	DD	?
toe_cmsec	DD	?
toe_mscount	DD	?
toe_worker	DD	?
toe_s	ENDS

toe_t struc
db size toe_s dup(?)
toe_t ends

ifndef INCL_DIRENT
INCL_TKEXPORT	EQU	1


dir_entry	STRUC
dir_name	DB	11 DUP (?)
dir_attr	DB	?
dir_pad	DB	8 DUP (?)
dir_EAhandle	DW	?
dir_time	DW	?
dir_date	DW	?
dir_firstfile	DW	?
dir_size_l	DW	?
dir_size_h	DW	?
dir_entry	ENDS

DIRENT_DELETED	EQU	0E5H             
DIRENT_NOFEALIST	EQU	0               
attr_read_only	EQU	1H 
attr_hidden	EQU	2H 
attr_system	EQU	4H 
attr_volume_id	EQU	8H 
attr_directory	EQU	10H 
attr_archive	EQU	20H 
attr_device	EQU	40H                 
attr_newfiles	EQU	40H               
attr_not_norm	EQU	80H               
attr_all	EQU	attr_hidden+attr_system+attr_directory
attr_ignore	EQU	attr_read_only+attr_archive+attr_device
attr_changeable	EQU	attr_read_only+attr_hidden+attr_system+attr_archive
attr_used	EQU	attr_read_only OR attr_hidden OR attr_system OR attr_volume_id OR attr_directory OR attr_archive OR attr_newfiles
attr_not_3xbox	EQU	attr_not_norm+attr_newfiles
INV_3XBOX_SRCH_ATTRS	EQU	attr_newfiles   
must_have_attr_read_only	EQU	(attr_read_only  SHL  8 )
must_have_attr_hidden	EQU	(attr_hidden  SHL  8 )
must_have_attr_system	EQU	(attr_system  SHL  8 )
must_have_attr_directory	EQU	(attr_directory  SHL  8 )
must_have_attr_archive	EQU	(attr_archive  SHL  8 )
may_have_all	EQU	attr_read_only OR attr_hidden OR attr_system OR attr_directory OR attr_archive
must_have_all	EQU	must_have_attr_read_only OR must_have_attr_hidden OR must_have_attr_system OR must_have_attr_directory OR must_have_attr_archive
ignore_attr	EQU	10000H 
endif      
SetBP_CurrTCB macro

        push    bp
        mov     bp,TASKAREA:[CurrTCB]
   ENDM

UnSetBP_CurrTCB macro
        pop     bp
   ENDM

TIDANY	EQU	0                
TIDINVALID	EQU	-1               
TLMA_MAX_VARS	EQU	32        
TLMA_MAX_ALLOC_SIZE	EQU	8        
TLMA_BITS_PER_BM_ENTRY	EQU	8         
TLMA_MAX_BME	EQU	(TLMA_MAX_VARS / TLMA_BITS_PER_BM_ENTRY)
TLMA_LEN	EQU	(4  * TLMA_MAX_VARS) 

tcb_s	STRUC
TCBOrdinal	DW	?
TCBNumber	DW	?
TCBForcedActions	DD	?
TCBpPTDA	DD	?
TCBpTSD	DD	?
TCBptib	DD	?
TCBpTCBNext	DD	?
TCBcbStackMax	DD	?
TCBcbStackCur	DD	?
TCBpStack	DD	?
TCBpStack16Lo	DD	?
TCBpStack16Hi	DD	?
TCBpLibiHead	DD	?
TCBpLibiCurr	DD	?
TCBpLibiFree	DD	?
TCB_pcriFrameType	DD	?
TCB_pFrameBase	DD	?
TCB_hookheadLocal	DD	2 DUP (?)
TCB_phookOwnerHead	DD	?
TCBpteKStackTCB0	DD	?
TCBpteKStackTCB1	DD	?
TCBpteKStackTSD	DD	?
TCBpteKStackPTDA0	DD	?
TCBpteKStackPTDA1	DD	?
TCBpteKStackPTDA2	DD	?
TCBCurrTCB	DD	?
TCBCurrTSD	DD	?
TCBBiasTCB	DD	?
TCBBiasTSD	DD	?
TCBpDHRetAddr	DD	?
TCBTLMA	DD	TLMA_MAX_VARS DUP (?)
TCBDMAAdd	DD	?
TCBSecPos	DD	?
TCBThisSFT	DD	?
TCBValSec	DD	?
TCBpRTCB	DD	?
TCBProc_ID	DW	?
TCBUser_ID	DW	?
TCBfSharing	DB	?
TCBSrvAttrib	DB	?
TCBJfnFlag	DB	?
TCBAllowed	DB	?
TCBOpCookie	DD	?
TCBOpFlags	DW	?
TCBCurBuf	DD	?
TCBThishVPB	DW	?
TCBNextAdd	DW	?
TCBBytSecPos	DW	?
TCBClusNum	DW	?
TCBLastPos	DW	?
TCBBytCnt1	DW	?
TCBBytCnt2	DW	?
TCBSecCnt	DW	?
TCBSecClusPos	DB	?
TCBNoSetDir	DB	?
TCBJoins	DB	?
TCBPad	DB	?
TCBDevFCB	DB	?
TCB_direntry	DB	SIZE dir_entry DUP (?)
TCBName1	DB	12 DUP (?)
TCBName2	DB	13 DUP (?)
TCBDESTSTART	DW	?
        DB      ((SIZE dir_entry) - ($ - TCBName1)) DUP (0)


TCBBufHE	DB	?
TCBactBufHE	DB	?
TCBfIOLock	DB	?
TCBLockHndl	DB	SIZE fakelock_s DUP (?)
TCBThisCDS	DD	?
TCBThisFSC	DD	?
TCBpTmpCDS	DD	?
TCBpOpenBuf	DW	?
TCBpSearchBuf	DW	?
TCBFailErr	DW	?
TCBShareRetriesLeft	DW	?
TCBRetryCount	DW	?
TCBRetryLoop	DW	?
TCB_pSrchBuf	DW	?
TCB_pOpenBuf	DW	?
TCBAttrib	DW	?
TCBExtFCB	DB	?
TCBPad2	DB	?
TCBWFP_Start	DW	?
TCBRen_WFP	DW	?
TCBWFP_Path_End	DW	?
TCBCurr_Dir_End	DW	?
TCBDTAddr	DD	?
TCBVolID	DB	?
TCBSpaceFlag	DB	?
TCBCreating	DB	?
TCBDelAll	DB	?
TCBFoundDel	DB	?
TCBFound_dev	DB	?
TCBfSplice	DB	?
TCBClusFac	DB	?
TCBcMeta	DB	?
TCBPathNameType	DB	?
TCBDevPt	DD	?
TCBDirSec	DD	?
TCBDirStart	DW	?
TCBNxtClusNum	DW	?
TCBEntFree	DW	?
TCBEntLast	DW	?
TCBLastEnt	DW	?
TCBSattrib	DW	?
TCB_SemInfo	DD	?
TCB_SemDebugAddr	DD	?
TCB_NPX_Buffer	DD	?
TCBpTCBWaitNext	DD	?
TCBpTCBWaitList	DD	?
TCBQState	DB	?
TCBState	DB	?
TCBWakeFlags	DB	?
TCBcWindowBoost	DB	?
TCBPriClass	DB	?
TCBPriLevel	DB	?
TCBPriClassMod	DB	?
TCBSchFlags	DB	?
TCBPriority	DW	?
TCBPriorityMin	DW	?
TCBcBoostLock	DD	?
TCBpTCBPriNextQ	DD	?
TCBpTCBPriPrevQ	DD	?
TCBpTCBPriHigher	DD	?
TCBpTCBPriLower	DD	?
TCBpTCBPriNext	DD	?
TCBpTCBPriPrev	DD	?
TCBpTCBWakeup	DD	?
TCBSleepID	DD	?
TCBtoe	DB	SIZE toe_t DUP (?)
TCBCheckedSig	DB	?
TCBfSwapping	DB	?
TCBVolIONest	DB	?
TCBReqPktFlg	DB	?
TCBReqPkt	DD	?
ifdef MEMSTAT
TCBpMemStatCur	DD	?
TCBMemStat	DB	SIZE memstat_s DUP (?)
endif
TCBSysTime	DD	?
TCBUserTime	DD	?
TCB_pPVDBThd	DD	?
TCB_flDbg	DD	?
TCBCpl2_ESP	DD	?
TCBCpl2_SS	DW	?
TCBNewFlags	DB	?
TCBEntryActions	DB	?
TCBSig_pend	DW	?
TCBSig_holding	DW	?
TCBSig_cur	DW	?
TCBXcptRepRec	DD	?
TCBSig_termtid	DW	?
TCBSecbits	DB	?
TCBSecFlags	DB	?
TCB_ulSRIndex	DD	?
TCBMiscFlags	DB	?
TCBModeFlags	DW	?
TCBSpareFlags	DB	?
TCBLibiFlags	DB	?
TCBFiller	DB	?
TCB_ProcNameBuf	DD	?
TCB_ObjNameBuf	DD	?
TCB_TmpNameBuf	DD	?
TCB_SrcModNameBuf	DD	?
TCB_FaultBuf	DD	?
TCB_ObjNameBufL	DW	?
TCB_TmpNameBufL	DW	?
TCB_SrcModNameBufL	DW	?
TCB_FaultBufL	DW	?
TCBSecchild	DD	?
tcb_s	ENDS

tcb_t struc
db size tcb_s dup(?)
tcb_t ends

TCB struc
db size tcb_s dup(?)
TCB ends

PTCB struc
	dd ?
PTCB ends

TCB_TgtModNameBuf	EQU	TCB_TmpNameBuf  
TCB_TgtModNameBufL	EQU	TCB_TmpNameBufL 
TCBIOCopyStart	EQU	TCBDMAAdd       
TCBIOCopySize   EQU     (TCB_SemInfo - TCBDMAAdd)
TCBIOCopySizeX  EQU     (TCBIOCopySize - SIZE TCB_TmpNameBufL)
fOPENDASD	EQU	01H             
fLOCKDRV	EQU	02H             
BufHE_Percolate	EQU	1H              
BufHE_CurBufFreed	EQU	2H            
SM_TCB_SWAPPING	EQU	01H             
SM_TCB_RESIZING	EQU	02H             
TMF_CMapFailed	EQU	(01H )          
TMF_IGNORE_HE	EQU	(02H )          
TMF_MULT_XCPT	EQU	(04H )          
TMF_NoFwd	EQU	(08H )          
TMF_EXIT_TERM	EQU	(10H )          
TMF_NO_EXCEPT	EQU	(20H )          
TMF_XCPT_HE	EQU	(40H )          
TCBForce_Flg    EQU     BYTE PTR TCBForcedActions
TCBCpl2_SP      EQU     WORD PTR TCBCpl2_ESP

        .errnz          ((SIZE tcb_s) AND 3)
        .errnz          (TCBIOCopyStart AND 3)
        .errnz          (TCBIOCopySize  AND 3)

ifdef  VMSTRICT
TSDStackSize	EQU	1994                
else
TSDStackSize	EQU	1996                
endif

tsd_s	STRUC
ifdef MISCSTRICT
TSDpad	DB	4096 DUP (?)
endif
TSDUserStack	DW	TSDStackSize DUP (?)
TSDUserESP	DD	?
TSDUserSS	DW	?
TSDUserSSPad	DW	?
TSDKernelESP	DD	?
TSDKernelEBP	DD	?
TSDpTCB	DD	?
TSDpfnFault	DD	?
TSDTrapNum	DD	?
TSDerrcFault	DD	?
TSDpljmp	DD	?
TSDselFault	DW	?
TSDCpl2_SSSize	DW	?
TSDdescLDT	DD	2 DUP (?)
TSDdescKStackSS	DD	2 DUP (?)
TSDdescFPEM	DD	2 DUP (?)
TSDdescTIB	DD	2 DUP (?)
TSDulExitCode	DD	?
TSDerridFault	DD	?
TSDPFErr	DD	?
TSDlDbgRangeStart	DD	?
TSDlDbgRangeEnd	DD	?
TSDlDbgLastAddr	DD	?
TSDpPCB	DD	?
TSDpDLLTerm	DD	?
ifdef VMSTRICT
TSDcObjSem	DD	?
endif
tsd_s	ENDS

tsd_t struc
db size tsd_s dup(?)
tsd_t ends

TSDdescTaskCopy	EQU	TSDdescLDT
TSDdescThreadCopy	EQU	TSDdescKStackSS
ifdef   MISCSTRICT
        .errnz  SIZE tsd_s - 4096*2
else
        .errnz  SIZE tsd_s - 4096
endif

