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.
17struct 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
ULONG64 Reserved6[4]
ULONG64 Reserved5[26]
ULONG64 Reserved1[12]
ULONG64 Reserved2[399]
BYTE Reserved3[1952]
ULONG64 TlsSlots[64]
ULONG64 ProcessEnvironmentBlock