X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink_internal.h;h=569628cc3e6ebc05dca19f47d978c7e299c73961;hb=c023ad12147aa88810629c110ea6b1ab94267196;hp=0e3581f5142fa9354350e1efa6451f88dc6e98a7;hpb=d5112a0a5e7036957f22c604e767e33c4b10b775;p=meshlink diff --git a/src/meshlink_internal.h b/src/meshlink_internal.h index 0e3581f5..569628cc 100644 --- a/src/meshlink_internal.h +++ b/src/meshlink_internal.h @@ -208,9 +208,13 @@ struct meshlink_submesh { /// An AIO buffer. typedef struct meshlink_aio_buffer { const void *data; + int fd; size_t len; size_t done; - meshlink_aio_cb_t cb; + union { + meshlink_aio_cb_t buffer; + meshlink_aio_fd_cb_t fd; + } cb; void *priv; struct meshlink_aio_buffer *next; } meshlink_aio_buffer_t; @@ -221,7 +225,8 @@ struct meshlink_channel { void *priv; struct utcp_connection *c; - meshlink_aio_buffer_t *aio; + meshlink_aio_buffer_t *aio_send; + meshlink_aio_buffer_t *aio_receive; meshlink_channel_receive_cb_t receive_cb; meshlink_channel_poll_cb_t poll_cb; };