KallistiOS
##version##
|
VFS handler interface. More...
#include <kos/fs.h>
Data Fields | |
nmmgr_handler_t | nmmgr |
Name manager handler header. More... | |
int | cache |
Allow VFS cacheing; 0=no, 1=yes. More... | |
void * | privdata |
Pointer to private data for the handler. More... | |
void *(* | open )(struct vfs_handler *vfs, const char *fn, int mode) |
Open a file on the given VFS; return a unique identifier. More... | |
int(* | close )(void *hnd) |
Close a previously opened file. More... | |
ssize_t(* | read )(void *hnd, void *buffer, size_t cnt) |
Read from a previously opened file. More... | |
ssize_t(* | write )(void *hnd, const void *buffer, size_t cnt) |
Write to a previously opened file. More... | |
off_t(* | seek )(void *hnd, off_t offset, int whence) |
Seek in a previously opened file. More... | |
off_t(* | tell )(void *hnd) |
Return the current position in a previously opened file. More... | |
size_t(* | total )(void *hnd) |
Return the total size of a previously opened file. More... | |
dirent_t *(* | readdir )(void *hnd) |
Read the next directory entry in a directory opened with O_DIR. More... | |
int(* | ioctl )(void *hnd, void *data, size_t size) |
Execute a device-specific call on a previously opened file. More... | |
int(* | rename )(struct vfs_handler *vfs, const char *fn1, const char *fn2) |
Rename/move a file on the given VFS. More... | |
int(* | unlink )(struct vfs_handler *vfs, const char *fn) |
Delete a file from the given VFS. More... | |
void *(* | mmap )(void *fd) |
"Memory map" a previously opened file More... | |
int(* | complete )(void *fd, ssize_t *rv) |
Perform an I/O completion (async I/O) for a previously opened file. More... | |
int(* | stat )(struct vfs_handler *vfs, const char *path, struct stat *buf, int flag) |
Get status information on a file on the given VFS. More... | |
int(* | mkdir )(struct vfs_handler *vfs, const char *fn) |
Make a directory on the given VFS. More... | |
int(* | rmdir )(struct vfs_handler *vfs, const char *fn) |
Remove a directory from the given VFS. More... | |
int(* | fcntl )(void *fd, int cmd, va_list ap) |
Manipulate file control flags on the given file. More... | |
short(* | poll )(void *fd, short events) |
Check if an event is pending on the given file. More... | |
int(* | link )(struct vfs_handler *vfs, const char *path1, const char *path2) |
Create a hard link. More... | |
int(* | symlink )(struct vfs_handler *vfs, const char *path1, const char *path2) |
Create a symbolic link. More... | |
_off64_t(* | seek64 )(void *hnd, _off64_t offset, int whence) |
Seek in a previously opened file (64-bit offsets) More... | |
_off64_t(* | tell64 )(void *hnd) |
Return the current position in an opened file (64-bit offset) More... | |
uint64(* | total64 )(void *hnd) |
Return the size of an opened file as a 64-bit integer. More... | |
ssize_t(* | readlink )(struct vfs_handler *vfs, const char *path, char *buf, size_t bufsize) |
Read the value of a symbolic link. More... | |
int(* | rewinddir )(void *hnd) |
Rewind a directory stream to the start. More... | |
VFS handler interface.
All VFS handlers must implement this interface.
int vfs_handler::cache |
Allow VFS cacheing; 0=no, 1=yes.
int(* vfs_handler::close)(void *hnd) |
Close a previously opened file.
int(* vfs_handler::complete)(void *fd, ssize_t *rv) |
Perform an I/O completion (async I/O) for a previously opened file.
int(* vfs_handler::fcntl)(void *fd, int cmd, va_list ap) |
Manipulate file control flags on the given file.
int(* vfs_handler::ioctl)(void *hnd, void *data, size_t size) |
Execute a device-specific call on a previously opened file.
int(* vfs_handler::link)(struct vfs_handler *vfs, const char *path1, const char *path2) |
Create a hard link.
int(* vfs_handler::mkdir)(struct vfs_handler *vfs, const char *fn) |
Make a directory on the given VFS.
void*(* vfs_handler::mmap)(void *fd) |
"Memory map" a previously opened file
nmmgr_handler_t vfs_handler::nmmgr |
Name manager handler header.
void*(* vfs_handler::open)(struct vfs_handler *vfs, const char *fn, int mode) |
Open a file on the given VFS; return a unique identifier.
short(* vfs_handler::poll)(void *fd, short events) |
Check if an event is pending on the given file.
void* vfs_handler::privdata |
Pointer to private data for the handler.
ssize_t(* vfs_handler::read)(void *hnd, void *buffer, size_t cnt) |
Read from a previously opened file.
dirent_t*(* vfs_handler::readdir)(void *hnd) |
Read the next directory entry in a directory opened with O_DIR.
ssize_t(* vfs_handler::readlink)(struct vfs_handler *vfs, const char *path, char *buf, size_t bufsize) |
Read the value of a symbolic link.
int(* vfs_handler::rename)(struct vfs_handler *vfs, const char *fn1, const char *fn2) |
Rename/move a file on the given VFS.
int(* vfs_handler::rewinddir)(void *hnd) |
Rewind a directory stream to the start.
int(* vfs_handler::rmdir)(struct vfs_handler *vfs, const char *fn) |
Remove a directory from the given VFS.
off_t(* vfs_handler::seek)(void *hnd, off_t offset, int whence) |
Seek in a previously opened file.
Seek in a previously opened file (64-bit offsets)
int(* vfs_handler::stat)(struct vfs_handler *vfs, const char *path, struct stat *buf, int flag) |
Get status information on a file on the given VFS.
int(* vfs_handler::symlink)(struct vfs_handler *vfs, const char *path1, const char *path2) |
Create a symbolic link.
off_t(* vfs_handler::tell)(void *hnd) |
Return the current position in a previously opened file.
_off64_t(* vfs_handler::tell64)(void *hnd) |
Return the current position in an opened file (64-bit offset)
size_t(* vfs_handler::total)(void *hnd) |
Return the total size of a previously opened file.
uint64(* vfs_handler::total64)(void *hnd) |
Return the size of an opened file as a 64-bit integer.
int(* vfs_handler::unlink)(struct vfs_handler *vfs, const char *fn) |
Delete a file from the given VFS.
ssize_t(* vfs_handler::write)(void *hnd, const void *buffer, size_t cnt) |
Write to a previously opened file.