branch update for HEAD-2003021201
[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 typedef ULARGE_INTEGER TIME, *PTIME;
27
28 #ifndef __USE_W32API
29
30 typedef const int CINT;
31 typedef LONG NTSTATUS, *PNTSTATUS;
32 typedef ULONG DEVICE_TYPE;
33
34 /*  File information for IRP_MJ_QUERY_INFORMATION (and SET)  */
35 typedef enum _FILE_INFORMATION_CLASS
36 {
37   FileDirectoryInformation = 1,
38   FileFullDirectoryInformation,
39   FileBothDirectoryInformation,
40   FileBasicInformation,
41   FileStandardInformation,
42   FileInternalInformation,
43   FileEaInformation,
44   FileAccessInformation,
45   FileNameInformation,
46   FileRenameInformation,
47   FileLinkInformation,
48   FileNamesInformation,
49   FileDispositionInformation,
50   FilePositionInformation,
51   FileFullEaInformation,
52   FileModeInformation,
53   FileAlignmentInformation,
54   FileAllInformation,
55   FileAllocationInformation,
56   FileEndOfFileInformation,
57   FileAlternateNameInformation,
58   FileStreamInformation,
59   FilePipeInformation,
60   FilePipeLocalInformation,
61   FilePipeRemoteInformation,
62   FileMailslotQueryInformation,
63   FileMailslotSetInformation,
64   FileCompressionInformation,
65   FileObjectIdInformation,
66   FileCompletionInformation,
67   FileMoveClusterInformation,
68   FileQuotaInformation,
69   FileReparsePointInformation,
70   FileNetworkOpenInformation,
71   FileAttributeTagInformation,
72   FileTrackingInformation,
73   FileIdBothDirectoryInformation,
74   FileIdFullDirectoryInformation,
75   FileValidDataLengthInformation,
76   FileShortNameInformation,
77   FileMaximumInformation,
78 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
79
80 typedef enum _SECTION_INHERIT {
81     ViewShare = 1,
82     ViewUnmap = 2
83 } SECTION_INHERIT;
84
85 #if 0
86 typedef struct _TIME {
87         DWORD LowPart;
88         LONG HighPart;
89 } TIME, *PTIME;
90 #endif
91
92 /* W32 XP has 'LARGE_INTEGER' although it could be 'ULARGE_INTEGER' before */
93 typedef LARGE_INTEGER TIME, *PTIME;
94
95 #endif /* !__USE_W32API */
96
97 #endif /* __INCLUDE_NAPI_TYPES_H */