X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/3b6a05fc894d0c1a3d431045ee5a53955ba093a0..db7fc030e9e04c881f5f12a0e23baa8db4e20ee1:/lunaix-os/includes/lunaix/blkio.h diff --git a/lunaix-os/includes/lunaix/blkio.h b/lunaix-os/includes/lunaix/blkio.h index 3814917..a189a4d 100644 --- a/lunaix-os/includes/lunaix/blkio.h +++ b/lunaix-os/includes/lunaix/blkio.h @@ -3,14 +3,18 @@ #include #include +#include #include #define BLKIO_WRITE 0x1 #define BLKIO_ERROR 0x2 -// Free on complete #define BLKIO_BUSY 0x4 #define BLKIO_PENDING 0x8 + +#define BLKIO_WAIT 0x1 + +// Free on complete #define BLKIO_FOC 0x10 #define BLKIO_SCHED_IDEL 0x1 @@ -24,8 +28,9 @@ struct blkio_req { struct llist_header reqs; struct blkio_context* io_ctx; - u32_t flags; struct vecbuf* vbuf; + u32_t flags; + waitq_t wait; u64_t blk_addr; void* evt_args; blkio_cb completed; @@ -93,7 +98,7 @@ blkio_free_req(struct blkio_req* req); * @param req */ void -blkio_commit(struct blkio_context* ctx, struct blkio_req* req); +blkio_commit(struct blkio_context* ctx, struct blkio_req* req, int options); /** * @brief Schedule an IO request to be handled.