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.
5 #include "sandbox/win/src/nt_internals.h"
6 #include "sandbox/win/src/sandbox_types.h"
8 #ifndef SANDBOX_SRC_FILESYSTEM_INTERCEPTION_H__
9 #define SANDBOX_SRC_FILESYSTEM_INTERCEPTION_H__
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
);
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
);
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
);
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
);
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
);
51 } // namespace sandbox
53 #endif // SANDBOX_SRC_FILESYSTEM_INTERCEPTION_H__