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 #ifndef SANDBOX_SRC_SANDBOX_NT_TYPES_H__
6 #define SANDBOX_SRC_SANDBOX_NT_TYPES_H__
7 
8 #include "sandbox/win/src/nt_internals.h"
9 
10 namespace sandbox {
11 
12 struct NtExports {
13   NtAllocateVirtualMemoryFunction       AllocateVirtualMemory;
14   NtCloseFunction                       Close;
15   NtDuplicateObjectFunction             DuplicateObject;
16   NtFreeVirtualMemoryFunction           FreeVirtualMemory;
17   NtMapViewOfSectionFunction            MapViewOfSection;
18   NtProtectVirtualMemoryFunction        ProtectVirtualMemory;
19   NtQueryInformationProcessFunction     QueryInformationProcess;
20   NtQueryObjectFunction                 QueryObject;
21   NtQuerySectionFunction                QuerySection;
22   NtQueryVirtualMemoryFunction          QueryVirtualMemory;
23   NtUnmapViewOfSectionFunction          UnmapViewOfSection;
24   RtlAllocateHeapFunction               RtlAllocateHeap;
25   RtlAnsiStringToUnicodeStringFunction  RtlAnsiStringToUnicodeString;
26   RtlCompareUnicodeStringFunction       RtlCompareUnicodeString;
27   RtlCreateHeapFunction                 RtlCreateHeap;
28   RtlCreateUserThreadFunction           RtlCreateUserThread;
29   RtlDestroyHeapFunction                RtlDestroyHeap;
30   RtlFreeHeapFunction                   RtlFreeHeap;
31   _strnicmpFunction                     _strnicmp;
32   strlenFunction                        strlen;
33   wcslenFunction                        wcslen;
34   memcpyFunction                        memcpy;
35 };
36 
37 // This is the value used for the ntdll level allocator.
38 enum AllocationType {
39   NT_ALLOC,
40   NT_PAGE
41 };
42 
43 }  // namespace sandbox
44 
45 #endif  // SANDBOX_SRC_SANDBOX_NT_TYPES_H__
46