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 nstime_t rel_ts;
29
30 bool isControlPDU;
31 uint32_t SN;
32 uint16_t isResegmented;
33 uint32_t ACKNo;
34 uint16_t noOfNACKs;
35 uint32_t NACKs[MAX_NACKs];
36 uint16_t pduLength;
37
38 uint8_t rat;
39 uint16_t ueid;
40 uint16_t channelType;
41 uint16_t channelId;
42 uint8_t rlcMode;
43 uint8_t direction;
44 uint16_t sequenceNumberLength;
45};
46
47/* A collection of channels that may be found in one frame. Used when working out
48 which channel(s) are present in a frame. */
49typedef struct _th_t {
50 int num_hdrs;
51 #define MAX_SUPPORTED_CHANNELS 8
52 rlc_3gpp_tap_info *rlchdrs[MAX_SUPPORTED_CHANNELS];
53} th_t;
54
55struct rlc_graph {
56 /* List of segments to show */
57 struct rlc_segment *segments;
58 struct rlc_segment *last_segment;
59
60 /* These are filled in with the channel/direction this graph is showing */
61 bool channelSet;
62
63 uint8_t rat;
64 uint16_t ueid;
65 uint16_t channelType;
66 uint16_t channelId;
67 uint8_t rlcMode;
68 uint8_t direction;
69};
70
80bool rlc_graph_segment_list_get(capture_file *cf, struct rlc_graph *tg, bool stream_known,
81 char **err_string);
82
88
110bool compare_rlc_headers(uint8_t rat1, uint8_t rat2,
111 uint16_t ueid1, uint16_t channelType1, uint16_t channelId1, uint8_t rlcMode1, uint8_t direction1,
112 uint16_t ueid2, uint16_t channelType2, uint16_t channelId2, uint8_t rlcMode2, uint8_t direction2,
113 bool isControlFrame);
114
126 char **err_msg);
127
128
129#ifdef __cplusplus
130}
131#endif /* __cplusplus */
132
133
134#endif
Represents a capture file and its associated metadata.
Definition cfile.h:84
Definition tap-rlc-graph.h:49
Definition nstime.h:26
Definition packet-rlc-3gpp-common.h:18
Definition tap-rlc-graph.h:55
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:310
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:254
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