3 * Copyright (C) 2002,2003 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 * COPYRIGHT: See COPYING in the top level directory
22 * PROJECT: ReactOS kernel
23 * FILE: drivers/fs/fs_rec/fs_rec.h
24 * PURPOSE: Filesystem recognizer driver
25 * PROGRAMMER: Eric Kohl
29 /* Filesystem types (add new filesystems here)*/
31 #define FS_TYPE_UNUSED 0
32 #define FS_TYPE_VFAT 1
33 #define FS_TYPE_NTFS 2
34 #define FS_TYPE_CDFS 3
35 #define FS_TYPE_UDFS 4
38 typedef struct _DEVICE_EXTENSION
41 } DEVICE_EXTENSION
, *PDEVICE_EXTENSION
;
45 unsigned char magic0
, res0
, magic1
;
46 unsigned char OEMName
[8];
47 unsigned short BytesPerSector
;
48 unsigned char SectorsPerCluster
;
49 unsigned short ReservedSectors
;
50 unsigned char FATCount
;
51 unsigned short RootEntries
, Sectors
;
53 unsigned short FATSectors
, SectorsPerTrack
, Heads
;
54 unsigned long HiddenSectors
, SectorsHuge
;
55 unsigned char Drive
, Res1
, Sig
;
56 unsigned long VolumeID
;
57 unsigned char VolumeLabel
[11], SysType
[8];
58 unsigned char Res2
[448];
59 unsigned short Signatur1
;
60 } __attribute__((packed
));
65 FsRecReadSectors(IN PDEVICE_OBJECT DeviceObject
,
69 IN OUT PUCHAR Buffer
);
72 FsRecDeviceIoControl(IN PDEVICE_OBJECT DeviceObject
,
75 IN ULONG InputBufferSize
,
76 IN OUT PVOID OutputBuffer
,
77 IN OUT PULONG OutputBufferSize
);
83 FsRecCdfsFsControl(IN PDEVICE_OBJECT DeviceObject
,
90 FsRecVfatFsControl(IN PDEVICE_OBJECT DeviceObject
,
97 FsRecNtfsFsControl(IN PDEVICE_OBJECT DeviceObject
,
104 FsRecUdfsFsControl(IN PDEVICE_OBJECT DeviceObject
,