4 #include <std/common.h> 7 #define FS_DIRECTORY 0x02 8 #define FS_CHARDEVICE 0x03 9 #define FS_BLOCKDEVICE 0x04 11 #define FS_SYMLINK 0x06 12 #define FS_MOUNTPOINT 0x08 //use 8 instead of 7 so we can OR with FS_DIRECTORY 24 typedef uint32_t (*read_type_t)(
struct fs_node*, uint32_t, uint32_t, uint8_t*);
25 typedef uint32_t (*write_type_t)(
struct fs_node*, uint32_t, uint32_t, uint8_t*);
26 typedef void (*open_type_t)(
struct fs_node*);
27 typedef void (*close_type_t)(
struct fs_node*);
28 typedef struct dirent * (*readdir_type_t)(
struct fs_node*, uint32_t);
29 typedef struct fs_node * (*finddir_type_t)(
struct fs_node*,
char* name);
44 readdir_type_t readdir;
45 finddir_type_t finddir;
65 uint32_t read_fs(
fs_node_t* node, uint32_t offset, uint32_t
size, uint8_t* buffer);
66 uint32_t write_fs(
fs_node_t* node, uint32_t offset, uint32_t
size, uint8_t* buffer);
67 void open_fs(
fs_node_t* node, uint8_t read, uint8_t write);
72 FILE* fopen(
char* filename,
char* mode);
73 void fclose(
FILE* stream);
75 int ftell(
FILE* stream);
76 int fseek(
FILE* stream,
long offset,
int origin);
77 uint8_t fgetc(
FILE* stream);
79 uint32_t fread(
void* buffer, uint32_t
size, uint32_t count,
FILE* stream);
80 uint32_t read(
int fd,
void* buf, uint32_t count);
Definition: rd_file_internal.h:7