LLDB
mainline
llvm-project
lldb
source
Plugins
Process
minidump
minidump/NtStructures.h
Go to the documentation of this file.
1
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_MINIDUMP_NTSTRUCTURES_H
2
3
#define LLDB_SOURCE_PLUGINS_PROCESS_MINIDUMP_NTSTRUCTURES_H
4
5
//===-- NtStructures.h ------------------------------------------*- C++ -*-===//
6
//
7
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
8
// See https://llvm.org/LICENSE.txt for license information.
9
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef liblldb_Plugins_Process_Minidump_NtStructures_h_
14
#define liblldb_Plugins_Process_Minidump_NtStructures_h_
15
16
#include "llvm/Support/Endian.h"
17
18
namespace
lldb_private
{
19
20
namespace
minidump {
21
22
// This describes the layout of a TEB (Thread Environment Block) for a 64-bit
23
// process. It's adapted from the 32-bit TEB in winternl.h. Currently, we care
24
// only about the position of the tls_slots.
25
struct
TEB64
{
26
llvm::support::ulittle64_t
reserved1
[12];
27
llvm::support::ulittle64_t
process_environment_block
;
28
llvm::support::ulittle64_t
reserved2
[399];
29
uint8_t
reserved3
[1952];
30
llvm::support::ulittle64_t
tls_slots
[64];
31
uint8_t
reserved4
[8];
32
llvm::support::ulittle64_t
reserved5
[26];
33
llvm::support::ulittle64_t
reserved_for_ole
;
// Windows 2000 only
34
llvm::support::ulittle64_t
reserved6
[4];
35
llvm::support::ulittle64_t
tls_expansion_slots
;
36
};
37
38
#endif
// liblldb_Plugins_Process_Minidump_NtStructures_h_
39
}
// namespace minidump
40
}
// namespace lldb_private
41
42
#endif
lldb_private
A class that represents a running process on the host machine.
Definition
SBAddressRange.h:14
lldb_private::minidump::TEB64
Definition
minidump/NtStructures.h:25
lldb_private::minidump::TEB64::reserved4
uint8_t reserved4[8]
Definition
minidump/NtStructures.h:31
lldb_private::minidump::TEB64::reserved1
llvm::support::ulittle64_t reserved1[12]
Definition
minidump/NtStructures.h:26
lldb_private::minidump::TEB64::reserved2
llvm::support::ulittle64_t reserved2[399]
Definition
minidump/NtStructures.h:28
lldb_private::minidump::TEB64::reserved3
uint8_t reserved3[1952]
Definition
minidump/NtStructures.h:29
lldb_private::minidump::TEB64::tls_slots
llvm::support::ulittle64_t tls_slots[64]
Definition
minidump/NtStructures.h:30
lldb_private::minidump::TEB64::reserved5
llvm::support::ulittle64_t reserved5[26]
Definition
minidump/NtStructures.h:32
lldb_private::minidump::TEB64::process_environment_block
llvm::support::ulittle64_t process_environment_block
Definition
minidump/NtStructures.h:27
lldb_private::minidump::TEB64::reserved_for_ole
llvm::support::ulittle64_t reserved_for_ole
Definition
minidump/NtStructures.h:33
lldb_private::minidump::TEB64::reserved6
llvm::support::ulittle64_t reserved6[4]
Definition
minidump/NtStructures.h:34
lldb_private::minidump::TEB64::tls_expansion_slots
llvm::support::ulittle64_t tls_expansion_slots
Definition
minidump/NtStructures.h:35
Generated on
for LLDB by
1.14.0