• 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_FILESYSTEM_INTERCEPTION_H__
9 #define SANDBOX_SRC_FILESYSTEM_INTERCEPTION_H__
10 
11 namespace sandbox {
12 
13 extern "C" {
14 
15 // Interception of NtCreateFile on the child process.
16 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtCreateFile(
17     NtCreateFileFunction orig_CreateFile, PHANDLE file,
18     ACCESS_MASK desired_access, POBJECT_ATTRIBUTES object_attributes,
19     PIO_STATUS_BLOCK io_status, PLARGE_INTEGER allocation_size,
20     ULONG file_attributes, ULONG sharing, ULONG disposition, ULONG options,
21     PVOID ea_buffer, ULONG ea_length);
22 
23 // Interception of NtOpenFile on the child process.
24 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtOpenFile(
25     NtOpenFileFunction orig_OpenFile, PHANDLE file, ACCESS_MASK desired_access,
26     POBJECT_ATTRIBUTES object_attributes, PIO_STATUS_BLOCK io_status,
27     ULONG sharing, ULONG options);
28 
29 // Interception of NtQueryAtttributesFile on the child process.
30 // It should never be called directly.
31 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtQueryAttributesFile(
32     NtQueryAttributesFileFunction orig_QueryAttributes,
33     POBJECT_ATTRIBUTES object_attributes,
34     PFILE_BASIC_INFORMATION file_attributes);
35 
36 // Interception of NtQueryFullAtttributesFile on the child process.
37 // It should never be called directly.
38 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtQueryFullAttributesFile(
39     NtQueryFullAttributesFileFunction orig_QueryAttributes,
40     POBJECT_ATTRIBUTES object_attributes,
41     PFILE_NETWORK_OPEN_INFORMATION file_attributes);
42 
43 // Interception of NtSetInformationFile on the child process.
44 SANDBOX_INTERCEPT NTSTATUS WINAPI TargetNtSetInformationFile(
45     NtSetInformationFileFunction orig_SetInformationFile, HANDLE file,
46     PIO_STATUS_BLOCK io_status, PVOID file_information, ULONG length,
47     FILE_INFORMATION_CLASS file_information_class);
48 
49 }  // extern "C"
50 
51 }  // namespace sandbox
52 
53 #endif  // SANDBOX_SRC_FILESYSTEM_INTERCEPTION_H__
54