diff options
| author | songyanchao <[email protected]> | 2023-02-21 13:59:53 +0000 |
|---|---|---|
| committer | songyanchao <[email protected]> | 2023-02-21 13:59:53 +0000 |
| commit | 29b13d2b60b1c23e3eaa7b2e488594244f594c27 (patch) | |
| tree | 9c93674cb121b64496bbd38ceb12f7a1bda1c5e3 /include | |
| parent | b5ab50a03abe6d8692fa5b3cae97aa0ae93e84d1 (diff) | |
✨ feat: 新增 “mrb_metadata” 成员并提供相应API
新增 “mrb_metadata” 成员并提供相应API
Diffstat (limited to 'include')
| -rw-r--r-- | include/external/marsio.h | 14 | ||||
| -rw-r--r-- | include/internal/mrb_define.h | 8 |
2 files changed, 18 insertions, 4 deletions
diff --git a/include/external/marsio.h b/include/external/marsio.h index f61c5a3..ec58114 100644 --- a/include/external/marsio.h +++ b/include/external/marsio.h @@ -108,11 +108,14 @@ enum mr_buff_metadata_type /* session id */ MR_BUFF_SESSION_ID = 3, /* dir, internal->external or external->internal */ - MR_BUFF_DIR = 4 + MR_BUFF_DIR = 4, + /* payload offset */ + MR_BUFF_PAYLOAD_OFFSET = 5 }; #ifdef __cplusplus -extern "C" { +extern "C" +{ #endif #include <netinet/in.h> @@ -185,6 +188,9 @@ void * marsio_buff_ctrlzone_data(marsio_buff_t * m, uint8_t id, uint8_t * size); // a safe way to set control zone data. void marsio_buff_ctrlzone_set(marsio_buff_t * m, uint8_t id, void * ptr_data, uint8_t size); +// a safe way to reset control zone data. +void marsio_buff_ctrlzone_reset(marsio_buff_t * m); + void marsio_buff_reset(marsio_buff_t * m); marsio_buff_t * marsio_buff_getnext_seg(marsio_buff_t * m); @@ -267,13 +273,13 @@ int marsio_buff_unset_metadata(marsio_buff_t * m, enum mr_buff_metadata_type typ /* sid */ typedef uint16_t sid_t; -#define MR_SID_LIST_MAXLEN 8 +#define MR_SID_LIST_MAXLEN 8 int marsio_buff_get_sid_list(marsio_buff_t * m, sid_t * out_slist, uint8_t sz_out_slist); int marsio_buff_set_sid_list(marsio_buff_t * m, sid_t * slist, uint8_t sz_slist); int marsio_buff_append_sid_list(marsio_buff_t * m, sid_t * slist, uint8_t sz_slist); int marsio_buff_prepend_sid_list(marsio_buff_t * m, sid_t * slist, uint8_t sz_slist); -int marsio_buff_get_current_sid(marsio_buff_t *m, sid_t * sid); +int marsio_buff_get_current_sid(marsio_buff_t * m, sid_t * sid); #ifdef __cplusplus } diff --git a/include/internal/mrb_define.h b/include/internal/mrb_define.h index 0bbd3d8..db2e12a 100644 --- a/include/internal/mrb_define.h +++ b/include/internal/mrb_define.h @@ -21,6 +21,14 @@ struct mrb_metadata uint8_t packet_create_from_nf : 1; uint8_t link_id : 6; + uint8_t is_ctrlbuf : 1; + uint8_t un_used : 7; + + uint16_t payload_offset; + + /* Session Id */ + uint64_t session_id; + /* for sid forwarder */ uint8_t start_sid; uint8_t nr_sid; |
