diff -r f33974f0dce0 -r aa8393527b1e src/server/public/vfs.h --- a/src/server/public/vfs.h Thu Aug 31 16:29:49 2017 +0200 +++ b/src/server/public/vfs.h Sat Jan 13 19:01:00 2018 +0100 @@ -36,6 +36,8 @@ extern "C" { #endif +#define VFS_CHECKS_ACL 0x0001 + typedef struct VFS_IO VFS_IO; typedef struct VFS_DIRIO VFS_DIRIO; typedef struct VFSFile VFSFile; @@ -52,6 +54,7 @@ VFS_DIR (*opendir)(VFSContext *ctx, char *path); int (*mkdir)(VFSContext *ctx, char *path); int (*unlink)(VFSContext *ctx, char *path); + uint32_t flags; }; struct VFSContext { @@ -89,8 +92,12 @@ struct VFS_IO { ssize_t (*read)(SYS_FILE fd, void *buf, size_t nbyte); ssize_t (*write)(SYS_FILE fd, const void *buf, size_t nbyte); + ssize_t (*pread)(SYS_FILE fd, void *buf, size_t nbyte, off_t offset); + ssize_t (*pwrite)(SYS_FILE fd, const void *buf, size_t nbyte, off_t offset); off_t (*seek)(SYS_FILE fd, off_t offset, int whence); void (*close)(SYS_FILE fd); + int (*opt_aioread)(aiocb_s *aiocb); + int (*opt_aiowrite)(aiocb_s *aiocb); }; struct VFS_DIRIO {