| 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 25 matching lines...) Expand all Loading... |
| 36 | 36 |
| 37 template <> | 37 template <> |
| 38 inline void Assign<process_types::internal::Reserved64Only64, | 38 inline void Assign<process_types::internal::Reserved64Only64, |
| 39 process_types::internal::Reserved64Only32>( | 39 process_types::internal::Reserved64Only32>( |
| 40 process_types::internal::Reserved64Only64* destination, | 40 process_types::internal::Reserved64Only64* destination, |
| 41 const process_types::internal::Reserved64Only32& source) { | 41 const process_types::internal::Reserved64Only32& source) { |
| 42 // Reserved64Only32 carries no data. | 42 // Reserved64Only32 carries no data. |
| 43 *destination = 0; | 43 *destination = 0; |
| 44 } | 44 } |
| 45 | 45 |
| 46 typedef char CharArray16[16]; | 46 using CharArray16 = char[16]; |
| 47 template <> | 47 template <> |
| 48 inline void Assign<CharArray16, CharArray16>(CharArray16* destination, | 48 inline void Assign<CharArray16, CharArray16>(CharArray16* destination, |
| 49 const CharArray16& source) { | 49 const CharArray16& source) { |
| 50 memcpy(destination, &source, sizeof(source)); | 50 memcpy(destination, &source, sizeof(source)); |
| 51 } | 51 } |
| 52 | 52 |
| 53 typedef uint64_t UInt64Array16[16]; | 53 using UInt64Array16 = uint64_t[16]; |
| 54 template <> | 54 template <> |
| 55 inline void Assign<UInt64Array16, UInt64Array16>(UInt64Array16* destination, | 55 inline void Assign<UInt64Array16, UInt64Array16>(UInt64Array16* destination, |
| 56 const UInt64Array16& source) { | 56 const UInt64Array16& source) { |
| 57 memcpy(destination, &source, sizeof(source)); | 57 memcpy(destination, &source, sizeof(source)); |
| 58 } | 58 } |
| 59 | 59 |
| 60 typedef uint32_t UInt32Array16[16]; | 60 using UInt32Array16 = uint32_t[16]; |
| 61 template <> | 61 template <> |
| 62 inline void Assign<UInt64Array16, UInt32Array16>(UInt64Array16* destination, | 62 inline void Assign<UInt64Array16, UInt32Array16>(UInt64Array16* destination, |
| 63 const UInt32Array16& source) { | 63 const UInt32Array16& source) { |
| 64 for (size_t index = 0; index < arraysize(source); ++index) { | 64 for (size_t index = 0; index < arraysize(source); ++index) { |
| 65 (*destination)[index] = source[index]; | 65 (*destination)[index] = source[index]; |
| 66 } | 66 } |
| 67 } | 67 } |
| 68 | 68 |
| 69 template <> | 69 template <> |
| 70 inline void Assign<uuid_t, uuid_t>(uuid_t* destination, const uuid_t& source) { | 70 inline void Assign<uuid_t, uuid_t>(uuid_t* destination, const uuid_t& source) { |
| 71 // uuid_t is a typedef for unsigned char[16]. | 71 // uuid_t is a type alias for unsigned char[16]. |
| 72 memcpy(destination, &source, sizeof(source)); | 72 memcpy(destination, &source, sizeof(source)); |
| 73 } | 73 } |
| 74 | 74 |
| 75 } // namespace | 75 } // namespace |
| 76 } // namespace crashpad | 76 } // namespace crashpad |
| 77 | 77 |
| 78 // Implement the generic crashpad::process_types::struct_name ReadInto(), which | 78 // Implement the generic crashpad::process_types::struct_name ReadInto(), which |
| 79 // delegates to the templatized ReadIntoInternal(), which reads the specific | 79 // delegates to the templatized ReadIntoInternal(), which reads the specific |
| 80 // struct type from the remote process and genericizes it. Also implement | 80 // struct type from the remote process and genericizes it. Also implement |
| 81 // crashpad::process_types::internal::struct_name<> GenericizeInto(), which | 81 // crashpad::process_types::internal::struct_name<> GenericizeInto(), which |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 #define PROCESS_TYPE_STRUCT_MEMBER(member_type, member_name, ...) | 235 #define PROCESS_TYPE_STRUCT_MEMBER(member_type, member_name, ...) |
| 236 | 236 |
| 237 #define PROCESS_TYPE_STRUCT_END(struct_name) | 237 #define PROCESS_TYPE_STRUCT_END(struct_name) |
| 238 | 238 |
| 239 #include "snapshot/mac/process_types/all.proctype" | 239 #include "snapshot/mac/process_types/all.proctype" |
| 240 | 240 |
| 241 #undef PROCESS_TYPE_STRUCT_BEGIN | 241 #undef PROCESS_TYPE_STRUCT_BEGIN |
| 242 #undef PROCESS_TYPE_STRUCT_MEMBER | 242 #undef PROCESS_TYPE_STRUCT_MEMBER |
| 243 #undef PROCESS_TYPE_STRUCT_END | 243 #undef PROCESS_TYPE_STRUCT_END |
| 244 #undef PROCESS_TYPE_STRUCT_IMPLEMENT_ARRAY | 244 #undef PROCESS_TYPE_STRUCT_IMPLEMENT_ARRAY |
| OLD | NEW |