PageRenderTime 29ms CodeModel.GetById 18ms app.highlight 6ms RepoModel.GetById 2ms app.codeStats 0ms

/thirdparty/breakpad/client/linux/minidump_writer/minidump_extension_linux.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 75 lines | 29 code | 9 blank | 37 comment | 0 complexity | 0c29f72ac4c7b815772206e47ce1627c MD5 | raw file
 1/* Copyright (c) 2010, Google Inc.
 2 * All rights reserved.
 3 *
 4 * Redistribution and use in source and binary forms, with or without
 5 * modification, are permitted provided that the following conditions are
 6 * met:
 7 *
 8 *     * Redistributions of source code must retain the above copyright
 9 * notice, this list of conditions and the following disclaimer.
10 *     * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
13 * distribution.
14 *     * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
29
30/* minidump_extension_linux.h: A definition of exception codes for
31 * Linux
32 *
33 * (This is C99 source, please don't corrupt it with C++.)
34 *
35 * Author: Adam Langley
36 * Split into its own file: Markus Gutschke */
37
38
39#ifndef SRC_CLIENT_LINUX_MINIDUMP_WRITER_MINIDUMP_EXTENSION_LINUX_H_
40#define SRC_CLIENT_LINUX_MINIDUMP_WRITER_MINIDUMP_EXTENSION_LINUX_H_
41
42#include <stddef.h>
43
44#include "google_breakpad/common/breakpad_types.h"
45#include "google_breakpad/common/minidump_format.h"
46
47// These are additional minidump stream values which are specific to the linux
48// breakpad implementation.
49enum {
50  MD_LINUX_CPU_INFO              = 0x47670003,    /* /proc/cpuinfo    */
51  MD_LINUX_PROC_STATUS           = 0x47670004,    /* /proc/$x/status  */
52  MD_LINUX_LSB_RELEASE           = 0x47670005,    /* /etc/lsb-release */
53  MD_LINUX_CMD_LINE              = 0x47670006,    /* /proc/$x/cmdline */
54  MD_LINUX_ENVIRON               = 0x47670007,    /* /proc/$x/environ */
55  MD_LINUX_AUXV                  = 0x47670008,    /* /proc/$x/auxv    */
56  MD_LINUX_MAPS                  = 0x47670009,    /* /proc/$x/maps    */
57  MD_LINUX_DSO_DEBUG             = 0x4767000A     /* DSO data         */
58};
59
60typedef struct {
61  void*     addr;
62  MDRVA     name;
63  void*     ld;
64} MDRawLinkMap;
65
66typedef struct {
67  u_int32_t version;
68  MDRVA     map;
69  u_int32_t dso_count;
70  void*     brk;
71  void*     ldbase;
72  void*     dynamic;
73} MDRawDebug;
74
75#endif  // SRC_CLIENT_LINUX_MINIDUMP_WRITER_MINIDUMP_EXTENSION_LINUX_H_