| // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SANDBOX_WIN_SRC_SYNC_INTERCEPTION_H_ |
| #define SANDBOX_WIN_SRC_SYNC_INTERCEPTION_H_ |
| |
| #include "sandbox/win/src/nt_internals.h" |
| #include "sandbox/win/src/sandbox_types.h" |
| |
| namespace sandbox { |
| |
| extern "C" { |
| |
| typedef NTSTATUS(WINAPI* NtCreateEventFunction)( |
| PHANDLE EventHandle, |
| ACCESS_MASK DesiredAccess, |
| POBJECT_ATTRIBUTES ObjectAttributes, |
| EVENT_TYPE EventType, |
| BOOLEAN InitialState); |
| |
| typedef NTSTATUS(WINAPI* NtOpenEventFunction)( |
| PHANDLE EventHandle, |
| ACCESS_MASK DesiredAccess, |
| POBJECT_ATTRIBUTES ObjectAttributes); |
| |
| // Interceptors for NtCreateEvent/NtOpenEvent |
| SANDBOX_INTERCEPT NTSTATUS WINAPI |
| TargetNtCreateEvent(NtCreateEventFunction orig_CreateEvent, |
| PHANDLE event_handle, |
| ACCESS_MASK desired_access, |
| POBJECT_ATTRIBUTES object_attributes, |
| EVENT_TYPE event_type, |
| BOOLEAN initial_state); |
| |
| SANDBOX_INTERCEPT NTSTATUS WINAPI |
| TargetNtOpenEvent(NtOpenEventFunction orig_OpenEvent, |
| PHANDLE event_handle, |
| ACCESS_MASK desired_access, |
| POBJECT_ATTRIBUTES object_attributes); |
| |
| } // extern "C" |
| |
| } // namespace sandbox |
| |
| #endif // SANDBOX_WIN_SRC_SYNC_INTERCEPTION_H_ |