blob: 6826b98c769e792e9ade222ee4fbbeacd6655578 [file] [log] [blame]
Adrian McCarthy0a750822016-02-25 00:23:27 +00001//===-- NtStructures.h ------------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef liblldb_Plugins_Process_Windows_Common_NtStructures_h_
11#define liblldb_Plugins_Process_Windows_Common_NtStructures_h_
12
13#include "lldb/Host/windows/windows.h"
14
15// This describes the layout of a TEB (Thread Environment Block) for a 64-bit
16// process. It's adapted from the 32-bit TEB in winternl.h. Currently, we care
17// only about the position of the TlsSlots.
Kate Stoneb9c1b512016-09-06 20:57:50 +000018struct TEB64 {
19 ULONG64 Reserved1[12];
20 ULONG64 ProcessEnvironmentBlock;
21 ULONG64 Reserved2[399];
22 BYTE Reserved3[1952];
23 ULONG64 TlsSlots[64];
24 BYTE Reserved4[8];
25 ULONG64 Reserved5[26];
26 ULONG64 ReservedForOle; // Windows 2000 only
27 ULONG64 Reserved6[4];
28 ULONG64 TlsExpansionSlots;
Adrian McCarthy0a750822016-02-25 00:23:27 +000029};
30
31#endif