dev: block device IO callbacks now use iovec
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user