2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/include/io_i.h
5 * PURPOSE: Info Classes for the I/O Manager
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
10 // File Information Classes
12 UCHAR IopQueryOperationLength
[] =
18 sizeof(FILE_BASIC_INFORMATION
),
19 sizeof(FILE_STANDARD_INFORMATION
),
20 sizeof(FILE_INTERNAL_INFORMATION
),
21 sizeof(FILE_EA_INFORMATION
),
22 sizeof(FILE_ACCESS_INFORMATION
),
23 sizeof(FILE_NAME_INFORMATION
),
28 sizeof(FILE_POSITION_INFORMATION
),
30 sizeof(FILE_MODE_INFORMATION
),
31 sizeof(FILE_ALIGNMENT_INFORMATION
),
32 sizeof(FILE_ALL_INFORMATION
),
35 sizeof(FILE_NAME_INFORMATION
),
36 sizeof(FILE_STREAM_INFORMATION
),
37 sizeof(FILE_PIPE_INFORMATION
),
38 sizeof(FILE_PIPE_LOCAL_INFORMATION
),
39 sizeof(FILE_PIPE_REMOTE_INFORMATION
),
40 sizeof(FILE_MAILSLOT_QUERY_INFORMATION
),
42 sizeof(FILE_COMPRESSION_INFORMATION
),
43 sizeof(FILE_OBJECTID_INFORMATION
),
46 sizeof(FILE_QUOTA_INFORMATION
),
47 sizeof(FILE_REPARSE_POINT_INFORMATION
),
48 sizeof(FILE_NETWORK_OPEN_INFORMATION
),
49 sizeof(FILE_ATTRIBUTE_TAG_INFORMATION
),
56 sizeof(FILE_IO_COMPLETION_NOTIFICATION_INFORMATION
),
57 sizeof(FILE_IOSTATUSBLOCK_RANGE_INFORMATION
),
58 sizeof(FILE_IO_PRIORITY_HINT_INFORMATION
),
59 sizeof(FILE_SFIO_RESERVE_INFORMATION
),
60 sizeof(FILE_SFIO_VOLUME_INFORMATION
),
62 sizeof(FILE_PROCESS_IDS_USING_FILE_INFORMATION
),
64 sizeof(FILE_NETWORK_PHYSICAL_NAME_INFORMATION
),
69 UCHAR IopSetOperationLength
[] =
75 sizeof(FILE_BASIC_INFORMATION
),
81 sizeof(FILE_RENAME_INFORMATION
),
82 sizeof(FILE_LINK_INFORMATION
),
84 sizeof(FILE_DISPOSITION_INFORMATION
),
85 sizeof(FILE_POSITION_INFORMATION
),
87 sizeof(FILE_MODE_INFORMATION
),
90 sizeof(FILE_ALLOCATION_INFORMATION
),
91 sizeof(FILE_END_OF_FILE_INFORMATION
),
94 sizeof(FILE_PIPE_INFORMATION
),
98 sizeof(FILE_MAILSLOT_SET_INFORMATION
),
100 sizeof(FILE_OBJECTID_INFORMATION
),
101 sizeof(FILE_COMPLETION_INFORMATION
),
102 sizeof(FILE_MOVE_CLUSTER_INFORMATION
),
103 sizeof(FILE_QUOTA_INFORMATION
),
107 sizeof(FILE_TRACKING_INFORMATION
),
110 sizeof(FILE_VALID_DATA_LENGTH_INFORMATION
),
111 sizeof(UNICODE_STRING
),
115 ACCESS_MASK IopQueryOperationAccess
[] =
121 FILE_READ_ATTRIBUTES
,
135 FILE_READ_ATTRIBUTES
,
140 FILE_READ_ATTRIBUTES
,
141 FILE_READ_ATTRIBUTES
,
142 FILE_READ_ATTRIBUTES
,
151 FILE_READ_ATTRIBUTES
,
152 FILE_READ_ATTRIBUTES
,
161 ACCESS_MASK IopSetOperationAccess
[] =
167 FILE_WRITE_ATTRIBUTES
,
186 FILE_WRITE_ATTRIBUTES
,
188 FILE_WRITE_ATTRIBUTES
,
208 // Volume Information Classes
210 UCHAR IopQueryFsOperationLength
[] =
213 sizeof(FILE_FS_VOLUME_INFORMATION
),
215 sizeof(FILE_FS_SIZE_INFORMATION
),
216 sizeof(FILE_FS_DEVICE_INFORMATION
),
217 sizeof(FILE_FS_ATTRIBUTE_INFORMATION
),
218 sizeof(FILE_FS_CONTROL_INFORMATION
),
219 sizeof(FILE_FS_FULL_SIZE_INFORMATION
),
220 sizeof(FILE_FS_OBJECTID_INFORMATION
),
221 sizeof(FILE_FS_DRIVER_PATH_INFORMATION
),
223 sizeof(FILE_FS_VOLUME_FLAGS_INFORMATION
),
228 UCHAR IopSetFsOperationLength
[] =
232 sizeof(FILE_FS_LABEL_INFORMATION
),
236 sizeof(FILE_FS_CONTROL_INFORMATION
),
238 sizeof(FILE_FS_OBJECTID_INFORMATION
),
241 sizeof(FILE_FS_VOLUME_FLAGS_INFORMATION
),
246 ULONG IopQueryFsOperationAccess
[] =
264 ULONG IopSetFsOperationAccess
[] =