Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
tap-rlc-graph.h
Go to the documentation of this file.
1
12#ifndef __TAP_RLC_GRAPH_H__
13#define __TAP_RLC_GRAPH_H__
14
15#include <epan/epan.h>
16#include <epan/packet.h>
17#include <epan/cfile.h>
18#include <epan/dissectors/packet-rlc-lte.h>
19#include <epan/dissectors/packet-rlc-3gpp-common.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif /* __cplusplus */
24
25struct rlc_segment {
26 struct rlc_segment *next;
27 uint32_t num; /* framenum */
28 time_t rel_secs;
29 uint32_t rel_usecs;
30
31 bool isControlPDU;
32 uint32_t SN;
33 uint16_t isResegmented;
34 uint32_t ACKNo;
35 uint16_t noOfNACKs;
36 uint32_t NACKs[MAX_NACKs];
37 uint16_t pduLength;
38
39 uint8_t rat;
40 uint16_t ueid;
41 uint16_t channelType;
42 uint16_t channelId;
43 uint8_t rlcMode;
44 uint8_t direction;
45 uint16_t sequenceNumberLength;
46};
47
48/* A collection of channels that may be found in one frame. Used when working out
49 which channel(s) are present in a frame. */
50typedef struct _th_t {
51 int num_hdrs;
52 #define MAX_SUPPORTED_CHANNELS 8
53 rlc_3gpp_tap_info *rlchdrs[MAX_SUPPORTED_CHANNELS];
54} th_t;
55
56struct rlc_graph {
57 /* List of segments to show */
58 struct rlc_segment *segments;
59 struct rlc_segment *last_segment;
60
61 /* These are filled in with the channel/direction this graph is showing */
62 bool channelSet;
63
64 uint8_t rat;
65 uint16_t ueid;
66 uint16_t channelType;
67 uint16_t channelId;
68 uint8_t rlcMode;
69 uint8_t direction;
70};
71
81bool rlc_graph_segment_list_get(capture_file *cf, struct rlc_graph *tg, bool stream_known,
82 char **err_string);
83
89
111bool compare_rlc_headers(uint8_t rat1, uint8_t rat2,
112 uint16_t ueid1, uint16_t channelType1, uint16_t channelId1, uint8_t rlcMode1, uint8_t direction1,
113 uint16_t ueid2, uint16_t channelType2, uint16_t channelId2, uint8_t rlcMode2, uint8_t direction2,
114 bool isControlFrame);
115
127 char **err_msg);
128
129
130#ifdef __cplusplus
131}
132#endif /* __cplusplus */
133
134
135#endif
Definition cfile.h:68
Definition tap-rlc-graph.h:50
Definition packet-rlc-3gpp-common.h:18
Definition tap-rlc-graph.h:56
Definition packet-rlc-lte.c:381
bool compare_rlc_headers(uint8_t rat1, uint8_t rat2, uint16_t ueid1, uint16_t channelType1, uint16_t channelId1, uint8_t rlcMode1, uint8_t direction1, uint16_t ueid2, uint16_t channelType2, uint16_t channelId2, uint8_t rlcMode2, uint8_t direction2, bool isControlFrame)
Compares two RLC headers for equality.
Definition tap-rlc-graph.c:25
void rlc_graph_segment_list_free(struct rlc_graph *g)
Frees the list of RLC segments in the given RLC graph.
Definition tap-rlc-graph.c:312
bool rlc_graph_segment_list_get(capture_file *cf, struct rlc_graph *tg, bool stream_known, char **err_string)
Retrieves a list of RLC segments from a capture file.
Definition tap-rlc-graph.c:256
rlc_3gpp_tap_info * select_rlc_lte_session(capture_file *cf, struct rlc_segment *hdrs, char **err_msg)
Selects an RLC LTE session from a capture file.
Definition tap-rlc-graph.c:100