TKCSEGTIB	EQU	4                
TKPTDAEXTSIG	EQU	'B'             

ptda_s	STRUC
pPTDAParent	DD	?
pPTDASelf	DD	?
pPTDAFirstChild	DD	?
pPTDAExecChild	DD	?
pPTDANextSibling	DD	?
pPTDAPrevSibling	DD	?
ptda_pszproc	DD	?
ptda_pTCBHole	DD	?
ptda_pTCBHead	DD	?
ptda_cTCB	DW	?
ptda_ctib	DW	?
ptda_avatib	DD	TKCSEGTIB DUP (?)
ptda_pdcb	DD	?
ptda_flDbg	DD	?
ptda_ah	DB	SIZE VMAH DUP (?)
ptda_pgdata	DB	SIZE pgdatafake_s DUP (?)
ptda_environ	DW	?
ptda_pBeginLIBPATH	DD	?
ptda_pEndLIBPATH	DD	?
ptda_pgpc	DB	SIZE pgpcfake_s DUP (?)
ptda_pPVDBPrc	DD	?
ptda_pSGSList	DD	?
ptda_pexllist	DD	?
ptda_cdllterm	DD	?
CDS_Handle	DW	26 DUP (?)
OEMPtr	DW	?
VerFlg	DB	?
LCurDrv	DB	?
PCurDrv	DB	?
Fgnd	DB	?
FgndOnly	DB	?
ptda_pad1	DB	?
ptda_pTCBCritSec	DD	?
ptda_pTCBPriQCritSec	DD	?
ptda_cCritSec	DW	?
CurrentPDB	DW	?
seltss	DW	?
ProcFlag	DW	?
ptda_ForcedActions	DD	?
ptda_ulExitCode	DD	?
ptda_ulExitType	DD	?
ptda_ulExitTID	DD	?
ThisCDS	DD	?
ptda_pCDS	DW	?
CDSsize	DW	?
sPCB	DW	?
ptda_pad5	DB	2 DUP (?)
ptda_pPCB	DD	?
JFN_Max	DW	?
NextSrchH	DW	?
SrchRmp	DD	?
FNotifyLocal_First	DW	?
FNotifyLocal_Count	DW	?
Sig_ignf	DW	?
Sig_hndf	DW	?
Sig_errf	DW	?
Sig_attempted	DW	?
Sig_arg	DW	NSIG DUP (?)
Sig_termtid	DW	?
HoldSigCnt	DW	?
SigFocusCnt	DW	?
JFN_Table	DW	FILPERPROC DUP (?)
JFN_Flags	DB	FILPERPROC DUP (?)
ptda_rasflag	DW	?
SysSemPTDATbl	DB	SIZE SysSemPTDAStruc DUP (?)
SavedHardErr	DD	?
ptda_ptdasem	DB	SIZE KSEMMTX DUP (?)
ptda_DLMsem	DB	SIZE KSEMMTX DUP (?)
ptda_lidt	DW	3 DUP (?)
Csid	DW	?
Behav_bit	DW	?
MSW	DW	?
ptda_rsrclist	DD	?
ptda_pldrdldHead	DD	?
pPrSemTbl	DD	?
ulPrTblSize	DD	?
ulPrTotUsed	DD	?
ulPrNextFree	DD	?
hksPrTbl	DD	?
pShSemBmp	DD	?
ulShBmpSize	DD	?
hksShBmp	DD	?
ulMtxOwned	DD	?
ptda_TLMA	DD	?
ptda_TLMABM	DB	TLMA_MAX_BME DUP (?)
ptda_TLMASizeMap	DB	TLMA_MAX_VARS DUP (?)
Cons_Loc	DB	SIZE Cons_Locus DUP (?)
SysCallSfcn	DB	?
SysCall	DB	?
KBD_Mode	DB	?
ptda_NewFiles	DB	?
AutoFail	DB	?
CP_Flgs	DB	?
Sig_vec	DD	NSIG DUP (?)
Exc_vec	DD	EXCUSR DUP (?)
ptda_timerhead  DD       ?
ptda_extsig	DB	?
ptda_pad6	DB	3 DUP (?)
pPvwDataBlk	DD	?
ptda_lanman_sec	DD	?
SigFTerm	DW	?
ptda_ppgdata	DW	?
ptda_child	DW	?
ptda_childalias	DW	?
ptda_handle	DW	?
ptda_module	DW	?
ptda_ldthandle	DW	?
ptda_ldtpgmap	DW	?
ptda_ldtaddr	DD	?
CP_CaseMapTbl	DD	?
codepage_tag	DW	?
JFN_Length	DW	?
JFN_pTable	DD	?
JFN_Flg_Ptr	DD	?
ptda_pad	DB	1 DUP (?)
ExtErr_Locus	DB	?
ExtErr	DW	?
ExtErr_Action	DB	?
ExtErr_Class	DB	?
ptda_infoseg   DB      SIZE InfoSegLDT DUP (0)
ptda_vme	DB	?
ptda_pad3	DB	?
CurrTCB	DW	?
CurrTSD	DW	?
ThisPTDA	DW	?
ptda_NPX_em_cs	DW	?
ptda_NPX_em_eip	DD	?
ptda_pad4	DW	?
ptda_signature	DB	2 DUP (?)
ptda_s	ENDS

ifdef ptda_s
CBPTDA	EQU	SIZE          ptda_s 
TKOPTDA	EQU	(64 *1024  - CBPTDA)
TKOTCB1	EQU	(TKOPTDA - SIZE          tcb_s )
ifdef PAGEMASK
TKOTSD	EQU	((TKOTCB1 - SIZE          tsd_s )  AND   NOT PAGEMASK)
   endif
   else
        CBPTDA  equ     ptda_size
   endif
   .errnz (CBPTDA and 3)
   .errnz (CBPTDA GT 2000h) 


TCBcount	EQU	ptda_cTCB
ptda_ppib       equ     (dword ptr ptda_avatib)
ptda_Pid        equ     (word ptr ptda_infoseg.LIS_CurProcID)
ptda_Ppid       equ     (word ptr ptda_infoseg.LIS_ParProcID)
ptda_ProcType   equ     (byte ptr ptda_infoseg.LIS_ProcType)
ptda_ProcStatus equ     (byte ptr ptda_infoseg.LIS_ProcStatus)
ptda_CurScrnGrp equ     (word ptr ptda_infoseg.LIS_CurScrnGrp)

ptda_flDbgEnabled EQU ptda_pdcb
