+PREVENT_MEDIA_REMOVAL
[reactos.git] / include / napi / types.h
1 #ifndef __INCLUDE_NAPI_TYPES_H
2 #define __INCLUDE_NAPI_TYPES_H
3
4 // these should be moved to a file like ntdef.h
5
6 enum
7 {
8    DIRECTORY_QUERY,
9    DIRECTORY_TRAVERSE,
10    DIRECTORY_CREATE_OBJECT,
11    DIRECTORY_CREATE_SUBDIRECTORY,
12    DIRECTORY_ALL_ACCESS,
13 };
14
15 /*
16  * General type for status information
17  */
18
19 typedef enum _NT_PRODUCT_TYPE
20 {
21    NtProductWinNt = 1,
22    NtProductLanManNt,
23    NtProductServer
24 } NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
25
26 #ifndef __USE_W32API
27
28 typedef const int CINT;
29 typedef LONG NTSTATUS, *PNTSTATUS;
30 typedef ULONG DEVICE_TYPE;
31
32 /*  File information for IRP_MJ_QUERY_INFORMATION (and SET)  */
33 typedef enum _FILE_INFORMATION_CLASS
34 {
35   FileDirectoryInformation = 1,
36   FileFullDirectoryInformation,
37   FileBothDirectoryInformation,
38   FileBasicInformation,
39   FileStandardInformation,
40   FileInternalInformation,
41   FileEaInformation,
42   FileAccessInformation,
43   FileNameInformation,
44   FileRenameInformation,
45   FileLinkInformation,
46   FileNamesInformation,
47   FileDispositionInformation,
48   FilePositionInformation,
49   FileFullEaInformation,
50   FileModeInformation,
51   FileAlignmentInformation,
52   FileAllInformation,
53   FileAllocationInformation,
54   FileEndOfFileInformation,
55   FileAlternateNameInformation,
56   FileStreamInformation,
57   FilePipeInformation,
58   FilePipeLocalInformation,
59   FilePipeRemoteInformation,
60   FileMailslotQueryInformation,
61   FileMailslotSetInformation,
62   FileCompressionInformation,
63   FileObjectIdInformation,
64   FileCompletionInformation,
65   FileMoveClusterInformation,
66   FileQuotaInformation,
67   FileReparsePointInformation,
68   FileNetworkOpenInformation,
69   FileAttributeTagInformation,
70   FileTrackingInformation,
71   FileIdBothDirectoryInformation,
72   FileIdFullDirectoryInformation,
73   FileValidDataLengthInformation,
74   FileShortNameInformation,
75   FileMaximumInformation,
76 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
77
78 typedef enum _SECTION_INHERIT {
79     ViewShare = 1,
80     ViewUnmap = 2
81 } SECTION_INHERIT;
82
83 #if 0
84 typedef struct _TIME {
85         DWORD LowPart;
86         LONG HighPart;
87 } TIME, *PTIME;
88 #endif
89 #if 0
90 typedef ULARGE_INTEGER TIME, *PTIME;
91 #endif
92
93 /* W32 XP has 'LARGE_INTEGER' although it could be 'ULARGE_INTEGER' before */
94 typedef LARGE_INTEGER TIME, *PTIME;
95
96 #endif /* !__USE_W32API */
97
98 #endif /* __INCLUDE_NAPI_TYPES_H */