• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "sandbox/win/src/nt_internals.h"
6 #include "sandbox/win/src/sandbox_types.h"
7 
8 #ifndef SANDBOX_SRC_POLICY_TARGET_H__
9 #define SANDBOX_SRC_POLICY_TARGET_H__
10 
11 namespace sandbox {
12 
13 struct CountedParameterSetBase;
14 
15 // Performs a policy lookup and returns true if the request should be passed to
16 // the broker process.
17 bool QueryBroker(int ipc_id, CountedParameterSetBase* params);
18 
19 extern "C" {
20 
21 // Interception of NtSetInformationThread on the child process.
22 // It should never be called directly.
23 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtSetInformationThread(
24     NtSetInformationThreadFunction orig_SetInformationThread, HANDLE thread,
25     NT_THREAD_INFORMATION_CLASS thread_info_class, PVOID thread_information,
26     ULONG thread_information_bytes);
27 
28 // Interception of NtOpenThreadToken on the child process.
29 // It should never be called directly
30 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtOpenThreadToken(
31     NtOpenThreadTokenFunction orig_OpenThreadToken, HANDLE thread,
32     ACCESS_MASK desired_access, BOOLEAN open_as_self, PHANDLE token);
33 
34 // Interception of NtOpenThreadTokenEx on the child process.
35 // It should never be called directly
36 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtOpenThreadTokenEx(
37     NtOpenThreadTokenExFunction orig_OpenThreadTokenEx, HANDLE thread,
38     ACCESS_MASK desired_access, BOOLEAN open_as_self, ULONG handle_attributes,
39     PHANDLE token);
40 
41 }  // extern "C"
42 
43 }  // namespace sandbox
44 
45 #endif  // SANDBOX_SRC_POLICY_TARGET_H__
46