Per-Task Data Area for OS/2 Warp V3.0 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_pBeginLIBPATH  │+a8   │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pEndLIBPATH    │+ac   │4     │D   │D75220- support dynamic libpath         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pgpc           │+b0   │1E0   │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pPVDBPrc       │+290  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pSGSList       │+294  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pexllist       │+298  │4     │D   │ Flat pointer to exit list data         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_cdllterm       │+29c  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│WFP_Start           │+2a0  │2     │W   │ TASKAREA offset for working string     │
│                    │      │      │    │*REDIR*                                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Ren_WFP             │+2a2  │2     │W   │ WFB pointer for rename destination     │
│                    │      │      │    │*REDIR*                                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│WFP_Path_End        │+2a4  │2     │W   │ End of Path component of string.       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Curr_Dir_End        │+2a6  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CDS_Handle          │+2a8  │34    │W   │ *REDIR*                                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│OEMPtr              │+2dc  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│LIS_Fgnd            │+2de  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│FgndOnly            │+2df  │1     │B   │ foreground only flag                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pTCBCritSec    │+2e0  │4     │D   │ TCB that did enter CritSec             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pTCBPriQCritSec│+2e4  │4     │D   │ TCBs awaiting CritSec wakeup           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_cCritSec       │+2e8  │2     │W   │ Critical Section Count                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CurrentPDB          │+2ea  │2     │W   │ Currently active PDB (V86 segment)     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DTAddr              │+2ec  │4     │D   │ User's I/O transfer address *REDIR*    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│seltss              │+2f0  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│VolID               │+2f2  │1     │B   │ !0 if vol ID found in dir search       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│NoSetDir            │+2f3  │1     │B   │ If TRUE, do not set directory          │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SpaceFlag           │+2f4  │1     │B   │ Embedded spaces allowed in FCB         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│VerFlg              │+2f5  │1     │B   │ Initialize with verify off             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│LCurDrv             │+2f6  │1     │B   │ Logical current drive - Default A:     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│PCurDrv             │+2f7  │1     │B   │ physical drive after assign mapping    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Creating            │+2f8  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DelAll              │+2f9  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│FoundDel            │+2fa  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Found_dev           │+2fb  │1     │B   │ true => search found a device 3.10     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│fSplice             │+2fc  │1     │B   │ true => do a splice in transpath 3.10  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ClusFac             │+2fd  │1     │B   │ sectors/cluster used in dir search     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│cMeta               │+2fe  │1     │B   │ components found 3.10                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│PathNameType        │+2ff  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DevPt               │+300  │4     │D   │ Address of device found by DevName     │
│                    │      │      │    │*REDIR*                                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DirSec              │+304  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│DirStart            │+308  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│NxtClusNum          │+30a  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│EntFree             │+30c  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│EntLast             │+30e  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│LastEnt             │+310  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ProcFlag            │+312  │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  │+314  │4     │D   │ pending action bits                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ulExitCode     │+318  │4     │D   │ Exit code of last task                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ulExitType     │+31c  │4     │D   │ Type of exit                           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ulExitTID      │+320  │4     │D   │ Exit Thread ID (32-bit exceptions)     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ThisCDS             │+324  │4     │D   │ Address of current CDS *REDIR* 3.10    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pCDS           │+328  │2     │W   │SS relative pointer to a curdir struct  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CDSsize             │+32a  │2     │W   │ Size of CDS pointed to by ThisCDS ONLY │
│                    │      │      │    │used for CDS entries in RMP seg         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sattrib             │+32c  │2     │W   │ Storage for search attrs *REDIR* 3.10  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│sPCB                │+32e  │2     │W   │Selector of Profile Control Block       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pPCB           │+330  │4     │D   │Pointer to Profile Control Block        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Max             │+334  │2     │W   │ highest JFN used so far                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│NextSrchH           │+336  │2     │W   │Next value to use for search handle     │
│                    │      │      │    │First value used will be 2.             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SrchRmp             │+338  │4     │D   │ Handle & Selector for RMP segment we   │
│                    │      │      │    │keep search handles in.                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│FNotifyLocal_First  │+33c  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│FNotifyLocal_Count  │+33e  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_ignf            │+340  │2     │W   │ bit vector of ignored signals          │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_hndf            │+342  │2     │W   │ bit vector of handled signals          │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_errf            │+344  │2     │W   │ bit vector of error generating signals │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_attempted       │+346  │2     │W   │ bit vector of signals we've tried to   │
│                    │      │      │    │handle with 32-bit exceptions           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_arg             │+348  │10    │W   │ byte vector of signal arguments        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_termtid         │+358  │2     │W   │'Terminator' TID for APTERM.            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│HoldSigCnt          │+35a  │2     │W   │ DOSHOLDSIGNAL counter                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SigFocusCnt         │+35c  │2     │W   │PUBLIB DOS32SETSIGNALEXCEPTIONFOCUS     │
│                    │      │      │    │count                                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Table           │+35e  │28    │W   │default handle table                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Flags           │+386  │14    │B   │ default JFN flags table                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_rasflag        │+39a  │2     │W   │ RAS trace indicator                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SysSemPTDATbl       │+39c  │100   │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SavedHardErr        │+49c  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ptdasem        │+4a0  │C     │S   │ PTDA semaphore that is, inter-thread   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_DLMsem         │+4ac  │C     │S   │ b732954 Edd PTDA semaphore that is,    │
│                    │      │      │    │inter-thread                            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_lidt           │+4b8  │6     │W   │current IDT limit/base                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Csid                │+4be  │2     │W   │ Command Subtree ID                     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Behav_bit           │+4c0  │2     │W   │ program behavior bits                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│MSW                 │+4c2  │2     │W   │ CPU matching status word               │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_rsrclist       │+4c4  │4     │D   │ far pointer to local resource list     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pldrdldHead    │+4c8  │4     │D   │ loader demand load data list           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pPrSemTbl           │+4cc  │4     │D   │ (void * => PSEM) pointer to private    │
│                    │      │      │    │semaphore table                         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulPrTblSize         │+4d0  │4     │D   │ size of pPrSemTbl in dwords            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulPrTotUsed         │+4d4  │4     │D   │ number of entries in pPrSemTbl         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulPrNextFree        │+4d8  │4     │D   │ next free slot in pPrSemTbl            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│hksPrTbl            │+4dc  │4     │D   │ kernel semaphore handle for private    │
│                    │      │      │    │semaphore table                         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│pShSemBmp           │+4e0  │4     │D   │ pointer to private bitmap for the      │
│                    │      │      │    │shared semaphore table                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulShBmpSize         │+4e4  │4     │D   │ size of pShSemBmp in bits              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│hksShBmp            │+4e8  │4     │D   │ kernel semaphore handle for private    │
│                    │      │      │    │semaphore table                         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ulMtxOwned          │+4ec  │4     │D   │ number of mutex owned by this process  │
│                    │      │      │    │in the two sem tables                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ShareRetriesLeft    │+4f0  │2     │W   │number of share/lock viol retries       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│RetryCount          │+4f2  │2     │W   │num of share/lock retries to do         │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│RetryLoop           │+4f4  │2     │W   │num of share/lock retry delay loops ceb │
│                    │      │      │    │75871                                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pSrchBuf       │+4f6  │2     │W   │internal search buffer                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pad1           │+4f8  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pOpenBuf       │+4fa  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_TLMA           │+4fc  │4     │D   │in use flag and dword copy count        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_TLMABM         │+500  │4     │B   │thread local memory                     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_TLMASizeMap    │+504  │20    │B   │thread local memory                     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Cons_Loc            │+524  │A     │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SysCallSfcn         │+52e  │1     │B   │ Value of AL on system entry            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│SysCall             │+52f  │1     │B   │ Last system call processed             │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│KBD_Mode            │+530  │1     │B   │ Keyboard input mode                    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_NewFiles       │+531  │1     │B   │If bit one is set, process supports //  │
│                    │      │      │    │54400 new files (long names)            │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│AutoFail            │+532  │1     │B   │ Non-zero if I 24 FAILed magically      │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_direntry       │+533  │20    │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CP_Flgs             │+553  │1     │B   │Default is no codepage in system.       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Sig_vec             │+554  │20    │D   │ signal handlers                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Exc_vec             │+574  │1C    │D   │ OSOLETE exception vectors              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_timerhead      │+590  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Attrib              │+594  │2     │W   │ storage for file attributes *REDIR*    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtFCB              │+596  │1     │B   │ Extended FCB                           │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_extsig         │+597  │1     │B   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_lanman_sec     │+598  │4     │D   │ Used by LANMAN & HPFS for security.    │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pad2           │+59c  │2     │W   │alignment                               │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ppgdata        │+59e  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_child          │+5a0  │2     │W   │ New child PTDA handle (Child being     │
│                    │      │      │    │Exec'ed)                                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_childalias     │+5a2  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_handle         │+5a4  │2     │W   │ handle to this segment                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_module         │+5a6  │2     │W   │ program module handle for process      │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ldthandle      │+5a8  │2     │W   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ldtpgmap       │+5aa  │2     │W   │ Bitmap of valid LDT pages              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_ldtaddr        │+5ac  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CP_CaseMapTbl       │+5b0  │4     │D   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│codepage_tag        │+5b4  │2     │W   │ the current code page                  │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Length          │+5b6  │2     │W   │Size of JFN table in bytes              │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_pTable          │+5b8  │4     │D   │ PM pointer to JFN table                │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│JFN_Flg_Ptr         │+5bc  │4     │D   │ pointer to JFN flags                   │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│Joins               │+5c0  │1     │B   │ number of joins                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtErr_Locus        │+5c1  │1     │B   │ Extended Error Locus *REDIR* 3.10      │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtErr              │+5c2  │2     │W   │ Extended Error code *REDIR* 3.10       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtErr_Action       │+5c4  │1     │B   │ Extended Error Action *REDIR* 3.10     │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ExtErr_Class        │+5c5  │1     │B   │ Extended Error Class *REDIR* 3.10      │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_infoseg        │+5c6  │24    │S   │                                        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pad3           │+5ea  │2     │W   │alignment                               │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CurrTCB             │+5ec  │2     │W   │ pointer to current TCB                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│CurrTSD             │+5ee  │2     │W   │ pointer to current TSD                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ThisPTDA            │+5f0  │2     │W   │ Selector for this ptda                 │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_NPX_em_cs      │+5f2  │2     │W   │ b726833 NPX emulator CS b726833        │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_NPX_em_eip     │+5f4  │4     │D   │ b726833 NPX emulator EIP b726833       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_pad4           │+5f8  │2     │W   │alignment b726833                       │
├────────────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│ptda_signature      │+5fa  │2     │B   │must contain "TD"                       │
└────────────────────┴──────┴──────┴────┴────────────────────────────────────────┘


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