diff options
| author | yangwei <[email protected]> | 2023-11-16 12:05:09 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2023-11-16 12:05:40 +0800 |
| commit | f0521c6fd95e8e5e28b430dd252fa63024ffa0ad (patch) | |
| tree | eda7342b66f662e8a03a00cf1d031a97dcfb2330 /src/common | |
| parent | 4d010bd0e41b86cca3dfc94c9c54da850faeae4c (diff) | |
✨ feat(stream_rawpkt.h): update get current l3 l4 hdr interface
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/net_common.c | 39 |
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) |
