summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authoryangwei <[email protected]>2023-11-16 12:05:09 +0800
committeryangwei <[email protected]>2023-11-16 12:05:40 +0800
commitf0521c6fd95e8e5e28b430dd252fa63024ffa0ad (patch)
treeeda7342b66f662e8a03a00cf1d031a97dcfb2330 /src/common
parent4d010bd0e41b86cca3dfc94c9c54da850faeae4c (diff)
✨ feat(stream_rawpkt.h): update get current l3 l4 hdr interface
Diffstat (limited to 'src/common')
-rw-r--r--src/common/net_common.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/src/common/net_common.c b/src/common/net_common.c
index f14d37c..d5a55ae 100644
--- a/src/common/net_common.c
+++ b/src/common/net_common.c
@@ -490,6 +490,8 @@ int MESA_stream_list_cmp(struct streaminfo_private *stream1_pr, struct streaminf
}
+
+#if 0
/* ��ȡ��������Ӧ��ԭʼ��ͷ��ʼ��ַ */
const void *get_this_layer_header(const struct streaminfo *pstream)
{
@@ -506,15 +508,48 @@ const void *get_this_layer_header(const struct streaminfo *pstream)
this_layer_hdr = NULL; /* UDPȫ�ǿ�ʱ����̭, ��ǰ���϶�ΪNULL */
}else{
this_layer_hdr = (const void *)
- ((const char *)(pstream_pr->raw_pkt->raw_pkt_data) + pstream_pr->offset_to_raw_pkt_hdr);
+ ((const char *)(pstream_pr->raw_pkt->raw_pkt_data) + pstream_pr->raw_pkt->offset_to_raw_pkt_hdr);
}
}else{
this_layer_hdr = (const void *)
- ((const char *)(pstream_pr->raw_pkt->raw_pkt_data) + pstream_pr->offset_to_raw_pkt_hdr);
+ ((const char *)(pstream_pr->raw_pkt->raw_pkt_data) + pstream_pr->raw_pkt->offset_to_raw_pkt_hdr);
}
return this_layer_hdr;
}
+#endif
+
+const void *get_current_layer3_header(const struct streaminfo *pstream)
+{
+ if(STREAM_TYPE_UDP != pstream->type && STREAM_TYPE_TCP != pstream->type)
+ {
+ return NULL;
+ }
+ const void *this_layer_hdr = NULL;
+ const struct streaminfo_private *pstream_pr = (const struct streaminfo_private *)pstream;
+ if(pstream_pr->raw_pkt)
+ {
+ this_layer_hdr = (const void *)
+ ((const char *)(pstream_pr->raw_pkt->raw_pkt_data) + pstream_pr->offset_to_raw_pkt_hdr);
+ }
+ return this_layer_hdr;
+}
+
+const void *get_current_layer4_header(const struct streaminfo *pstream)
+{
+ if(STREAM_TYPE_UDP != pstream->type && STREAM_TYPE_TCP != pstream->type)
+ {
+ return NULL;
+ }
+ const void *this_layer_hdr = NULL;
+ const struct streaminfo_private *pstream_pr = (const struct streaminfo_private *)pstream;
+ if(pstream_pr->raw_pkt)
+ {
+ this_layer_hdr = (const void *)
+ ((const char *)(pstream_pr->raw_pkt->raw_pkt_data) + pstream_pr->raw_pkt->offset_to_raw_pkt_hdr);
+ }
+ return this_layer_hdr;
+}
/* ɾ��ĩβ�Ļ��з�"\r\n" */
void del_last_rn(char *data, int max_len)