update for HEAD-2003021201
[reactos.git] / drivers / fs / fs_rec / fs_rec.h
1 /*
2  *  ReactOS kernel
3  *  Copyright (C) 2002,2003 ReactOS Team
4  *
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.
9  *
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.
14  *
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.
18  */
19 /* $Id$
20  *
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
26  */
27
28
29 /* Filesystem types (add new filesystems here)*/
30
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
36
37
38 typedef struct _DEVICE_EXTENSION
39 {
40   ULONG FsType;
41 } DEVICE_EXTENSION, *PDEVICE_EXTENSION;
42
43
44 /* blockdev.c */
45
46 NTSTATUS
47 FsRecReadSectors(IN PDEVICE_OBJECT DeviceObject,
48                  IN ULONG DiskSector,
49                  IN ULONG SectorCount,
50                  IN ULONG SectorSize,
51                  IN OUT PUCHAR Buffer);
52
53 NTSTATUS
54 FsRecDeviceIoControl(IN PDEVICE_OBJECT DeviceObject,
55                      IN ULONG ControlCode,
56                      IN PVOID InputBuffer,
57                      IN ULONG InputBufferSize,
58                      IN OUT PVOID OutputBuffer,
59                      IN OUT PULONG OutputBufferSize);
60
61
62 /* cdfs.c */
63
64 NTSTATUS
65 FsRecCdfsFsControl(IN PDEVICE_OBJECT DeviceObject,
66                    IN PIRP Irp);
67
68
69 /* fat.c */
70
71 NTSTATUS
72 FsRecVfatFsControl(IN PDEVICE_OBJECT DeviceObject,
73                    IN PIRP Irp);
74
75
76 /* ntfs.c */
77
78 NTSTATUS
79 FsRecNtfsFsControl(IN PDEVICE_OBJECT DeviceObject,
80                    IN PIRP Irp);
81
82
83 /* udfs.c */
84
85 NTSTATUS
86 FsRecUdfsFsControl(IN PDEVICE_OBJECT DeviceObject,
87                    IN PIRP Irp);
88
89 /* EOF */