diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-03-18 10:53:12 -0600 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-06-07 22:45:26 -0600 |
commit | 85a4545c213f1643d3b7a6dd83235b5559733023 (patch) | |
tree | c379bb04d1636ab2c802c464fb800785ceac211c /lib9p/core_include | |
parent | 53d0b11262177cd212803fc9330e055871c348b3 (diff) |
wip: lib9p: Multi-iovec replieslukeshu/9p-read-multi-iovec
Diffstat (limited to 'lib9p/core_include')
-rw-r--r-- | lib9p/core_include/lib9p/_core_generated.h | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/lib9p/core_include/lib9p/_core_generated.h b/lib9p/core_include/lib9p/_core_generated.h index de7795a..905f1f0 100644 --- a/lib9p/core_include/lib9p/_core_generated.h +++ b/lib9p/core_include/lib9p/_core_generated.h @@ -4,6 +4,11 @@ #error Do not include <lib9p/_core_generated.h> directly; include <lib9p/core.h> instead #endif +struct _lib9p_iovec_list { + struct iovec *iov; + int iovcnt; +}; + /* config *********************************************************************/ #ifndef CONFIG_9P_ENABLE_9P2000 @@ -715,18 +720,18 @@ struct lib9p_msg_Tread { /* min_size = 11 ; exp_size = 8,203 ; max_size = 2,147,483,658 ; max_iov = 2 ; max_copy = 11 */ struct lib9p_msg_Rread { - lib9p_tag_t tag; - uint32_t count; - [[gnu::nonstring]] char *data; + lib9p_tag_t tag; + uint32_t count; + struct _lib9p_iovec data; }; /* min_size = 23 ; exp_size = 8,215 ; max_size = 2,147,483,670 ; max_iov = 2 ; max_copy = 23 */ struct lib9p_msg_Twrite { - lib9p_tag_t tag; - lib9p_fid_t fid; - uint64_t offset; - uint32_t count; - [[gnu::nonstring]] char *data; + lib9p_tag_t tag; + lib9p_fid_t fid; + uint64_t offset; + uint32_t count; + struct _lib9p_iovec data; }; /* size = 11 ; max_iov = 1 ; max_copy = 11 */ @@ -873,9 +878,9 @@ struct lib9p_msg_Treaddir { /* min_size = 11 ; exp_size = 8,203 ; max_size = 4,294,967,306 (warning: >UINT32_MAX) ; max_iov = 2 ; max_copy = 11 */ struct lib9p_msg_Rreaddir { - lib9p_tag_t tag; - uint32_t count; - [[gnu::nonstring]] char *data; + lib9p_tag_t tag; + uint32_t count; + struct _lib9p_iovec data; }; /* size = 15 ; max_iov = 1 ; max_copy = 15 */ @@ -926,9 +931,9 @@ struct lib9p_msg_Rsession { /* min_size = 11 ; exp_size = 8,203 ; max_size = 4,294,967,306 (warning: >UINT32_MAX) ; max_iov = 2 ; max_copy = 11 */ struct lib9p_msg_Rsread { - lib9p_tag_t tag; - uint32_t count; - [[gnu::nonstring]] char *data; + lib9p_tag_t tag; + uint32_t count; + struct _lib9p_iovec data; }; /* size = 11 ; max_iov = 1 ; max_copy = 11 */ @@ -1291,12 +1296,12 @@ struct lib9p_msg_Tsread { /* min_size = 17 ; exp_size = 8,673 ; max_size = 8,589,934,607 (warning: >UINT32_MAX) ; max_iov = 2 + (CONFIG_9P_MAX_9P2000_e_WELEM * 2) ; max_copy = 17 + (CONFIG_9P_MAX_9P2000_e_WELEM * 2) */ struct lib9p_msg_Tswrite { - lib9p_tag_t tag; - uint32_t fid; - uint16_t nwname; - struct lib9p_s *wname; - uint32_t count; - [[gnu::nonstring]] char *data; + lib9p_tag_t tag; + uint32_t fid; + uint16_t nwname; + struct lib9p_s *wname; + uint32_t count; + struct _lib9p_iovec data; }; #endif /* CONFIG_9P_ENABLE_9P2000_e */ |