3 * Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
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 along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 typedef struct tagDEVVTBL
25 ARC_GET_FILE_INFORMATION GetFileInformation
;
34 ARC_STATUS
ArcOpen(CHAR
* Path
, OPENMODE OpenMode
, ULONG
* FileId
);
35 ARC_STATUS
ArcClose(ULONG FileId
);
36 ARC_STATUS
ArcRead(ULONG FileId
, VOID
* Buffer
, ULONG N
, ULONG
* Count
);
37 ARC_STATUS
ArcSeek(ULONG FileId
, LARGE_INTEGER
* Position
, SEEKMODE SeekMode
);
38 ARC_STATUS
ArcGetFileInformation(ULONG FileId
, FILEINFORMATION
* Information
);
40 VOID
FileSystemError(PCSTR ErrorString
);
41 ULONG
FsOpenFile(PCSTR FileName
);
42 ULONG
FsGetNumPathParts(PCSTR Path
);
43 VOID
FsGetFirstNameFromPath(PCHAR Buffer
, PCSTR Path
);
45 VOID
FsRegisterDevice(CHAR
* Prefix
, const DEVVTBL
* FuncTable
);
46 PCWSTR
FsGetServiceName(ULONG FileId
);
47 VOID
FsSetDeviceSpecific(ULONG FileId
, VOID
* Specific
);
48 VOID
* FsGetDeviceSpecific(ULONG FileId
);
49 ULONG
FsGetDeviceId(ULONG FileId
);