fuse_operations

The file system operations:

Most of these should work very similarly to the well known UNIX file system operations. A major exception is that instead of returning an error in 'errno', the operation should return the negated error value (-errno) directly.

All methods are optional, but some are essential for a useful filesystem (e.g. getattr). Open, flush, release, fsync, opendir, releasedir, fsyncdir, access, create, truncate, lock, init and destroy are special purpose methods, without which a full featured filesystem can still be implemented.

In general, all methods are expected to perform any necessary permission checking. However, a filesystem may delegate this task to the kernel by passing the default_permissions mount option to fuse_new(). In this case, methods will only be called if the kernel's permission check has succeeded.

Almost all operations take a path which can be of any length.

extern (C)
struct fuse_operations {}

Members

Variables

access
int function(const char*, int) access;
Undocumented in source.
bmap
int function(const char*, size_t blocksize, ulong* idx) bmap;
Undocumented in source.
chmod
int function(const char*, mode_t, fuse_file_info* fi) chmod;
Undocumented in source.
chown
int function(const char*, uid_t, gid_t, fuse_file_info* fi) chown;
Undocumented in source.
copy_file_range
ssize_t function(const char* path_in, fuse_file_info* fi_in, off_t offset_in, const char* path_out, fuse_file_info* fi_out, off_t offset_out, size_t size, int flags) copy_file_range;
Undocumented in source.
create
int function(const char*, mode_t, fuse_file_info*) create;
Undocumented in source.
destroy
void function(void* private_data) destroy;
Undocumented in source.
fallocate
int function(const char*, int, off_t, off_t, fuse_file_info*) fallocate;
Undocumented in source.
flock
int function(const char*, fuse_file_info*, int op) flock;
Undocumented in source.
flush
int function(const char*, fuse_file_info*) flush;
Undocumented in source.
fsync
int function(const char*, int, fuse_file_info*) fsync;
Undocumented in source.
fsyncdir
int function(const char*, int, fuse_file_info*) fsyncdir;
Undocumented in source.
getattr
int function(const char*, stat_t*, fuse_file_info* fi) getattr;
Undocumented in source.
getxattr
int function(const char*, const char*, char*, size_t) getxattr;
Undocumented in source.
init
void* function(fuse_conn_info* conn, fuse_config* cfg) init;
Undocumented in source.
ioctl
int function(const char*, uint cmd, void* arg, fuse_file_info*, uint flags, void* data) ioctl;
Undocumented in source.
link
int function(const char*, const char*) link;
Undocumented in source.
listxattr
int function(const char*, char*, size_t) listxattr;
Undocumented in source.
lock
int function(const char*, fuse_file_info*, int cmd, flock_t*) lock;
Undocumented in source.
lseek
off_t function(const char*, off_t off, int whence, fuse_file_info*) lseek;
Undocumented in source.
mkdir
int function(const char*, mode_t) mkdir;
Undocumented in source.
mknod
int function(const char*, mode_t, dev_t) mknod;
Undocumented in source.
open
int function(const char*, fuse_file_info*) open;
Undocumented in source.
opendir
int function(const char*, fuse_file_info*) opendir;
Undocumented in source.
poll
int function(const char*, fuse_file_info*, fuse_pollhandle* ph, uint* reventsp) poll;
Undocumented in source.
read
int function(const char*, ubyte*, size_t, off_t, fuse_file_info*) read;
Undocumented in source.
read_buf
int function(const char*, fuse_bufvec** bufp, size_t size, off_t off, fuse_file_info*) read_buf;
Undocumented in source.
readdir
int function(const char*, void*, fuse_fill_dir_t filler, off_t, fuse_file_info*, fuse_readdir_flags readdir_flags) readdir;
Undocumented in source.
readlink
int function(const char*, char*, size_t) readlink;
Undocumented in source.
release
int function(const char*, fuse_file_info*) release;
Undocumented in source.
releasedir
int function(const char*, fuse_file_info*) releasedir;
Undocumented in source.
removexattr
int function(const char*, const char*) removexattr;
Undocumented in source.
rename
int function(const char*, const char*, uint flags) rename;
Undocumented in source.
rmdir
int function(const char*) rmdir;
Undocumented in source.
setxattr
int function(const char*, const char*, const char*, size_t, int) setxattr;
Undocumented in source.
statfs
int function(const char*, statvfs_t*) statfs;
Undocumented in source.
symlink
int function(const char*, const char*) symlink;
Undocumented in source.
truncate
int function(const char*, off_t, fuse_file_info* fi) truncate;
Undocumented in source.
unlink
int function(const char*) unlink;
Undocumented in source.
utimens
int function(const char*, ref const timespec[2] tv, fuse_file_info* fi) utimens;
Undocumented in source.
write
int function(const char*, const ubyte*, size_t, off_t, fuse_file_info*) write;
Undocumented in source.
write_buf
int function(const char*, fuse_bufvec* buf, off_t off, fuse_file_info*) write_buf;
Undocumented in source.

Meta