3#include "../kklibc/ctypes.h"
4#define VFS_PATH_MAX 256
47 int (*read)(
const char*,
u32,
void*,
u32);
48 int (*replace)(
const char*,
const void*,
u32);
50 int (*remove)(
const char*, int);
51 int (*rename)(
const char*,
const char*);
60int vfs_read(
const char* path,
u32 offset,
void* buffer,
u32 capacity);
69int vfs_rename(
const char* source,
const char* destination);
70int vfs_copy(
const char* source,
const char* destination);
static int create(int argc, char **argv)
Definition commands_fs.c:43
unsigned int u32
Definition ctypes.h:11
unsigned char u8
Definition ctypes.h:15
static u32 cursor
Definition memory.c:13
vfs_stat_t stat
Definition vfs.h:30
u32 generation
Definition vfs.h:35
u8 open
Definition vfs.h:36
u32 size
Definition vfs.h:24
u8 directory
Definition vfs.h:25
int vfs_replace(const char *path, const void *data, u32 size)
Definition vfs.c:166
int vfs_open(const char *path, vfs_file_t *file)
Definition vfs.c:18
void vfs_mount(const vfs_ops_t *ops)
Definition vfs.c:8
int vfs_stat(const char *path, vfs_stat_t *stat)
Definition vfs.c:136
int vfs_read(const char *path, u32 offset, void *buffer, u32 capacity)
Definition vfs.c:158
int vfs_readdir(const char *path, u32 *cursor, vfs_dirent_t *entry)
Definition vfs.c:276
int vfs_copy(const char *source, const char *destination)
Definition vfs.c:284
int vfs_unlink(const char *path)
Definition vfs.c:246
int vfs_rmdir(const char *path)
Definition vfs.c:253
#define VFS_NAME_MAX
Definition vfs.h:5
int vfs_file_read(vfs_file_t *file, void *buffer, u32 capacity)
Definition vfs.c:41
int vfs_mkdir(const char *path)
Definition vfs.c:236
#define VFS_PATH_MAX
Definition vfs.h:4
int vfs_truncate(const char *path, u32 size)
Definition vfs.c:227
void vfs_close(vfs_file_t *file)
Definition vfs.c:72
int vfs_rename(const char *source, const char *destination)
Definition vfs.c:261
int vfs_create(const char *path)
Definition vfs.c:231
const char * vfs_getcwd(void)
Definition vfs.c:14
int vfs_chdir(const char *path)
Definition vfs.c:144
int vfs_write(const char *path, u32 offset, const void *data, u32 size)
Definition vfs.c:219
int vfs_append(const char *path, const void *data, u32 size)
Definition vfs.c:223
@ VFS_EROFS
Definition vfs.h:17
@ VFS_ENOMEM
Definition vfs.h:19
@ VFS_ENOTDIR
Definition vfs.h:14
@ VFS_EISDIR
Definition vfs.h:15
@ VFS_ECORRUPT
Definition vfs.h:18
@ VFS_ENOENT
Definition vfs.h:9
@ VFS_OK
Definition vfs.h:8
@ VFS_EIO
Definition vfs.h:10
@ VFS_EINVAL
Definition vfs.h:11
@ VFS_ENOSPC
Definition vfs.h:12
@ VFS_EEXIST
Definition vfs.h:13
@ VFS_ENOTEMPTY
Definition vfs.h:16
@ VFS_EBUSY
Definition vfs.h:20
int vfs_file_write(vfs_file_t *file, const void *buffer, u32 size)
Definition vfs.c:52
int vfs_seek(vfs_file_t *file, u32 offset)
Definition vfs.c:64
const char * vfs_error(int error)
Definition vfs.c:313
int vfs_normalize(const char *path, char out[VFS_PATH_MAX])
Definition vfs.c:78