:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[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 typedef const int CINT;
7
8 typedef LONG NTSTATUS, *PNTSTATUS;
9
10 typedef ULONG DEVICE_TYPE;
11
12
13
14
15
16 enum
17 {
18    DIRECTORY_QUERY,
19    DIRECTORY_TRAVERSE,
20    DIRECTORY_CREATE_OBJECT,
21    DIRECTORY_CREATE_SUBDIRECTORY,
22    DIRECTORY_ALL_ACCESS,
23 };
24
25 /*
26  * General type for status information
27  */
28 //typedef LONG NTSTATUS;
29
30 typedef struct _UNICODE_STRING
31 {
32    USHORT Length;
33    USHORT MaximumLength;
34    PWSTR Buffer;
35 } UNICODE_STRING, *PUNICODE_STRING;
36
37 typedef enum _SECTION_INHERIT {
38     ViewShare = 1,
39     ViewUnmap = 2
40 } SECTION_INHERIT;
41
42 typedef enum _NT_PRODUCT_TYPE
43 {
44    NtProductWinNt = 1,
45    NtProductLanManNt,
46    NtProductServer
47 } NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
48
49 /*  File information for IRP_MJ_QUERY_INFORMATION (and SET)  */
50 typedef enum _FILE_INFORMATION_CLASS
51 {
52   FileDirectoryInformation = 1,
53   FileFullDirectoryInformation,
54   FileBothDirectoryInformation,
55   FileBasicInformation,
56   FileStandardInformation,
57   FileInternalInformation,
58   FileEaInformation,
59   FileAccessInformation,
60   FileNameInformation,
61   FileRenameInformation,
62   FileLinkInformation,
63   FileNamesInformation,
64   FileDispositionInformation,
65   FilePositionInformation,
66   FileFullEaInformation,
67   FileModeInformation,
68   FileAlignmentInformation,
69   FileAllInformation,
70   FileAllocationInformation,
71   FileEndOfFileInformation,
72   FileAlternateNameInformation,
73   FileStreamInformation,
74   FilePipeInformation,
75   FilePipeLocalInformation,
76   FilePipeRemoteInformation,
77   FileMailslotQueryInformation,
78   FileMailslotSetInformation,
79   FileCompressionInformation,
80   FileCopyOnWriteInformation,
81   FileCompletionInformation,
82   FileMoveClusterInformation,
83   FileOleClassIdInformation,
84   FileOleStateBitsInformation,
85   FileNetworkOpenInformation,
86   FileObjectIdInformation,
87   FileOleAllInformation,
88   FileOleDirectoryInformation,
89   FileContentIndexInformation,
90   FileInheritContentIndexInformation,
91   FileOleInformation,
92   FileMaximumInformation,
93 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
94
95 typedef ULONG WAIT_TYPE;
96 typedef USHORT CSHORT;
97
98
99 #if 0
100 typedef struct _TIME {
101         DWORD LowPart;
102         LONG HighPart;
103 } TIME, *PTIME;
104 #endif
105
106 typedef ULARGE_INTEGER TIME, *PTIME;
107
108 #endif /* __INCLUDE_NAPI_TYPES_H */