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.
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS kernel
22 * FILE: drivers/fs/fs_rec/fs_rec.h
23 * PURPOSE: Filesystem recognizer driver
24 * PROGRAMMER: Eric Kohl
32 #define STDCALL __stdcall
35 /* Filesystem types (add new filesystems here)*/
37 #define FS_TYPE_UNUSED 0
38 #define FS_TYPE_VFAT 1
39 #define FS_TYPE_NTFS 2
40 #define FS_TYPE_CDFS 3
41 #define FS_TYPE_UDFS 4
44 typedef struct _DEVICE_EXTENSION
47 } DEVICE_EXTENSION
, *PDEVICE_EXTENSION
;
52 unsigned char magic0
, res0
, magic1
;
53 unsigned char OEMName
[8];
54 unsigned short BytesPerSector
;
55 unsigned char SectorsPerCluster
;
56 unsigned short ReservedSectors
;
57 unsigned char FATCount
;
58 unsigned short RootEntries
, Sectors
;
60 unsigned short FATSectors
, SectorsPerTrack
, Heads
;
61 unsigned long HiddenSectors
, SectorsHuge
;
62 unsigned char Drive
, Res1
, Sig
;
63 unsigned long VolumeID
;
64 unsigned char VolumeLabel
[11], SysType
[8];
65 unsigned char Res2
[448];
66 unsigned short Signatur1
;
73 FsRecReadSectors(IN PDEVICE_OBJECT DeviceObject
,
77 IN OUT PUCHAR Buffer
);
80 FsRecDeviceIoControl(IN PDEVICE_OBJECT DeviceObject
,
83 IN ULONG InputBufferSize
,
84 IN OUT PVOID OutputBuffer
,
85 IN OUT PULONG OutputBufferSize
);
91 FsRecCdfsFsControl(IN PDEVICE_OBJECT DeviceObject
,
98 FsRecVfatFsControl(IN PDEVICE_OBJECT DeviceObject
,
105 FsRecNtfsFsControl(IN PDEVICE_OBJECT DeviceObject
,
112 FsRecUdfsFsControl(IN PDEVICE_OBJECT DeviceObject
,