| /* |
| * Copyright (c) 2025 Antmicro <www.antmicro.com> |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_SUBSYS_FS_VIRTIOFS_VIRTIOFS_H_ |
| #define ZEPHYR_SUBSYS_FS_VIRTIOFS_VIRTIOFS_H_ |
| #include <zephyr/device.h> |
| #include <../fuse_client/fuse_client.h> |
| |
| int virtiofs_init(const struct device *dev, struct fuse_init_out *response); |
| int virtiofs_lookup( |
| const struct device *dev, uint64_t inode, const char *name, struct fuse_entry_out *response, |
| uint64_t *parent_inode); |
| int virtiofs_open( |
| const struct device *dev, uint64_t inode, uint32_t flags, struct fuse_open_out *response, |
| enum fuse_object_type type); |
| int virtiofs_read( |
| const struct device *dev, uint64_t inode, uint64_t fh, |
| uint64_t offset, uint32_t size, uint8_t *buf); |
| int virtiofs_release(const struct device *dev, uint64_t inode, uint64_t fh, |
| enum fuse_object_type type); |
| int virtiofs_destroy(const struct device *dev); |
| int virtiofs_create( |
| const struct device *dev, uint64_t inode, const char *fname, uint32_t flags, |
| uint32_t mode, struct fuse_create_out *response); |
| int virtiofs_write( |
| const struct device *dev, uint64_t inode, uint64_t fh, uint64_t offset, |
| uint32_t size, const uint8_t *write_buf); |
| int virtiofs_lseek( |
| const struct device *dev, uint64_t inode, uint64_t fh, uint64_t offset, |
| uint32_t whence, struct fuse_lseek_out *response); |
| int virtiofs_setattr( |
| const struct device *dev, uint64_t inode, struct fuse_setattr_in *in, |
| struct fuse_attr_out *response); |
| int virtiofs_fsync(const struct device *dev, uint64_t inode, uint64_t fh); |
| int virtiofs_mkdir(const struct device *dev, uint64_t inode, const char *dirname, uint32_t mode); |
| int virtiofs_unlink(const struct device *dev, const char *fname, enum fuse_object_type type); |
| int virtiofs_rename( |
| const struct device *dev, uint64_t old_dir_inode, const char *old_name, |
| uint64_t new_dir_inode, const char *new_name); |
| int virtiofs_statfs(const struct device *dev, struct fuse_kstatfs *response); |
| int virtiofs_readdir( |
| const struct device *dev, uint64_t inode, uint64_t fh, uint64_t offset, |
| uint8_t *dirent_buf, uint32_t dirent_size, uint8_t *name_buf, uint32_t name_size); |
| void virtiofs_forget(const struct device *dev, uint64_t inode, uint64_t nlookup); |
| |
| #endif /* ZEPHYR_SUBSYS_FS_VIRTIOFS_VIRTIOFS_H_ */ |