| OLD | NEW |
| 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 kMinidumpCPUArchitectureAMD64 = PROCESSOR_ARCHITECTURE_AMD64, | 155 kMinidumpCPUArchitectureAMD64 = PROCESSOR_ARCHITECTURE_AMD64, |
| 156 | 156 |
| 157 //! \brief A 32-bit x86 process running on IA-64 (Itanium). | 157 //! \brief A 32-bit x86 process running on IA-64 (Itanium). |
| 158 //! | 158 //! |
| 159 //! \note This value is not used in minidump files for 32-bit x86 processes | 159 //! \note This value is not used in minidump files for 32-bit x86 processes |
| 160 //! running on a 64-bit-capable x86 CPU and operating system. In that | 160 //! running on a 64-bit-capable x86 CPU and operating system. In that |
| 161 //! configuration, #kMinidumpCPUArchitectureX86 is used instead. | 161 //! configuration, #kMinidumpCPUArchitectureX86 is used instead. |
| 162 kMinidumpCPUArchitectureX86Win64 = PROCESSOR_ARCHITECTURE_IA32_ON_WIN64, | 162 kMinidumpCPUArchitectureX86Win64 = PROCESSOR_ARCHITECTURE_IA32_ON_WIN64, |
| 163 | 163 |
| 164 kMinidumpCPUArchitectureNeutral = PROCESSOR_ARCHITECTURE_NEUTRAL, | 164 kMinidumpCPUArchitectureNeutral = PROCESSOR_ARCHITECTURE_NEUTRAL, |
| 165 |
| 166 //! \brief 64-bit ARM. |
| 167 //! |
| 168 //! These systems identify their CPUs generically as “arm64” or “aarch64”, or |
| 169 //! with more specific names such as “armv8”. |
| 170 //! |
| 171 //! \sa #kMinidumpCPUArchitectureARM64Breakpad |
| 172 kMinidumpCPUArchitectureARM64 = PROCESSOR_ARCHITECTURE_ARM64, |
| 173 |
| 174 kMinidumpCPUArchitectureARM32Win64 = PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64, |
| 165 kMinidumpCPUArchitectureSPARC = 0x8001, | 175 kMinidumpCPUArchitectureSPARC = 0x8001, |
| 166 | 176 |
| 167 //! \brief 64-bit PowerPC. | 177 //! \brief 64-bit PowerPC. |
| 168 //! | 178 //! |
| 169 //! These systems identify their CPUs generically as “ppc64”, or with more | 179 //! These systems identify their CPUs generically as “ppc64”, or with more |
| 170 //! specific names such as “ppc970”. | 180 //! specific names such as “ppc970”. |
| 171 kMinidumpCPUArchitecturePPC64 = 0x8002, | 181 kMinidumpCPUArchitecturePPC64 = 0x8002, |
| 172 | 182 |
| 173 //! \brief 64-bit ARM. | 183 //! \brief Used by Breakpad for 64-bit ARM. |
| 174 //! | 184 //! |
| 175 //! These systems identify their CPUs generically as “arm64” or “aarch64”, or | 185 //! \deprecated Use #kMinidumpCPUArchitectureARM64 instead. |
| 176 //! with more specific names such as “armv8”. | 186 kMinidumpCPUArchitectureARM64Breakpad = 0x8003, |
| 177 kMinidumpCPUArchitectureARM64 = 0x8003, | |
| 178 | 187 |
| 179 //! \brief Unknown CPU architecture. | 188 //! \brief Unknown CPU architecture. |
| 180 kMinidumpCPUArchitectureUnknown = PROCESSOR_ARCHITECTURE_UNKNOWN, | 189 kMinidumpCPUArchitectureUnknown = PROCESSOR_ARCHITECTURE_UNKNOWN, |
| 181 }; | 190 }; |
| 182 | 191 |
| 183 //! \brief Operating system type values for MINIDUMP_SYSTEM_INFO::ProductType. | 192 //! \brief Operating system type values for MINIDUMP_SYSTEM_INFO::ProductType. |
| 184 //! | 193 //! |
| 185 //! \sa \ref VER_NT_x "VER_NT_*" | 194 //! \sa \ref VER_NT_x "VER_NT_*" |
| 186 enum MinidumpOSType : uint8_t { | 195 enum MinidumpOSType : uint8_t { |
| 187 //! \brief A “desktop” or “workstation” system. | 196 //! \brief A “desktop” or “workstation” system. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 202 kMinidumpOSWin32s = VER_PLATFORM_WIN32s, | 211 kMinidumpOSWin32s = VER_PLATFORM_WIN32s, |
| 203 | 212 |
| 204 //! \brief Windows 95, Windows 98, and Windows Me. | 213 //! \brief Windows 95, Windows 98, and Windows Me. |
| 205 kMinidumpOSWin32Windows = VER_PLATFORM_WIN32_WINDOWS, | 214 kMinidumpOSWin32Windows = VER_PLATFORM_WIN32_WINDOWS, |
| 206 | 215 |
| 207 //! \brief Windows NT, Windows 2000, and later. | 216 //! \brief Windows NT, Windows 2000, and later. |
| 208 kMinidumpOSWin32NT = VER_PLATFORM_WIN32_NT, | 217 kMinidumpOSWin32NT = VER_PLATFORM_WIN32_NT, |
| 209 | 218 |
| 210 kMinidumpOSUnix = 0x8000, | 219 kMinidumpOSUnix = 0x8000, |
| 211 | 220 |
| 212 //! \brief Mac OS X, Darwin for traditional systems. | 221 //! \brief macOS, Darwin for traditional systems. |
| 213 kMinidumpOSMacOSX = 0x8101, | 222 kMinidumpOSMacOSX = 0x8101, |
| 214 | 223 |
| 215 //! \brief iOS, Darwin for mobile devices. | 224 //! \brief iOS, Darwin for mobile devices. |
| 216 kMinidumpOSiOS = 0x8102, | 225 kMinidumpOSiOS = 0x8102, |
| 217 | 226 |
| 218 //! \brief Linux, not including Android. | 227 //! \brief Linux, not including Android. |
| 219 kMinidumpOSLinux = 0x8201, | 228 kMinidumpOSLinux = 0x8201, |
| 220 | 229 |
| 221 kMinidumpOSSolaris = 0x8202, | 230 kMinidumpOSSolaris = 0x8202, |
| 222 | 231 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 //! minidump file must contain a module list stream | 278 //! minidump file must contain a module list stream |
| 270 //! (::kMinidumpStreamTypeModuleList) in order for this structure to appear. | 279 //! (::kMinidumpStreamTypeModuleList) in order for this structure to appear. |
| 271 //! | 280 //! |
| 272 //! This structure is versioned. When changing this structure, leave the | 281 //! This structure is versioned. When changing this structure, leave the |
| 273 //! existing structure intact so that earlier parsers will be able to understand | 282 //! existing structure intact so that earlier parsers will be able to understand |
| 274 //! the fields they are aware of, and make additions at the end of the | 283 //! the fields they are aware of, and make additions at the end of the |
| 275 //! structure. Revise #kVersion and document each field’s validity based on | 284 //! structure. Revise #kVersion and document each field’s validity based on |
| 276 //! #version, so that newer parsers will be able to determine whether the added | 285 //! #version, so that newer parsers will be able to determine whether the added |
| 277 //! fields are valid or not. | 286 //! fields are valid or not. |
| 278 //! | 287 //! |
| 279 //! \sa #MinidumpModuleCrashpadInfoList | 288 //! \sa MinidumpModuleCrashpadInfoList |
| 280 struct ALIGNAS(4) PACKED MinidumpModuleCrashpadInfo { | 289 struct ALIGNAS(4) PACKED MinidumpModuleCrashpadInfo { |
| 281 //! \brief The structure’s currently-defined version number. | 290 //! \brief The structure’s currently-defined version number. |
| 282 //! | 291 //! |
| 283 //! \sa version | 292 //! \sa version |
| 284 static const uint32_t kVersion = 1; | 293 static const uint32_t kVersion = 1; |
| 285 | 294 |
| 286 //! \brief The structure’s version number. | 295 //! \brief The structure’s version number. |
| 287 //! | 296 //! |
| 288 //! Readers can use this field to determine which other fields in the | 297 //! Readers can use this field to determine which other fields in the |
| 289 //! structure are valid. Upon encountering a value greater than #kVersion, a | 298 //! structure are valid. Upon encountering a value greater than #kVersion, a |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 | 425 |
| 417 //! \brief A MinidumpSimpleStringDictionary pointing to strings interpreted as | 426 //! \brief A MinidumpSimpleStringDictionary pointing to strings interpreted as |
| 418 //! key-value pairs. | 427 //! key-value pairs. |
| 419 //! | 428 //! |
| 420 //! These key-value pairs correspond to | 429 //! These key-value pairs correspond to |
| 421 //! ProcessSnapshot::AnnotationsSimpleMap(). | 430 //! ProcessSnapshot::AnnotationsSimpleMap(). |
| 422 //! | 431 //! |
| 423 //! This field is present when #version is at least `1`. | 432 //! This field is present when #version is at least `1`. |
| 424 MINIDUMP_LOCATION_DESCRIPTOR simple_annotations; | 433 MINIDUMP_LOCATION_DESCRIPTOR simple_annotations; |
| 425 | 434 |
| 426 //! \brief A pointer to a #MinidumpModuleCrashpadInfoList structure. | 435 //! \brief A pointer to a MinidumpModuleCrashpadInfoList structure. |
| 427 //! | 436 //! |
| 428 //! This field is present when #version is at least `1`. | 437 //! This field is present when #version is at least `1`. |
| 429 MINIDUMP_LOCATION_DESCRIPTOR module_list; | 438 MINIDUMP_LOCATION_DESCRIPTOR module_list; |
| 430 }; | 439 }; |
| 431 | 440 |
| 432 #if defined(COMPILER_MSVC) | 441 #if defined(COMPILER_MSVC) |
| 433 #pragma pack(pop) | 442 #pragma pack(pop) |
| 434 #endif // COMPILER_MSVC | 443 #endif // COMPILER_MSVC |
| 435 #undef PACKED | 444 #undef PACKED |
| 436 | 445 |
| 437 MSVC_POP_WARNING(); // C4200 | 446 MSVC_POP_WARNING(); // C4200 |
| 438 | 447 |
| 439 } // namespace crashpad | 448 } // namespace crashpad |
| 440 | 449 |
| 441 #endif // CRASHPAD_MINIDUMP_MINIDUMP_EXTENSIONS_H_ | 450 #endif // CRASHPAD_MINIDUMP_MINIDUMP_EXTENSIONS_H_ |
| OLD | NEW |