-/*\r
- * PROJECT: ReactOS Kernel\r
- * LICENSE: GPL - See COPYING in the top level directory\r
- * FILE: ntoskrnl/include/io_i.h\r
- * PURPOSE: Info Classes for the I/O Manager\r
- * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)\r
- */\r
-\r
-//\r
-// File Information Classes\r
-//\r
-UCHAR IopQueryOperationLength[] =\r
-{\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- sizeof(FILE_BASIC_INFORMATION),\r
- sizeof(FILE_STANDARD_INFORMATION),\r
- sizeof(FILE_INTERNAL_INFORMATION),\r
- sizeof(FILE_EA_INFORMATION),\r
- sizeof(FILE_ACCESS_INFORMATION),\r
- sizeof(FILE_NAME_INFORMATION),\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- sizeof(FILE_POSITION_INFORMATION),\r
- 0,\r
- sizeof(FILE_MODE_INFORMATION),\r
- sizeof(FILE_ALIGNMENT_INFORMATION),\r
- sizeof(FILE_ALL_INFORMATION),\r
- 0,\r
- 0,\r
- sizeof(FILE_NAME_INFORMATION),\r
- sizeof(FILE_STREAM_INFORMATION),\r
- sizeof(FILE_PIPE_INFORMATION),\r
- sizeof(FILE_PIPE_LOCAL_INFORMATION),\r
- sizeof(FILE_PIPE_REMOTE_INFORMATION),\r
- sizeof(FILE_MAILSLOT_QUERY_INFORMATION),\r
- 0,\r
- sizeof(FILE_COMPRESSION_INFORMATION),\r
- sizeof(FILE_OBJECTID_INFORMATION),\r
- 0,\r
- 0,\r
- sizeof(FILE_QUOTA_INFORMATION),\r
- sizeof(FILE_REPARSE_POINT_INFORMATION),\r
- sizeof(FILE_NETWORK_OPEN_INFORMATION),\r
- sizeof(FILE_ATTRIBUTE_TAG_INFORMATION),\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
-#if 0 // VISTA\r
- sizeof(FILE_IO_COMPLETION_NOTIFICATION_INFORMATION),\r
- sizeof(FILE_IOSTATUSBLOCK_RANGE_INFORMATION),\r
- sizeof(FILE_IO_PRIORITY_HINT_INFORMATION),\r
- sizeof(FILE_SFIO_RESERVE_INFORMATION),\r
- sizeof(FILE_SFIO_VOLUME_INFORMATION),\r
- 0,\r
- sizeof(FILE_PROCESS_IDS_USING_FILE_INFORMATION),\r
- 0,\r
- sizeof(FILE_NETWORK_PHYSICAL_NAME_INFORMATION),\r
-#endif\r
- 0xFF\r
-};\r
-\r
-UCHAR IopSetOperationLength[] =\r
-{\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- sizeof(FILE_BASIC_INFORMATION),\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- sizeof(FILE_RENAME_INFORMATION),\r
- sizeof(FILE_LINK_INFORMATION),\r
- 0,\r
- sizeof(FILE_DISPOSITION_INFORMATION),\r
- sizeof(FILE_POSITION_INFORMATION),\r
- 0,\r
- sizeof(FILE_MODE_INFORMATION),\r
- 0,\r
- 0,\r
- sizeof(FILE_ALLOCATION_INFORMATION),\r
- sizeof(FILE_END_OF_FILE_INFORMATION),\r
- 0,\r
- 0,\r
- sizeof(FILE_PIPE_INFORMATION),\r
- 0,\r
- 0,\r
- 0,\r
- sizeof(FILE_MAILSLOT_SET_INFORMATION),\r
- 0,\r
- sizeof(FILE_OBJECTID_INFORMATION),\r
- sizeof(FILE_COMPLETION_INFORMATION),\r
- sizeof(FILE_MOVE_CLUSTER_INFORMATION),\r
- sizeof(FILE_QUOTA_INFORMATION),\r
- 0,\r
- 0,\r
- 0,\r
- sizeof(FILE_TRACKING_INFORMATION),\r
- 0,\r
- 0,\r
- sizeof(FILE_VALID_DATA_LENGTH_INFORMATION),\r
- sizeof(UNICODE_STRING),\r
- 0xFF\r
-};\r
-\r
-ACCESS_MASK IopQueryOperationAccess[] =\r
-{\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_READ_ATTRIBUTES,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_READ_EA,\r
- 0,\r
- 0,\r
- FILE_READ_ATTRIBUTES,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_READ_ATTRIBUTES,\r
- FILE_READ_ATTRIBUTES,\r
- FILE_READ_ATTRIBUTES,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_READ_ATTRIBUTES,\r
- FILE_READ_ATTRIBUTES,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0xFFFFFFFF\r
-};\r
-\r
-ACCESS_MASK IopSetOperationAccess[] =\r
-{\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_WRITE_ATTRIBUTES,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- DELETE,\r
- 0,\r
- 0,\r
- DELETE,\r
- 0,\r
- FILE_WRITE_EA,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_WRITE_DATA,\r
- FILE_WRITE_DATA,\r
- 0,\r
- 0,\r
- FILE_WRITE_ATTRIBUTES,\r
- 0,\r
- FILE_WRITE_ATTRIBUTES,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_WRITE_DATA,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_WRITE_DATA,\r
- 0,\r
- 0,\r
- FILE_WRITE_DATA,\r
- DELETE,\r
- 0xFFFFFFFF\r
-};\r
-\r
-//\r
-// Volume Information Classes\r
-//\r
-UCHAR IopQueryFsOperationLength[] =\r
-{\r
- 0,\r
- sizeof(FILE_FS_VOLUME_INFORMATION),\r
- 0,\r
- sizeof(FILE_FS_SIZE_INFORMATION),\r
- sizeof(FILE_FS_DEVICE_INFORMATION),\r
- sizeof(FILE_FS_ATTRIBUTE_INFORMATION),\r
- sizeof(FILE_FS_CONTROL_INFORMATION),\r
- sizeof(FILE_FS_FULL_SIZE_INFORMATION),\r
- sizeof(FILE_FS_OBJECTID_INFORMATION),\r
- sizeof(FILE_FS_DRIVER_PATH_INFORMATION),\r
-#if 0 // VISTA\r
- sizeof(FILE_FS_VOLUME_FLAGS_INFORMATION),\r
-#endif\r
- 0xFF\r
-};\r
-\r
-UCHAR IopSetFsOperationLength[] =\r
-{\r
- 0,\r
- 0,\r
- sizeof(FILE_FS_LABEL_INFORMATION),\r
- 0,\r
- 0,\r
- 0,\r
- sizeof(FILE_FS_CONTROL_INFORMATION),\r
- 0,\r
- sizeof(FILE_FS_OBJECTID_INFORMATION),\r
- 0,\r
-#if 0 // VISTA\r
- sizeof(FILE_FS_VOLUME_FLAGS_INFORMATION),\r
-#endif\r
- 0xFF\r
-};\r
-\r
-ULONG IopQueryFsOperationAccess[] =\r
-{\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_READ_DATA,\r
- 0,\r
- 0,\r
- 0,\r
-#if 0 // VISTA\r
- 0,\r
-#endif\r
- 0xFFFFFFFF\r
-};\r
-\r
-ULONG IopSetFsOperationAccess[] =\r
-{\r
- 0,\r
- 0,\r
- FILE_WRITE_DATA,\r
- 0,\r
- 0,\r
- 0,\r
- FILE_WRITE_DATA,\r
- 0,\r
- FILE_WRITE_DATA,\r
- 0,\r
-#if 0 // VISTA\r
- 0,\r
-#endif\r
- 0xFFFFFFFF\r
-};\r
+/*
+ * PROJECT: ReactOS Kernel
+ * LICENSE: GPL - See COPYING in the top level directory
+ * FILE: ntoskrnl/include/io_i.h
+ * PURPOSE: Info Classes for the I/O Manager
+ * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
+ */
+
+//
+// File Information Classes
+//
+UCHAR IopQueryOperationLength[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ sizeof(FILE_BASIC_INFORMATION),
+ sizeof(FILE_STANDARD_INFORMATION),
+ sizeof(FILE_INTERNAL_INFORMATION),
+ sizeof(FILE_EA_INFORMATION),
+ sizeof(FILE_ACCESS_INFORMATION),
+ sizeof(FILE_NAME_INFORMATION),
+ 0,
+ 0,
+ 0,
+ 0,
+ sizeof(FILE_POSITION_INFORMATION),
+ 0,
+ sizeof(FILE_MODE_INFORMATION),
+ sizeof(FILE_ALIGNMENT_INFORMATION),
+ sizeof(FILE_ALL_INFORMATION),
+ 0,
+ 0,
+ sizeof(FILE_NAME_INFORMATION),
+ sizeof(FILE_STREAM_INFORMATION),
+ sizeof(FILE_PIPE_INFORMATION),
+ sizeof(FILE_PIPE_LOCAL_INFORMATION),
+ sizeof(FILE_PIPE_REMOTE_INFORMATION),
+ sizeof(FILE_MAILSLOT_QUERY_INFORMATION),
+ 0,
+ sizeof(FILE_COMPRESSION_INFORMATION),
+ sizeof(FILE_OBJECTID_INFORMATION),
+ 0,
+ 0,
+ sizeof(FILE_QUOTA_INFORMATION),
+ sizeof(FILE_REPARSE_POINT_INFORMATION),
+ sizeof(FILE_NETWORK_OPEN_INFORMATION),
+ sizeof(FILE_ATTRIBUTE_TAG_INFORMATION),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+#if 0 // VISTA
+ sizeof(FILE_IO_COMPLETION_NOTIFICATION_INFORMATION),
+ sizeof(FILE_IOSTATUSBLOCK_RANGE_INFORMATION),
+ sizeof(FILE_IO_PRIORITY_HINT_INFORMATION),
+ sizeof(FILE_SFIO_RESERVE_INFORMATION),
+ sizeof(FILE_SFIO_VOLUME_INFORMATION),
+ 0,
+ sizeof(FILE_PROCESS_IDS_USING_FILE_INFORMATION),
+ 0,
+ sizeof(FILE_NETWORK_PHYSICAL_NAME_INFORMATION),
+#endif
+ 0xFF
+};
+
+UCHAR IopSetOperationLength[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ sizeof(FILE_BASIC_INFORMATION),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ sizeof(FILE_RENAME_INFORMATION),
+ sizeof(FILE_LINK_INFORMATION),
+ 0,
+ sizeof(FILE_DISPOSITION_INFORMATION),
+ sizeof(FILE_POSITION_INFORMATION),
+ 0,
+ sizeof(FILE_MODE_INFORMATION),
+ 0,
+ 0,
+ sizeof(FILE_ALLOCATION_INFORMATION),
+ sizeof(FILE_END_OF_FILE_INFORMATION),
+ 0,
+ 0,
+ sizeof(FILE_PIPE_INFORMATION),
+ 0,
+ 0,
+ 0,
+ sizeof(FILE_MAILSLOT_SET_INFORMATION),
+ 0,
+ sizeof(FILE_OBJECTID_INFORMATION),
+ sizeof(FILE_COMPLETION_INFORMATION),
+ sizeof(FILE_MOVE_CLUSTER_INFORMATION),
+ sizeof(FILE_QUOTA_INFORMATION),
+ 0,
+ 0,
+ 0,
+ sizeof(FILE_TRACKING_INFORMATION),
+ 0,
+ 0,
+ sizeof(FILE_VALID_DATA_LENGTH_INFORMATION),
+ sizeof(UNICODE_STRING),
+ 0xFF
+};
+
+ACCESS_MASK IopQueryOperationAccess[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ FILE_READ_ATTRIBUTES,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ FILE_READ_EA,
+ 0,
+ 0,
+ FILE_READ_ATTRIBUTES,
+ 0,
+ 0,
+ 0,
+ 0,
+ FILE_READ_ATTRIBUTES,
+ FILE_READ_ATTRIBUTES,
+ FILE_READ_ATTRIBUTES,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ FILE_READ_ATTRIBUTES,
+ FILE_READ_ATTRIBUTES,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0xFFFFFFFF
+};
+
+ACCESS_MASK IopSetOperationAccess[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ FILE_WRITE_ATTRIBUTES,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ DELETE,
+ 0,
+ 0,
+ DELETE,
+ 0,
+ FILE_WRITE_EA,
+ 0,
+ 0,
+ 0,
+ FILE_WRITE_DATA,
+ FILE_WRITE_DATA,
+ 0,
+ 0,
+ FILE_WRITE_ATTRIBUTES,
+ 0,
+ FILE_WRITE_ATTRIBUTES,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ FILE_WRITE_DATA,
+ 0,
+ 0,
+ 0,
+ 0,
+ FILE_WRITE_DATA,
+ 0,
+ 0,
+ FILE_WRITE_DATA,
+ DELETE,
+ 0xFFFFFFFF
+};
+
+//
+// Volume Information Classes
+//
+UCHAR IopQueryFsOperationLength[] =
+{
+ 0,
+ sizeof(FILE_FS_VOLUME_INFORMATION),
+ 0,
+ sizeof(FILE_FS_SIZE_INFORMATION),
+ sizeof(FILE_FS_DEVICE_INFORMATION),
+ sizeof(FILE_FS_ATTRIBUTE_INFORMATION),
+ sizeof(FILE_FS_CONTROL_INFORMATION),
+ sizeof(FILE_FS_FULL_SIZE_INFORMATION),
+ sizeof(FILE_FS_OBJECTID_INFORMATION),
+ sizeof(FILE_FS_DRIVER_PATH_INFORMATION),
+#if 0 // VISTA
+ sizeof(FILE_FS_VOLUME_FLAGS_INFORMATION),
+#endif
+ 0xFF
+};
+
+UCHAR IopSetFsOperationLength[] =
+{
+ 0,
+ 0,
+ sizeof(FILE_FS_LABEL_INFORMATION),
+ 0,
+ 0,
+ 0,
+ sizeof(FILE_FS_CONTROL_INFORMATION),
+ 0,
+ sizeof(FILE_FS_OBJECTID_INFORMATION),
+ 0,
+#if 0 // VISTA
+ sizeof(FILE_FS_VOLUME_FLAGS_INFORMATION),
+#endif
+ 0xFF
+};
+
+ULONG IopQueryFsOperationAccess[] =
+{
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ FILE_READ_DATA,
+ 0,
+ 0,
+ 0,
+#if 0 // VISTA
+ 0,
+#endif
+ 0xFFFFFFFF
+};
+
+ULONG IopSetFsOperationAccess[] =
+{
+ 0,
+ 0,
+ FILE_WRITE_DATA,
+ 0,
+ 0,
+ 0,
+ FILE_WRITE_DATA,
+ 0,
+ FILE_WRITE_DATA,
+ 0,
+#if 0 // VISTA
+ 0,
+#endif
+ 0xFFFFFFFF
+};