LLDB  mainline
Windows/Common/NtStructures.h
Go to the documentation of this file.
1 //===-- NtStructures.h ------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef liblldb_Plugins_Process_Windows_Common_NtStructures_h_
10 #define liblldb_Plugins_Process_Windows_Common_NtStructures_h_
11 
13 
14 // This describes the layout of a TEB (Thread Environment Block) for a 64-bit
15 // process. It's adapted from the 32-bit TEB in winternl.h. Currently, we care
16 // only about the position of the TlsSlots.
17 struct TEB64 {
18  ULONG64 Reserved1[12];
20  ULONG64 Reserved2[399];
21  BYTE Reserved3[1952];
22  ULONG64 TlsSlots[64];
23  BYTE Reserved4[8];
24  ULONG64 Reserved5[26];
25  ULONG64 ReservedForOle; // Windows 2000 only
26  ULONG64 Reserved6[4];
28 };
29 
30 #endif
TEB64::ReservedForOle
ULONG64 ReservedForOle
Definition: Windows/Common/NtStructures.h:25
TEB64::TlsSlots
ULONG64 TlsSlots[64]
Definition: Windows/Common/NtStructures.h:22
TEB64::Reserved5
ULONG64 Reserved5[26]
Definition: Windows/Common/NtStructures.h:24
TEB64::Reserved4
BYTE Reserved4[8]
Definition: Windows/Common/NtStructures.h:23
TEB64
Definition: Windows/Common/NtStructures.h:17
TEB64::Reserved3
BYTE Reserved3[1952]
Definition: Windows/Common/NtStructures.h:21
TEB64::Reserved6
ULONG64 Reserved6[4]
Definition: Windows/Common/NtStructures.h:26
TEB64::TlsExpansionSlots
ULONG64 TlsExpansionSlots
Definition: Windows/Common/NtStructures.h:27
windows.h
TEB64::Reserved2
ULONG64 Reserved2[399]
Definition: Windows/Common/NtStructures.h:20
TEB64::Reserved1
ULONG64 Reserved1[12]
Definition: Windows/Common/NtStructures.h:18
TEB64::ProcessEnvironmentBlock
ULONG64 ProcessEnvironmentBlock
Definition: Windows/Common/NtStructures.h:19