From 49f50859b5f1c8b7a1c05d44b276588cf1d90f9f Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sun, 9 Jul 2023 09:06:36 +0100 Subject: [PATCH] dev: block device IO callbacks now use iovec --- include/socks/device.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/socks/device.h b/include/socks/device.h index 2cb76c8..c4cdb8c 100644 --- a/include/socks/device.h +++ b/include/socks/device.h @@ -43,6 +43,11 @@ enum device_type { DEV_TYPE_FRAMEBUFFER, }; +struct iovec { + void *io_buf; + size_t io_len; +}; + struct device_type_ops { kern_status_t(*read)(struct device *, void *, size_t, size_t *, socks_flags_t); kern_status_t(*write)(struct device *, const void *, size_t, size_t *, socks_flags_t); @@ -50,8 +55,8 @@ struct device_type_ops { }; struct block_device_ops { - kern_status_t(*read_blocks)(struct device *, void *, size_t, size_t *, socks_flags_t); - kern_status_t(*write_blocks)(struct device *, const void *, size_t, size_t *, socks_flags_t); + kern_status_t(*read_blocks)(struct device *, sectors_t, size_t, struct iovec *, size_t, socks_flags_t); + kern_status_t(*write_blocks)(struct device *, sectors_t, size_t, struct iovec *, size_t, socks_flags_t); kern_status_t(*ioctl)(struct device *, unsigned int, void *); }; @@ -165,11 +170,6 @@ struct driver { struct driver_ops *drv_ops; }; -struct iovec { - void *io_buf; - size_t io_len; -}; - extern kern_status_t device_init(void); extern struct device *root_device(void); extern struct device *misc_device(void);