Per-Task Data Area for OS/2 V2.11 ALLSTRICT kernel

┌────────────────────┬──────┬──────┬────┬────────────────────────────────────────┐
│Field NameOffsetLengthTypeDescription                             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pPTDAParent         │+0    │4     │D   │ Parent PTDA                            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pPTDASelf           │+4    │4     │D   │ This PTDA                              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pPTDAFirstChild     │+8    │4     │D   │ Head of child chain PTDA               │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pPTDAExecChild      │+c    │4     │D   │ New Child PTDA (Child being exec'ed)   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pPTDANextSibling    │+10   │4     │D   │ Next sibling's PTDA                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pPTDAPrevSibling    │+14   │4     │D   │ Previous sibling's PTDA                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pszproc        │+18   │4     │D   │Pointer to the EXE file this process is │
│                    │      │      │    │executing. Used by PerfView             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pTCBHole       │+1c   │4     │D   │ some TCB before first Tid 'hole'       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pTCBHead       │+20   │4     │D   │ Head of list of active TCBs owned by   │
│                    │      │      │    │this process                            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_cTCB           │+24   │2     │W   │Number of TCBs in use                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ctib           │+26   │2     │W   │ Count of TIBs allocated                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_avatib         │+28   │10    │D   │Pointers to TIB arrays                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pdcb           │+38   │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_flDbg          │+3c   │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ah             │+40   │40    │S   │Private arena header                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pgdata         │+80   │26    │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_environ        │+a6   │2     │W   │ handle to process's envt seg           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pgpc           │+a8   │400   │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pmemstatcur    │+4a8  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_memstat        │+4ac  │3C    │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pPVDBPrc       │+4e8  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pSGSList       │+4ec  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pexllist       │+4f0  │4     │D   │ Flat pointer to exit list data         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_cdllterm       │+4f4  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│WFP_Start           │+4f8  │2     │W   │ TASKAREA offset for working string     │
│                    │      │      │    │*REDIR*                                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Ren_WFP             │+4fa  │2     │W   │ WFB pointer for rename destination     │
│                    │      │      │    │*REDIR*                                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│WFP_Path_End        │+4fc  │2     │W   │ End of Path component of string.       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Curr_Dir_End        │+4fe  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CDS_Handle          │+500  │34    │W   │ *REDIR*                                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│OEMPtr              │+534  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│LIS_Fgnd            │+536  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│FgndOnly            │+537  │1     │B   │ foreground only flag                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pTCBCritSec    │+538  │4     │D   │ TCB that did enter CritSec             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pTCBPriQCritSec│+53c  │4     │D   │ TCBs awaiting CritSec wakeup           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_cCritSec       │+540  │2     │W   │ Critical Section Count                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CurrentPDB          │+542  │2     │W   │ Currently active PDB (V86 segment)     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DTAddr              │+544  │4     │D   │ User's I/O transfer address *REDIR*    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│seltss              │+548  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│VolID               │+54a  │1     │B   │ !0 if vol ID found in dir search       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│NoSetDir            │+54b  │1     │B   │ If TRUE, do not set directory          │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SpaceFlag           │+54c  │1     │B   │ Embedded spaces allowed in FCB         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│VerFlg              │+54d  │1     │B   │ Initialize with verify off             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│LCurDrv             │+54e  │1     │B   │ Logical current drive - Default A:     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│PCurDrv             │+54f  │1     │B   │ physical drive after assign mapping    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Creating            │+550  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DelAll              │+551  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│FoundDel            │+552  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Found_dev           │+553  │1     │B   │ true => search found a device 3.10     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│fSplice             │+554  │1     │B   │ true => do a splice in transpath 3.10  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ClusFac             │+555  │1     │B   │ sectors/cluster used in dir search     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│cMeta               │+556  │1     │B   │ components found 3.10                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│PathNameType        │+557  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DevPt               │+558  │4     │D   │ Address of device found by DevName     │
│                    │      │      │    │*REDIR*                                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DirSec              │+55c  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DirStart            │+560  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│NxtClusNum          │+562  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│EntFree             │+564  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│EntLast             │+566  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│LastEnt             │+568  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ProcFlag            │+56a  │2     │W   │ if == 1 then this is a special process │
│                    │      │      │    │(swapper or screen switch); NO removable│
│                    │      │      │    │media buffer will be allocated to this  │
│                    │      │      │    │process.                                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ForcedActions  │+56c  │4     │D   │ pending action bits                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ulExitCode     │+570  │4     │D   │ Exit code of last task                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ulExitType     │+574  │4     │D   │ Type of exit                           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ulExitTID      │+578  │4     │D   │ Exit Thread ID (32-bit exceptions)     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ThisCDS             │+57c  │4     │D   │ Address of current CDS *REDIR* 3.10    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pCDS           │+580  │2     │W   │SS relative pointer to a curdir struct  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CDSsize             │+582  │2     │W   │ Size of CDS pointed to by ThisCDS ONLY │
│                    │      │      │    │used for CDS entries in RMP seg         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sattrib             │+584  │2     │W   │ Storage for search attrs *REDIR* 3.10  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│sPCB                │+586  │2     │W   │Selector of Profile Control Block       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pPCB           │+588  │4     │D   │Pointer to Profile Control Block        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Max             │+58c  │2     │W   │ highest JFN used so far                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│NextSrchH           │+58e  │2     │W   │Next value to use for search handle     │
│                    │      │      │    │First value used will be 2.             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SrchRmp             │+590  │4     │D   │ Handle & Selector for RMP segment we   │
│                    │      │      │    │keep search handles in.                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│FNotifyLocal_First  │+594  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│FNotifyLocal_Count  │+596  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_ignf            │+598  │2     │W   │ bit vector of ignored signals          │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_hndf            │+59a  │2     │W   │ bit vector of handled signals          │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_errf            │+59c  │2     │W   │ bit vector of error generating signals │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_attempted       │+59e  │2     │W   │ bit vector of signals we've tried to   │
│                    │      │      │    │handle with 32-bit exceptions           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_arg             │+5a0  │10    │W   │ byte vector of signal arguments        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_termtid         │+5b0  │2     │W   │'Terminator' TID for APTERM.            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│HoldSigCnt          │+5b2  │2     │W   │ DOSHOLDSIGNAL counter                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SigFocusCnt         │+5b4  │2     │W   │PUBLIB DOS32SETSIGNALEXCEPTIONFOCUS     │
│                    │      │      │    │count                                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Table           │+5b6  │28    │W   │default handle table                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Flags           │+5de  │14    │B   │ default JFN flags table                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_rasflag        │+5f2  │2     │W   │ RAS trace indicator                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SysSemPTDATbl       │+5f4  │100   │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SavedHardErr        │+6f4  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ptdasem        │+6f8  │C     │S   │ PTDA semaphore that is, inter-thread   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_DLMsem         │+704  │C     │S   │ b732954 Edd PTDA semaphore that is,    │
│                    │      │      │    │inter-thread                            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_lidt           │+710  │6     │W   │current IDT limit/base                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Csid                │+716  │2     │W   │ Command Subtree ID                     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Behav_bit           │+718  │2     │W   │ program behavior bits                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│MSW                 │+71a  │2     │W   │ CPU matching status word               │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_rsrclist       │+71c  │4     │D   │ far pointer to local resource list     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pldrdldHead    │+720  │4     │D   │ loader demand load data list           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pPrSemTbl           │+724  │4     │D   │ (void * => PSEM) pointer to private    │
│                    │      │      │    │semaphore table                         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulPrTblSize         │+728  │4     │D   │ size of pPrSemTbl in dwords            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulPrTotUsed         │+72c  │4     │D   │ number of entries in pPrSemTbl         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulPrNextFree        │+730  │4     │D   │ next free slot in pPrSemTbl            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│hksPrTbl            │+734  │4     │D   │ kernel semaphore handle for private    │
│                    │      │      │    │semaphore table                         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pShSemBmp           │+738  │4     │D   │ pointer to private bitmap for the      │
│                    │      │      │    │shared semaphore table                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulShBmpSize         │+73c  │4     │D   │ size of pShSemBmp in bits              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│hksShBmp            │+740  │4     │D   │ kernel semaphore handle for private    │
│                    │      │      │    │semaphore table                         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulMtxOwned          │+744  │4     │D   │ number of mutex owned by this process  │
│                    │      │      │    │in the two sem tables                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ShareRetriesLeft    │+748  │2     │W   │number of share/lock viol retries       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│RetryCount          │+74a  │2     │W   │num of share/lock retries to do         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pad1           │+74c  │2     │W   │alignment                               │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pSrchBuf       │+74e  │2     │W   │internal search buffer                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_LibiError      │+750  │2     │W   │reuse same field to hold library init   │
│                    │      │      │    │errors                                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pOpenBuf       │+752  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Cons_Loc            │+754  │A     │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SysCallSfcn         │+75e  │1     │B   │ Value of AL on system entry            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SysCall             │+75f  │1     │B   │ Last system call processed             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│KBD_Mode            │+760  │1     │B   │ Keyboard input mode                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_NewFiles       │+761  │1     │B   │If bit one is set, process supports //  │
│                    │      │      │    │54400 new files (long names)            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│AutoFail            │+762  │1     │B   │ Non-zero if I 24 FAILed magically      │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_direntry       │+763  │20    │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CP_Flgs             │+783  │1     │B   │Default is no codepage in system.       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_vec             │+784  │20    │D   │ signal handlers                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Exc_vec             │+7a4  │1C    │D   │ OSOLETE exception vectors              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_timerhead      │+7c0  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Attrib              │+7c4  │2     │W   │ storage for file attributes *REDIR*    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtFCB              │+7c6  │1     │B   │ Extended FCB                           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_extsig         │+7c7  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_lanman_sec     │+7c8  │4     │D   │ Used by LANMAN & HPFS for security.    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pad2           │+7cc  │2     │W   │alignment                               │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ppgdata        │+7ce  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_child          │+7d0  │2     │W   │ New child PTDA handle (Child being     │
│                    │      │      │    │Exec'ed)                                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_childalias     │+7d2  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_handle         │+7d4  │2     │W   │ handle to this segment                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_module         │+7d6  │2     │W   │ program module handle for process      │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ldthandle      │+7d8  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ldtpgmap       │+7da  │2     │W   │ Bitmap of valid LDT pages              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ldtaddr        │+7dc  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CP_CaseMapTbl       │+7e0  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│codepage_tag        │+7e4  │2     │W   │ the current code page                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Length          │+7e6  │2     │W   │Size of JFN table in bytes              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_pTable          │+7e8  │4     │D   │ PM pointer to JFN table                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Flg_Ptr         │+7ec  │4     │D   │ pointer to JFN flags                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Joins               │+7f0  │1     │B   │ number of joins                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtErr_Locus        │+7f1  │1     │B   │ Extended Error Locus *REDIR* 3.10      │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtErr              │+7f2  │2     │W   │ Extended Error code *REDIR* 3.10       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtErr_Action       │+7f4  │1     │B   │ Extended Error Action *REDIR* 3.10     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtErr_Class        │+7f5  │1     │B   │ Extended Error Class *REDIR* 3.10      │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_infoseg        │+7f6  │24    │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pad3           │+81a  │2     │W   │alignment                               │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CurrTCB             │+81c  │2     │W   │ pointer to current TCB                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CurrTSD             │+81e  │2     │W   │ pointer to current TSD                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ThisPTDA            │+820  │2     │W   │ Selector for this ptda                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_NPX_em_cs      │+822  │2     │W   │ b726833 NPX emulator CS b726833        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_NPX_em_eip     │+824  │4     │D   │ b726833 NPX emulator EIP b726833       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pad4           │+828  │2     │W   │alignment b726833                       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_signature      │+82a  │2     │B   │must contain "TD"                       │
└────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘


[Back: Per-Task Data Area for OS/2 Warp V3.0 RETAIL kernel]
[Next: Per-Task Data Area for OS/2 V2.11 RETAIL kernel]