Home | History | Annotate | Download | only in src
      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