ReactOS  0.4.13-dev-249-gcba1a2f
fs.h
Go to the documentation of this file.
1 /*
2  * FreeLoader
3  * Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
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 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.
18  */
19 
20 #pragma once
21 
22 typedef struct tagDEVVTBL
23 {
30 } DEVVTBL;
31 
32 #define FS_FAT 1
33 #define FS_NTFS 2
34 #define FS_EXT2 3
35 #define FS_ISO9660 5
36 
37 #define PFILE ULONG
38 
39 ARC_STATUS ArcOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId);
40 ARC_STATUS ArcClose(ULONG FileId);
44 
45 VOID FileSystemError(PCSTR ErrorString);
51 VOID FsSetFilePointer(PFILE FileHandle, ULONG NewFilePointer);
54 
55 VOID FsRegisterDevice(CHAR* Prefix, const DEVVTBL* FuncTable);
57 VOID FsSetDeviceSpecific(ULONG FileId, VOID* Specific);
59 ULONG FsGetDeviceId(ULONG FileId);
61 
62 #define MAX_FDS 60
VOID FsSetFilePointer(PFILE FileHandle, ULONG NewFilePointer)
Definition: fs.c:367
LPCWSTR ServiceName
Definition: fs.h:29
signed char * PCHAR
Definition: retypes.h:7
VOID FsInit(VOID)
Definition: fs.c:488
_In_ __drv_aliasesMem PSTRING Prefix
Definition: rtlfuncs.h:1631
VOID FsGetFirstNameFromPath(PCHAR Buffer, PCSTR Path)
Definition: fs.c:414
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
ARC_STATUS(* ARC_GET_FILE_INFORMATION)(ULONG FileId, FILEINFORMATION *Information)
Definition: arc.h:544
static COORD Position
Definition: mouse.c:34
char CHAR
Definition: xmlstorage.h:175
Definition: fs.h:22
ULONG FsGetNumPathParts(PCSTR Path)
Definition: fs.c:386
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
ULONG ARC_STATUS
Definition: arc.h:4
VOID FsCloseFile(PFILE FileHandle)
Definition: fs.c:309
ARC_CLOSE Close
Definition: fs.h:24
VOID * FsGetDeviceSpecific(ULONG FileId)
Definition: fs.c:474
struct tagDEVVTBL DEVVTBL
HANDLE FileHandle
Definition: stats.c:38
VOID FileSystemError(PCSTR ErrorString)
Definition: fs.c:260
Definition: bidi.c:97
unsigned char BOOLEAN
enum _SEEKMODE SEEKMODE
Definition: bufpool.h:45
ARC_STATUS(* ARC_OPEN)(CHAR *Path, OPENMODE OpenMode, ULONG *FileId)
Definition: arc.h:551
BOOLEAN FsGetFileInformation(PFILE FileHandle, FILEINFORMATION *Information)
Definition: fs.c:334
ARC_READ Read
Definition: fs.h:27
VOID FsSetDeviceSpecific(ULONG FileId, VOID *Specific)
Definition: fs.c:467
ARC_OPEN Open
Definition: fs.h:26
ARC_STATUS(* ARC_CLOSE)(ULONG FileId)
Definition: arc.h:538
ARC_STATUS ArcRead(ULONG FileId, VOID *Buffer, ULONG N, ULONG *Count)
Definition: fs.c:237
ARC_SEEK Seek
Definition: fs.h:28
VOID FsRegisterDevice(CHAR *Prefix, const DEVVTBL *FuncTable)
Definition: fs.c:441
ARC_STATUS ArcSeek(ULONG FileId, LARGE_INTEGER *Position, SEEKMODE SeekMode)
Definition: fs.c:244
ARC_GET_FILE_INFORMATION GetFileInformation
Definition: fs.h:25
PRTL_UNICODE_STRING_BUFFER Path
ARC_STATUS ArcClose(ULONG FileId)
Definition: fs.c:219
ARC_STATUS ArcGetFileInformation(ULONG FileId, FILEINFORMATION *Information)
Definition: fs.c:251
ULONG FsGetFileSize(PFILE FileHandle)
Definition: fs.c:344
ARC_STATUS ArcOpen(CHAR *Path, OPENMODE OpenMode, ULONG *FileId)
Definition: fs.c:57
ULONG FsGetDeviceId(ULONG FileId)
Definition: fs.c:481
unsigned int ULONG
Definition: retypes.h:1
ARC_STATUS(* ARC_READ)(ULONG FileId, VOID *Buffer, ULONG N, ULONG *Count)
Definition: arc.h:559
const char * PCSTR
Definition: typedefs.h:51
ARC_STATUS(* ARC_SEEK)(ULONG FileId, LARGE_INTEGER *Position, SEEKMODE SeekMode)
Definition: arc.h:567
enum _OPENMODE OPENMODE
LPCWSTR FsGetServiceName(ULONG FileId)
Definition: fs.c:460
#define PFILE
Definition: fs.h:37
_Must_inspect_result_ _In_ PFILE_OBJECT _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ FLT_IO_OPERATION_FLAGS _Out_opt_ PULONG BytesRead
Definition: fltkernel.h:1255
Iosb Information
Definition: create.c:4377
BOOLEAN FsReadFile(PFILE FileHandle, ULONG BytesToRead, ULONG *BytesRead, PVOID Buffer)
Definition: fs.c:324
PFILE FsOpenFile(PCSTR FileName)
Definition: fs.c:266