Wireshark  4.3.0
The Wireshark network protocol analyzer
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 <cfile.h>
18 #include <epan/dissectors/packet-rlc-lte.h>
19 #include <epan/dissectors/packet-rlc-3gpp-common.h>
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif /* __cplusplus */
24 
25 struct 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. */
50 typedef 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 
56 struct 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 
72 bool rlc_graph_segment_list_get(capture_file *cf, struct rlc_graph *tg, bool stream_known,
73  char **err_string);
74 void rlc_graph_segment_list_free(struct rlc_graph * );
75 
76 
77 
78 bool compare_rlc_headers(uint8_t rat1, uint8_t rat2,
79  uint16_t ueid1, uint16_t channelType1, uint16_t channelId1, uint8_t rlcMode1, uint8_t direction1,
80  uint16_t ueid2, uint16_t channelType2, uint16_t channelId2, uint8_t rlcMode2, uint8_t direction2,
81  bool isControlFrame);
82 rlc_3gpp_tap_info *select_rlc_lte_session(capture_file *cf, struct rlc_segment *hdrs,
83  char **err_msg);
84 
85 
86 #ifdef __cplusplus
87 }
88 #endif /* __cplusplus */
89 
90 
91 #endif
Definition: cfile.h:67
Definition: tap-rlc-graph.h:50
Definition: packet-rlc-3gpp-common.h:18
Definition: tap-rlc-graph.h:56
Definition: packet-rlc-lte.c:380