ReactOS  0.4.14-dev-50-g13bb5e2
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 #define SECTOR_SIZE 512
23 
24 typedef struct tagDEVVTBL
25 {
32 } DEVVTBL;
33 
34 #define MAX_FDS 60
35 
36 ARC_STATUS ArcOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId);
37 ARC_STATUS ArcClose(ULONG FileId);
41 
42 VOID FileSystemError(PCSTR ErrorString);
43 
47  IN PCSTR DefaultPath OPTIONAL,
48  IN OPENMODE OpenMode,
49  OUT PULONG FileId);
50 
53 
54 VOID FsRegisterDevice(CHAR* Prefix, const DEVVTBL* FuncTable);
56 VOID FsSetDeviceSpecific(ULONG FileId, VOID* Specific);
58 ULONG FsGetDeviceId(ULONG FileId);
signed char * PCHAR
Definition: retypes.h:7
VOID FsInit(VOID)
Definition: fs.c:430
const uint16_t * PCWSTR
Definition: typedefs.h:55
#define IN
Definition: typedefs.h:38
_In_ __drv_aliasesMem PSTRING Prefix
Definition: rtlfuncs.h:1631
VOID FsGetFirstNameFromPath(PCHAR Buffer, PCSTR Path)
Definition: fs.c:356
PCWSTR ServiceName
Definition: fs.h:31
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:24
ULONG FsGetNumPathParts(PCSTR Path)
Definition: fs.c:328
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
ULONG ARC_STATUS
Definition: arc.h:4
ARC_STATUS FsOpenFile(IN PCSTR FileName, IN PCSTR DefaultPath OPTIONAL, IN OPENMODE OpenMode, OUT PULONG FileId)
Definition: fs.c:266
ARC_CLOSE Close
Definition: fs.h:26
VOID * FsGetDeviceSpecific(ULONG FileId)
Definition: fs.c:416
struct tagDEVVTBL DEVVTBL
VOID FileSystemError(PCSTR ErrorString)
Definition: fs.c:259
PCWSTR FsGetServiceName(ULONG FileId)
Definition: fs.c:402
enum _SEEKMODE SEEKMODE
Definition: bufpool.h:45
ARC_STATUS(* ARC_OPEN)(CHAR *Path, OPENMODE OpenMode, ULONG *FileId)
Definition: arc.h:551
ARC_READ Read
Definition: fs.h:29
VOID FsSetDeviceSpecific(ULONG FileId, VOID *Specific)
Definition: fs.c:409
ARC_OPEN Open
Definition: fs.h:28
ARC_STATUS(* ARC_CLOSE)(ULONG FileId)
Definition: arc.h:538
ARC_STATUS ArcRead(ULONG FileId, VOID *Buffer, ULONG N, ULONG *Count)
Definition: fs.c:236
ARC_SEEK Seek
Definition: fs.h:30
VOID FsRegisterDevice(CHAR *Prefix, const DEVVTBL *FuncTable)
Definition: fs.c:383
ARC_STATUS ArcSeek(ULONG FileId, LARGE_INTEGER *Position, SEEKMODE SeekMode)
Definition: fs.c:243
ARC_GET_FILE_INFORMATION GetFileInformation
Definition: fs.h:27
PRTL_UNICODE_STRING_BUFFER Path
unsigned int * PULONG
Definition: retypes.h:1
ARC_STATUS ArcClose(ULONG FileId)
Definition: fs.c:218
ARC_STATUS ArcGetFileInformation(ULONG FileId, FILEINFORMATION *Information)
Definition: fs.c:250
#define OUT
Definition: typedefs.h:39
ARC_STATUS ArcOpen(CHAR *Path, OPENMODE OpenMode, ULONG *FileId)
Definition: fs.c:56
ULONG FsGetDeviceId(ULONG FileId)
Definition: fs.c:423
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
Iosb Information
Definition: create.c:4377
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68