7#define MAX_FILESYSTEMS 12
8#define MAX_FILEDESCRIPTORS 1024
9#define MAX_FILESYSTEM_NAME 20
10#define MAX_MOUNTED 16384
67typedef int (*
FS_READ_FUNCTION)(
void* private_fs,
void* descriptor, uint32_t
size, uint32_t nmemb,
char* out);
92int fread(
void* ptr, uint32_t
size, uint32_t nmemb,
int fd);
93int fwrite(
void* ptr, uint32_t
size, uint32_t nmemb,
int fd);
uint32_t offset
Definition BMPFile.hpp:3
uint8_t filename[8]
Definition fat16.h:0
uint16_t size
Definition gdt.h:0
FILE_SEEK_MODES
Definition file.h:17
@ SEEK_END
Absolute position from the end of file.
Definition file.h:34
@ SEEK_SET
Absolute position from 0.
Definition file.h:22
@ SEEK_CUR
Relative position.
Definition file.h:28
void fs_insert_filesystem(struct filesystem *filesystem)
Inserts filesystem struct into internal array.
Definition file.c:101
int(* FS_RESOLVE_FUNCTION)(struct disk *disk)
Definition file.h:65
int fstat(int fd, struct file_stat *stat)
Returns file status.
Definition file.c:317
int(* FS_STAT_FUNCTION)(void *private_fs, struct file_stat *stat)
Definition file.h:69
void mount(const char *filename, struct filesystem *fs, void *data)
Definition file.c:343
unsigned int FILE_STAT_FLAGS
Definition file.h:14
int fseek(int fd, int offset, FILE_SEEK_MODE whence)
Seeks into file.
Definition file.c:301
int(* FS_CLOSE_FUNCTION)(void *private_fs)
Definition file.h:70
int fclose(int fd)
Closes file descriptor.
Definition file.c:332
int(* FS_READ_FUNCTION)(void *private_fs, void *descriptor, uint32_t size, uint32_t nmemb, char *out)
Definition file.h:67
int fwrite(void *ptr, uint32_t size, uint32_t nmemb, int fd)
Writes to file.
Definition file.c:282
int(* FS_WRITE_FUNCTION)(void *private_fs, void *descriptor, uint32_t size, uint32_t nmemb, char *in)
Definition file.h:71
struct filesystem * fs_resolve(struct disk *disk)
Resolves filesystem for given disk.
Definition file.c:134
void *(* FS_OPEN_FUNCTION)(void *private_fs, struct path_part *path, FILE_MODE mode)
Definition file.h:66
unsigned int FILE_MODE
Definition file.h:13
int fopen(const char *filename, const char *mode)
Opens file.
Definition file.c:181
int(* FS_SEEK_FUNCTION)(void *private_fs, uint32_t offset, FILE_SEEK_MODE seek_mode)
Definition file.h:68
FILE_STAT_FLAGS_ENUM
Definition file.h:46
@ FILE_STAT_READ_ONLY
Definition file.h:47
@ FILE_STAT_FOLDER
Definition file.h:48
unsigned int FILE_SEEK_MODE
Definition file.h:12
#define MAX_FILESYSTEM_NAME
Definition file.h:9
void fs_init()
Initializes internal filesystem arrays.
Definition file.c:121
FILE_OPEN_MODES
Definition file.h:38
@ FILE_MODE_WRITE
Definition file.h:40
@ FILE_MODE_INVALID
Definition file.h:42
@ FILE_MODE_READ
Definition file.h:39
@ FILE_MODE_APPEND
Definition file.h:41
int fread(void *ptr, uint32_t size, uint32_t nmemb, int fd)
Reads from file.
Definition file.c:263
struct filesystem * filesystem
Definition file.h:54
int index
Definition file.h:53
void * private_fs_descriptor
Definition file.h:55
void * private_fs
Definition file.h:56
uint32_t filesize
Definition file.h:62
FILE_STAT_FLAGS flags
Definition file.h:61
FS_SEEK_FUNCTION seek
Definition file.h:79
char name[MAX_FILESYSTEM_NAME]
Definition file.h:84
FS_STAT_FUNCTION stat
Definition file.h:80
FS_WRITE_FUNCTION write
Definition file.h:82
FS_OPEN_FUNCTION open
Definition file.h:77
FS_RESOLVE_FUNCTION resolve
Definition file.h:76
FS_CLOSE_FUNCTION close
Definition file.h:81
FS_READ_FUNCTION read
Definition file.h:78
void * data
Definition file.h:101
const char * filename
Definition file.h:99
struct filesystem * fs
Definition file.h:100
uint32_t fs
Definition tss.h:22
unsigned int FILE_STAT_FLAGS
Definition file.h:11
uint8_t * data
Definition window.h:0