aboutsummaryrefslogtreecommitdiff
path: root/src/client/linux/minidump_writer/minidump_writer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/linux/minidump_writer/minidump_writer.h')
-rw-r--r--src/client/linux/minidump_writer/minidump_writer.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/client/linux/minidump_writer/minidump_writer.h b/src/client/linux/minidump_writer/minidump_writer.h
index 579f68cd..156ca35f 100644
--- a/src/client/linux/minidump_writer/minidump_writer.h
+++ b/src/client/linux/minidump_writer/minidump_writer.h
@@ -33,8 +33,17 @@
#include <stdint.h>
#include <unistd.h>
+#include <list>
+#include <utility>
+
+#include "google_breakpad/common/minidump_format.h"
+
namespace google_breakpad {
+// A list of <MappingInfo, GUID>
+typedef std::pair<struct MappingInfo, u_int8_t[sizeof(MDGUID)]> MappingEntry;
+typedef std::list<MappingEntry> MappingList;
+
// Write a minidump to the filesystem. This function does not malloc nor use
// libc functions which may. Thus, it can be used in contexts where the state
// of the heap may be corrupt.
@@ -48,6 +57,11 @@ namespace google_breakpad {
bool WriteMinidump(const char* filename, pid_t crashing_process,
const void* blob, size_t blob_size);
+// This overload also allows passing a list of known mappings.
+bool WriteMinidump(const char* filename, pid_t crashing_process,
+ const void* blob, size_t blob_size,
+ const MappingList& mappings);
+
} // namespace google_breakpad
#endif // CLIENT_LINUX_MINIDUMP_WRITER_MINIDUMP_WRITER_H_