Provide access to the virtual queue and some functions for sending various FUSE messages. Add myself as a maintainer of virtio. Signed-off-by: Simon Glass <sjg@chromium.org>
83 lines
2.4 KiB
C
83 lines
2.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#ifndef VIRTIO_FS_H
|
|
#define VIRTIO_FS_H
|
|
|
|
struct blk_desc;
|
|
struct disk_partition;
|
|
struct fs_dirent;
|
|
struct fs_dir_stream;
|
|
|
|
/**
|
|
* virtio_fs_compat_opendir() - Open a directory
|
|
*
|
|
* This is a compatibility interface for struct fstype_info
|
|
*
|
|
* @fname: Path to directory to open ("/" for root)
|
|
* @strmp: Returns an allocated pointer to the new stream
|
|
* Return 0 if OK, -ve on error
|
|
*/
|
|
int virtio_fs_compat_opendir(const char *fname, struct fs_dir_stream **strmp);
|
|
|
|
/**
|
|
* virtio_fs_compat_readdir() - Read a single directory entry
|
|
*
|
|
* This is a compatibility interface for struct fstype_info
|
|
*
|
|
* @strm: Directory stream as created by virtio_fs_compat_opendir()
|
|
* @dentp: Return an allocated entry on success
|
|
* Return: 0 if OK, -ENOENT if no more entries, other -ve value on other error
|
|
*/
|
|
int virtio_fs_compat_readdir(struct fs_dir_stream *strm,
|
|
struct fs_dirent **dentp);
|
|
|
|
/**
|
|
* virtio_fs_compat_closedir() - Stop reading the directory
|
|
*
|
|
* This is a compatibility interface for struct fstype_info
|
|
*
|
|
* Frees @strm and releases the directory
|
|
*
|
|
* @strm: Directory stream as created by virtio_fs_compat_opendir()
|
|
*/
|
|
void virtio_fs_compat_closedir(struct fs_dir_stream *strm);
|
|
|
|
/**
|
|
* virtio_fs_compat_probe() - Probe for a virtio-fs filesystem
|
|
*
|
|
* This is a compatibility interface for struct fstype_info
|
|
*
|
|
* For now, this just locates the first available UCLASS_FS device and sets a
|
|
* global variable to it, for use by the above virtio_fs_compat_...() functions.
|
|
*
|
|
* @fs_dev_desc: Block device (not used, can be NULL)
|
|
* @fs_partition: Partition (not used, can be NULL)
|
|
* Return: 0 if OK, -ve on error
|
|
*/
|
|
int virtio_fs_compat_probe(struct blk_desc *fs_dev_desc,
|
|
struct disk_partition *fs_partition);
|
|
|
|
/**
|
|
* virtio_fs_compat_size() - Get the size of a file
|
|
*
|
|
* @fname: Filename to check
|
|
* @sizep: Returns size of the file, on success
|
|
* Return: 0 if OK, -ve on error
|
|
*/
|
|
int virtio_fs_compat_size(const char *fname, loff_t *sizep);
|
|
|
|
/**
|
|
* virtio_fs_compat_read() - Read from a file
|
|
*
|
|
* @fname: Filename to read from
|
|
* @buf: Buffer to read into
|
|
* @offset: Offset within the file to start reading
|
|
* @len: Number of bytes to read, or 0 to read all
|
|
* @actread: Returns the number of bytes actually read, on success
|
|
* Return: 0 if OK, -ve on error
|
|
*/
|
|
int virtio_fs_compat_read(const char *fname, void *buf, loff_t offset,
|
|
loff_t len, loff_t *actread);
|
|
|
|
#endif
|