summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorsongyanchao <[email protected]>2023-02-21 13:59:53 +0000
committersongyanchao <[email protected]>2023-02-21 13:59:53 +0000
commit29b13d2b60b1c23e3eaa7b2e488594244f594c27 (patch)
tree9c93674cb121b64496bbd38ceb12f7a1bda1c5e3 /include
parentb5ab50a03abe6d8692fa5b3cae97aa0ae93e84d1 (diff)
✨ feat: 新增 “mrb_metadata” 成员并提供相应API
新增 “mrb_metadata” 成员并提供相应API
Diffstat (limited to 'include')
-rw-r--r--include/external/marsio.h14
-rw-r--r--include/internal/mrb_define.h8
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;