Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Unified Diff: compat/non_win/dbghelp.h

Issue 1407643004: Some plumbing for the beginning of getting handles into snapshot/minidump (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@handles-redux
Patch Set: . Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | snapshot/handle_snapshot.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: compat/non_win/dbghelp.h
diff --git a/compat/non_win/dbghelp.h b/compat/non_win/dbghelp.h
index 6fed86bdaaeb5b77674a2c0375d71df2f02fca46..baf088ba80187227634c7df8e637819a640587aa 100644
--- a/compat/non_win/dbghelp.h
+++ b/compat/non_win/dbghelp.h
@@ -621,6 +621,71 @@ struct __attribute__((packed, aligned(4))) MINIDUMP_MEMORY_LIST {
MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[0];
};
+//! \brief Contains the state of an individual system handle at the time the
+//! snapshot was taken. This structure is Windows-specific.
+//!
+//! \sa MINIDUMP_HANDLE_DESCRIPTOR_2
+struct __attribute__((packed, aligned(4))) MINIDUMP_HANDLE_DESCRIPTOR {
+ //! \brief The Windows `HANDLE` value.
+ uint64_t Handle;
+
+ //! \brief An RVA to a MINIDUMP_STRING structure that specifies the object
+ //! type of the handle. This member can be zero.
+ RVA TypeNameRva;
+
+ //! \brief An RVA to a MINIDUMP_STRING structure that specifies the object
+ //! name of the handle. This member can be zero.
+ RVA ObjectNameRva;
+
+ //! \brief The attributes for the handle, this corresponds to `OBJ_INHERIT`,
+ //! `OBJ_CASE_INSENSITIVE`, etc.
+ uint32_t Attributes;
+
+ //! \brief The `ACCESS_MASK` for the handle.
+ uint32_t GrantedAccess;
+
+ //! \brief This is the number of open handles to the object that this handle
+ //! refers to.
+ uint32_t HandleCount;
+
+ //! \brief This is the number kernel references to the object that this
+ //! handle refers to.
+ uint32_t PointerCount;
+};
+
+//! \brief Contains the state of an individual system handle at the time the
+//! snapshot was taken. This structure is Windows-specific.
+//!
+//! \sa MINIDUMP_HANDLE_DESCRIPTOR
+struct __attribute__((packed, aligned(4))) MINIDUMP_HANDLE_DESCRIPTOR_2
+ : public MINIDUMP_HANDLE_DESCRIPTOR {
+ //! \brief An RVA to a MINIDUMP_HANDLE_OBJECT_INFORMATION structure that
+ //! specifies object-specific information. This member can be zero if
+ //! there is no extra information.
+ RVA ObjectInfoRva;
+
+ //! \brief Must be zero.
+ uint32_t Reserved0;
+};
+
+//! \brief Represents the header for a handle data stream.
+struct __attribute((packed, aligned(4))) MINIDUMP_HANDLE_DATA_STREAM {
+ //! \brief The size of the header information for the stream, in bytes. This
+ //! value is `sizeof(MINIDUMP_HANDLE_DATA_STREAM)`.
+ uint32_t SizeOfHeader;
+
+ //! \brief The size of a descriptor in the stream, in bytes. This value is
+ //! `sizeof(MINIDUMP_HANDLE_DESCRIPTOR)` or
+ //! `sizeof(MINIDUMP_HANDLE_DESCRIPTOR_2)`.
+ uint32_t SizeOfDescriptor;
+
+ //! \brief The number of descriptors in the stream.
+ uint32_t NumberOfDescriptors;
+
+ //! \brief Must be zero.
+ uint32_t Reserved;
+};
+
//! \anchor MINIDUMP_MISCx
//! \name MINIDUMP_MISC*
//!
« no previous file with comments | « no previous file | snapshot/handle_snapshot.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698