| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // Defines InterceptionManager, the class in charge of setting up interceptions | 5 // Defines InterceptionManager, the class in charge of setting up interceptions |
| 6 // for the sandboxed process. For more details see | 6 // for the sandboxed process. For more details see |
| 7 // http://dev.chromium.org/developers/design-documents/sandbox . | 7 // http://dev.chromium.org/developers/design-documents/sandbox . |
| 8 | 8 |
| 9 #ifndef SANDBOX_SRC_INTERCEPTION_H_ | 9 #ifndef SANDBOX_SRC_INTERCEPTION_H_ |
| 10 #define SANDBOX_SRC_INTERCEPTION_H_ | 10 #define SANDBOX_SRC_INTERCEPTION_H_ |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 // the child that may cause it to resume momentarily, such as injecting | 127 // the child that may cause it to resume momentarily, such as injecting |
| 128 // threads or APCs. | 128 // threads or APCs. |
| 129 // | 129 // |
| 130 // This function must be called only once, after all interceptions have been | 130 // This function must be called only once, after all interceptions have been |
| 131 // set up using AddToPatchedFunctions. | 131 // set up using AddToPatchedFunctions. |
| 132 bool InitializeInterceptions(); | 132 bool InitializeInterceptions(); |
| 133 | 133 |
| 134 private: | 134 private: |
| 135 // Used to store the interception information until the actual set-up. | 135 // Used to store the interception information until the actual set-up. |
| 136 struct InterceptionData { | 136 struct InterceptionData { |
| 137 InterceptionData(); |
| 138 ~InterceptionData(); |
| 139 |
| 137 InterceptionType type; // Interception type. | 140 InterceptionType type; // Interception type. |
| 138 InterceptorId id; // Interceptor id. | 141 InterceptorId id; // Interceptor id. |
| 139 base::string16 dll; // Name of dll to intercept. | 142 base::string16 dll; // Name of dll to intercept. |
| 140 std::string function; // Name of function to intercept. | 143 std::string function; // Name of function to intercept. |
| 141 std::string interceptor; // Name of interceptor function. | 144 std::string interceptor; // Name of interceptor function. |
| 142 const void* interceptor_address; // Interceptor's entry point. | 145 const void* interceptor_address; // Interceptor's entry point. |
| 143 }; | 146 }; |
| 144 | 147 |
| 145 // Calculates the size of the required configuration buffer. | 148 // Calculates the size of the required configuration buffer. |
| 146 size_t GetBufferSize() const; | 149 size_t GetBufferSize() const; |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 // |TargetServices::InitCalled()| returns true, because it is only then that | 275 // |TargetServices::InitCalled()| returns true, because it is only then that |
| 273 // we are guaranteed that our IAT has been initialized. | 276 // we are guaranteed that our IAT has been initialized. |
| 274 #define INTERCEPT_EAT(manager, dll, function, id, num_params) \ | 277 #define INTERCEPT_EAT(manager, dll, function, id, num_params) \ |
| 275 manager->AddToPatchedFunctions(dll, #function, sandbox::INTERCEPTION_EAT, \ | 278 manager->AddToPatchedFunctions(dll, #function, sandbox::INTERCEPTION_EAT, \ |
| 276 MAKE_SERVICE_NAME(function), id) | 279 MAKE_SERVICE_NAME(function), id) |
| 277 #endif // SANDBOX_EXPORTS | 280 #endif // SANDBOX_EXPORTS |
| 278 | 281 |
| 279 } // namespace sandbox | 282 } // namespace sandbox |
| 280 | 283 |
| 281 #endif // SANDBOX_SRC_INTERCEPTION_H_ | 284 #endif // SANDBOX_SRC_INTERCEPTION_H_ |
| OLD | NEW |