From 462eaa9531b9e62916b02ab52759cd070de755d3 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Wed, 14 Apr 2021 14:34:38 +0200 Subject: Implemented some I/O interfaces --- kernel/inc/io.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'kernel/inc/io.h') diff --git a/kernel/inc/io.h b/kernel/inc/io.h index fc294f1..5176bd3 100644 --- a/kernel/inc/io.h +++ b/kernel/inc/io.h @@ -3,21 +3,23 @@ #ifndef DEV_H #define DEV_H +#include #include #include struct io_dev { - const char *name; res (*read)(void *buf, u32 offset, u32 count) NONNULL; res (*write)(void *buf, u32 offset, u32 count) NONNULL; res (*control)(u32 request, void *arg1, void *arg2, void *arg3); + res (*ready)(void); }; -void io_install(void); +void io_install(struct boot_info *boot); +void io_add(enum io_type io, struct io_dev *dev) NONNULL; res io_control(enum io_type io, u32 request, void *arg1, void *arg2, void *arg3); res io_write(enum io_type io, void *buf, u32 offset, u32 count); res io_read(enum io_type io, void *buf, u32 offset, u32 count); -res io_poll(u32 *devs); +res io_poll(u32 *devs) NONNULL; #endif -- cgit v1.2.3