OLD | NEW |
1 // Copyright 2015 The Crashpad Authors. All rights reserved. | 1 // Copyright 2015 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 //! the messages or ExceptionInformation are modified incompatibly. | 42 //! the messages or ExceptionInformation are modified incompatibly. |
43 enum { kMessageVersion = 1 }; | 43 enum { kMessageVersion = 1 }; |
44 | 44 |
45 //! \brief Version field to detect skew between client and server. Should be | 45 //! \brief Version field to detect skew between client and server. Should be |
46 //! set to kMessageVersion. | 46 //! set to kMessageVersion. |
47 int version; | 47 int version; |
48 | 48 |
49 //! \brief The PID of the client process. | 49 //! \brief The PID of the client process. |
50 DWORD client_process_id; | 50 DWORD client_process_id; |
51 | 51 |
52 //! \brief The address, in the client process address space, of an | 52 //! \brief The address, in the client process's address space, of an |
53 //! ExceptionInformation structure, used when handling a crash dump | 53 //! ExceptionInformation structure, used when handling a crash dump |
54 //! request. | 54 //! request. |
55 WinVMAddress crash_exception_information; | 55 WinVMAddress crash_exception_information; |
56 | 56 |
57 //! \brief The address, in the client process address space, of an | 57 //! \brief The address, in the client process's address space, of an |
58 //! ExceptionInformation structure, used when handling a non-crashing dump | 58 //! ExceptionInformation structure, used when handling a non-crashing dump |
59 //! request. | 59 //! request. |
60 WinVMAddress non_crash_exception_information; | 60 WinVMAddress non_crash_exception_information; |
| 61 |
| 62 //! \brief The address, in the client process's address space, of a |
| 63 //! `CRITICAL_SECTION` allocated with a valid .DebugInfo field. This can |
| 64 //! be accomplished by using the |
| 65 //! `RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO` flag to |
| 66 //! `InitializeCriticalSectionEx()`. This value can be `0`, however then |
| 67 //! limited lock data will be available in minidumps. |
| 68 WinVMAddress critical_section_address; |
61 }; | 69 }; |
62 | 70 |
63 //! \brief A message only sent to the server by itself to trigger shutdown. | 71 //! \brief A message only sent to the server by itself to trigger shutdown. |
64 struct ShutdownRequest { | 72 struct ShutdownRequest { |
65 //! \brief A randomly generated token used to validate the the shutdown | 73 //! \brief A randomly generated token used to validate the the shutdown |
66 //! request was not sent from another process. | 74 //! request was not sent from another process. |
67 uint64_t token; | 75 uint64_t token; |
68 }; | 76 }; |
69 | 77 |
70 //! \brief The message passed from client to server by | 78 //! \brief The message passed from client to server by |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 //! CrashpadClient::SetHandler(). | 129 //! CrashpadClient::SetHandler(). |
122 //! | 130 //! |
123 //! \sa CrashpadClient::SetHandler() | 131 //! \sa CrashpadClient::SetHandler() |
124 bool SendToCrashHandlerServer(const base::string16& pipe_name, | 132 bool SendToCrashHandlerServer(const base::string16& pipe_name, |
125 const ClientToServerMessage& message, | 133 const ClientToServerMessage& message, |
126 ServerToClientMessage* response); | 134 ServerToClientMessage* response); |
127 | 135 |
128 } // namespace crashpad | 136 } // namespace crashpad |
129 | 137 |
130 #endif // CRASHPAD_UTIL_WIN_REGISTRATION_PROTOCOL_WIN_H_ | 138 #endif // CRASHPAD_UTIL_WIN_REGISTRATION_PROTOCOL_WIN_H_ |
OLD | NEW |