| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef SANDBOX_WIN_SRC_SANDBOX_TYPES_H_ | 5 #ifndef SANDBOX_WIN_SRC_SANDBOX_TYPES_H_ |
| 6 #define SANDBOX_WIN_SRC_SANDBOX_TYPES_H_ | 6 #define SANDBOX_WIN_SRC_SANDBOX_TYPES_H_ |
| 7 | 7 |
| 8 #include "base/process/kill.h" |
| 8 #include "base/process/launch.h" | 9 #include "base/process/launch.h" |
| 9 | 10 |
| 10 namespace sandbox { | 11 namespace sandbox { |
| 11 | 12 |
| 12 // Operation result codes returned by the sandbox API. | 13 // Operation result codes returned by the sandbox API. |
| 13 // | 14 // |
| 14 // Note: These codes are listed in a histogram and any new codes should be added | 15 // Note: These codes are listed in a histogram and any new codes should be added |
| 15 // at the end. | 16 // at the end. |
| 16 // | 17 // |
| 17 enum ResultCode : int { | 18 enum ResultCode : int { |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 SBOX_FATAL_DROPTOKEN = 7007, // Could not lower the token. | 115 SBOX_FATAL_DROPTOKEN = 7007, // Could not lower the token. |
| 115 SBOX_FATAL_FLUSHANDLES = 7008, // Failed to flush registry handles. | 116 SBOX_FATAL_FLUSHANDLES = 7008, // Failed to flush registry handles. |
| 116 SBOX_FATAL_CACHEDISABLE = 7009, // Failed to forbid HCKU caching. | 117 SBOX_FATAL_CACHEDISABLE = 7009, // Failed to forbid HCKU caching. |
| 117 SBOX_FATAL_CLOSEHANDLES = 7010, // Failed to close pending handles. | 118 SBOX_FATAL_CLOSEHANDLES = 7010, // Failed to close pending handles. |
| 118 SBOX_FATAL_MITIGATION = 7011, // Could not set the mitigation policy. | 119 SBOX_FATAL_MITIGATION = 7011, // Could not set the mitigation policy. |
| 119 SBOX_FATAL_MEMORY_EXCEEDED = 7012, // Exceeded the job memory limit. | 120 SBOX_FATAL_MEMORY_EXCEEDED = 7012, // Exceeded the job memory limit. |
| 120 SBOX_FATAL_WARMUP = 7013, // Failed to warmup. | 121 SBOX_FATAL_WARMUP = 7013, // Failed to warmup. |
| 121 SBOX_FATAL_LAST | 122 SBOX_FATAL_LAST |
| 122 }; | 123 }; |
| 123 | 124 |
| 125 static_assert(SBOX_FATAL_MEMORY_EXCEEDED == |
| 126 base::win::kSandboxFatalMemoryExceeded, |
| 127 "Value for SBOX_FATAL_MEMORY_EXCEEDED must match base."); |
| 128 |
| 124 class BrokerServices; | 129 class BrokerServices; |
| 125 class TargetServices; | 130 class TargetServices; |
| 126 | 131 |
| 127 // Contains the pointer to a target or broker service. | 132 // Contains the pointer to a target or broker service. |
| 128 struct SandboxInterfaceInfo { | 133 struct SandboxInterfaceInfo { |
| 129 BrokerServices* broker_services; | 134 BrokerServices* broker_services; |
| 130 TargetServices* target_services; | 135 TargetServices* target_services; |
| 131 }; | 136 }; |
| 132 | 137 |
| 133 #if SANDBOX_EXPORTS | 138 #if SANDBOX_EXPORTS |
| 134 #define SANDBOX_INTERCEPT extern "C" __declspec(dllexport) | 139 #define SANDBOX_INTERCEPT extern "C" __declspec(dllexport) |
| 135 #else | 140 #else |
| 136 #define SANDBOX_INTERCEPT extern "C" | 141 #define SANDBOX_INTERCEPT extern "C" |
| 137 #endif | 142 #endif |
| 138 | 143 |
| 139 enum InterceptionType { | 144 enum InterceptionType { |
| 140 INTERCEPTION_INVALID = 0, | 145 INTERCEPTION_INVALID = 0, |
| 141 INTERCEPTION_SERVICE_CALL, // Trampoline of an NT native call | 146 INTERCEPTION_SERVICE_CALL, // Trampoline of an NT native call |
| 142 INTERCEPTION_EAT, | 147 INTERCEPTION_EAT, |
| 143 INTERCEPTION_SIDESTEP, // Preamble patch | 148 INTERCEPTION_SIDESTEP, // Preamble patch |
| 144 INTERCEPTION_SMART_SIDESTEP, // Preamble patch but bypass internal calls | 149 INTERCEPTION_SMART_SIDESTEP, // Preamble patch but bypass internal calls |
| 145 INTERCEPTION_UNLOAD_MODULE, // Unload the module (don't patch) | 150 INTERCEPTION_UNLOAD_MODULE, // Unload the module (don't patch) |
| 146 INTERCEPTION_LAST // Placeholder for last item in the enumeration | 151 INTERCEPTION_LAST // Placeholder for last item in the enumeration |
| 147 }; | 152 }; |
| 148 | 153 |
| 149 } // namespace sandbox | 154 } // namespace sandbox |
| 150 | 155 |
| 151 #endif // SANDBOX_WIN_SRC_SANDBOX_TYPES_H_ | 156 #endif // SANDBOX_WIN_SRC_SANDBOX_TYPES_H_ |
| OLD | NEW |