kernel
Loading...
Searching...
No Matches
vfs.c File Reference

Go to the source code of this file.

Data Structures

struct  MOUNTED_FS

Macros

#define MAX_MOUNTS   4
#define MAIN_FS_DEVICE   0

Typedefs

typedef struct MOUNTED_FS MOUNTED_FS

Functions

MTSTATUS FsInitialize (void)
MTSTATUS FsReadFile (IN PFILE_OBJECT FileObject, IN uint64_t FileOffset, OUT void *Buffer, IN size_t BufferSize, _Out_Opt size_t *BytesRead)
MTSTATUS FsWriteFile (IN PFILE_OBJECT FileObject, IN uint64_t FileOffset, IN void *Buffer, IN size_t BufferSize, _Out_Opt size_t *BytesWritten)
MTSTATUS FsDeleteFile (IN PFILE_OBJECT FileObject)
MTSTATUS FsListDirectory (IN PFILE_OBJECT DirectoryObject, OUT char *listings, IN size_t max_len)
MTSTATUS FsCreateDirectory (IN const char *path, OUT PHANDLE OutDirectoryObject)
MTSTATUS FsRemoveDirectoryRecursive (IN PFILE_OBJECT DirectoryObject)
MTSTATUS FsCreateFile (IN const char *path, IN ACCESS_MASK DesiredAccess, OUT PHANDLE FileHandleOut)

Variables

POBJECT_TYPE FsFileType = NULL
FS_DRIVER fat32_driver

Macro Definition Documentation

◆ MAIN_FS_DEVICE

#define MAIN_FS_DEVICE   0

Definition at line 24 of file vfs.c.

◆ MAX_MOUNTS

#define MAX_MOUNTS   4

Definition at line 20 of file vfs.c.

Typedef Documentation

◆ MOUNTED_FS

typedef struct MOUNTED_FS MOUNTED_FS

Function Documentation

◆ FsCreateDirectory()

MTSTATUS FsCreateDirectory ( IN const char * path,
OUT PHANDLE OutDirectoryObject )

Definition at line 171 of file vfs.c.

◆ FsCreateFile()

MTSTATUS FsCreateFile ( IN const char * path,
IN ACCESS_MASK DesiredAccess,
OUT PHANDLE FileHandleOut )

Definition at line 204 of file vfs.c.

◆ FsDeleteFile()

MTSTATUS FsDeleteFile ( IN PFILE_OBJECT FileObject)

Definition at line 147 of file vfs.c.

◆ FsInitialize()

MTSTATUS FsInitialize ( void )

Definition at line 81 of file vfs.c.

◆ FsListDirectory()

MTSTATUS FsListDirectory ( IN PFILE_OBJECT DirectoryObject,
OUT char * listings,
IN size_t max_len )

Definition at line 158 of file vfs.c.

◆ FsReadFile()

MTSTATUS FsReadFile ( IN PFILE_OBJECT FileObject,
IN uint64_t FileOffset,
OUT void * Buffer,
IN size_t BufferSize,
_Out_Opt size_t * BytesRead )

Definition at line 117 of file vfs.c.

◆ FsRemoveDirectoryRecursive()

MTSTATUS FsRemoveDirectoryRecursive ( IN PFILE_OBJECT DirectoryObject)

Definition at line 193 of file vfs.c.

◆ FsWriteFile()

MTSTATUS FsWriteFile ( IN PFILE_OBJECT FileObject,
IN uint64_t FileOffset,
IN void * Buffer,
IN size_t BufferSize,
_Out_Opt size_t * BytesWritten )

Definition at line 132 of file vfs.c.

Variable Documentation

◆ fat32_driver

FS_DRIVER fat32_driver
Initial value:
= {
.init = fat32_fs_init,
.ReadFile = fat32_read_file,
.WriteFile = fat32_write_file,
.CreateFile = fat32_create_file,
.DeleteObjectProcedure = fat32_deletion_routine,
}
MTSTATUS fat32_create_file(IN const char *path, OUT PFILE_OBJECT *FileObjectOut)
Definition fat32.c:1525
MTSTATUS fat32_read_file(IN PFILE_OBJECT FileObject, IN uint64_t FileOffset, OUT void *Buffer, IN size_t BufferSize, _Out_Opt size_t *BytesRead)
Definition fat32.c:1029
MTSTATUS fat32_write_file(IN PFILE_OBJECT FileObject, IN uint64_t FileOffset, IN void *Buffer, IN size_t BufferSize, _Out_Opt size_t *BytesWritten)
Definition fat32.c:1364
void fat32_deletion_routine(void *Object)
Definition fat32.c:2146

Definition at line 58 of file vfs.c.

◆ FsFileType

POBJECT_TYPE FsFileType = NULL

Definition at line 26 of file vfs.c.