| Wireshark 4.7.0 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
packet_info.h
Go to the documentation of this file.
1/* packet_info.h
2 * Definitions for packet info structures and routines
3 *
4 * Wireshark - Network traffic analyzer
5 * By Gerald Combs <gerald@wireshark.org>
6 * Copyright 1998 Gerald Combs
7 *
8 * SPDX-License-Identifier: GPL-2.0-or-later
9 */
10
11#ifndef __PACKET_INFO_H__
12#define __PACKET_INFO_H__
13
14#include "frame_data.h"
15#include "address.h"
16
17 struct conversation_element;
18
28/* Also defined in wiretap/wtap.h */
29#define P2P_DIR_UNKNOWN -1
30#define P2P_DIR_SENT 0
31#define P2P_DIR_RECV 1
32
33/* Link direction */
34#define LINK_DIR_UNKNOWN -1
35#define P2P_DIR_UL 0
36#define P2P_DIR_DL 1
37
38/*
39 * Presence flags.
40 */
41#define PINFO_HAS_TS 0x00000001
43 typedef struct _packet_info {
44 const char *current_proto;
45 struct epan_column_info *cinfo;
46 uint32_t presence_flags;
47 uint32_t num;
48 nstime_t abs_ts;
49 nstime_t rel_ts;
50 nstime_t rel_cap_ts;
51 bool rel_cap_ts_present;
53 frame_data *fd;
54 union wtap_pseudo_header *pseudo_header;
55 wtap_rec *rec;
56 GSList *data_src;
58 address dl_src;
59 address dl_dst;
60 address net_src;
61 address net_dst;
62 address src;
63 address dst;
65 uint32_t vlan_id;
66 const char *noreassembly_reason;
67 bool fragmented;
69 struct {
70 uint32_t in_error_pkt : 1;
71 uint32_t in_gre_pkt : 1;
72 } flags;
73
74 uint32_t expert_severity;
75 port_type ptype;
76 uint32_t srcport;
77 uint32_t destport;
79 uint32_t match_uint;
80 const char *match_string;
82 bool use_conv_addr_port_endpoints;
83 struct conversation_addr_port_endpoints *conv_addr_port_endpoints;
84 struct conversation_element *conv_elements;
86 uint16_t can_desegment;
94 uint16_t saved_can_desegment;
104 int desegment_offset;
106#define DESEGMENT_ONE_MORE_SEGMENT 0x0fffffff
107#define DESEGMENT_UNTIL_FIN 0x0ffffffe
108 uint32_t desegment_len;
117 uint16_t want_pdu_tracking;
140 uint32_t bytes_until_next_pdu;
142 int p2p_dir;
147 GHashTable *private_table;
148 wmem_list_t *layers;
149 wmem_map_t *proto_layers;
150 uint8_t curr_layer_num;
151 uint8_t curr_proto_layer_num;
152 uint16_t link_number;
154 uint16_t clnp_srcref;
155 uint16_t clnp_dstref;
157 int link_dir;
158 int16_t src_win_scale;
159 int16_t dst_win_scale;
161 GSList *proto_data;
162 GSList *frame_end_routines;
164 wmem_allocator_t *pool;
165 struct epan_session *epan;
167 const char *heur_list_name;
168 int dissection_depth;
170 uint32_t stream_id;
171 uint32_t track_ctype;
175} packet_info;
176
179#endif /* __PACKET_INFO_H__ */
180
181/*
182 * Editor modelines
183 *
184 * Local Variables:
185 * c-basic-offset: 2
186 * tab-width: 8
187 * indent-tabs-mode: nil
188 * End:
189 *
190 * ex: set shiftwidth=2 tabstop=8 expandtab:
191 * :indentSize=2:tabSize=8:noTabs=true:
192 */
address.h
frame_data.h
_address
Definition address.h:58
_packet_info
Definition packet_info.h:43
_packet_info::desegment_offset
int desegment_offset
Definition packet_info.h:104
_packet_info::src
address src
Definition packet_info.h:62
_packet_info::match_uint
uint32_t match_uint
Definition packet_info.h:79
_packet_info::private_table
GHashTable * private_table
Definition packet_info.h:147
_packet_info::abs_ts
nstime_t abs_ts
Definition packet_info.h:48
_packet_info::src_win_scale
int16_t src_win_scale
Definition packet_info.h:158
_packet_info::link_dir
int link_dir
Definition packet_info.h:157
_packet_info::current_proto
const char * current_proto
Definition packet_info.h:44
_packet_info::net_src
address net_src
Definition packet_info.h:60
_packet_info::expert_severity
uint32_t expert_severity
Definition packet_info.h:74
_packet_info::proto_layers
wmem_map_t * proto_layers
Definition packet_info.h:149
_packet_info::fragmented
bool fragmented
Definition packet_info.h:67
_packet_info::use_conv_addr_port_endpoints
bool use_conv_addr_port_endpoints
Definition packet_info.h:82
_packet_info::srcport
uint32_t srcport
Definition packet_info.h:76
_packet_info::cinfo
struct epan_column_info * cinfo
Definition packet_info.h:45
_packet_info::rel_cap_ts
nstime_t rel_cap_ts
Definition packet_info.h:50
_packet_info::in_gre_pkt
uint32_t in_gre_pkt
Definition packet_info.h:71
_packet_info::fd
frame_data * fd
Definition packet_info.h:53
_packet_info::data_src
GSList * data_src
Definition packet_info.h:56
_packet_info::link_number
uint16_t link_number
Definition packet_info.h:152
_packet_info::clnp_dstref
uint16_t clnp_dstref
Definition packet_info.h:155
_packet_info::noreassembly_reason
const char * noreassembly_reason
Definition packet_info.h:66
_packet_info::pseudo_header
union wtap_pseudo_header * pseudo_header
Definition packet_info.h:54
_packet_info::dl_src
address dl_src
Definition packet_info.h:58
_packet_info::can_desegment
uint16_t can_desegment
Definition packet_info.h:86
_packet_info::dl_dst
address dl_dst
Definition packet_info.h:59
_packet_info::presence_flags
uint32_t presence_flags
Definition packet_info.h:46
_packet_info::dst_win_scale
int16_t dst_win_scale
Definition packet_info.h:159
_packet_info::match_string
const char * match_string
Definition packet_info.h:80
_packet_info::heur_list_name
const char * heur_list_name
Definition packet_info.h:167
_packet_info::destport
uint32_t destport
Definition packet_info.h:77
_packet_info::frame_end_routines
GSList * frame_end_routines
Definition packet_info.h:162
_packet_info::layers
wmem_list_t * layers
Definition packet_info.h:148
_packet_info::num
uint32_t num
Definition packet_info.h:47
_packet_info::stream_id
uint32_t stream_id
Definition packet_info.h:170
_packet_info::conv_addr_port_endpoints
struct conversation_addr_port_endpoints * conv_addr_port_endpoints
Definition packet_info.h:83
_packet_info::in_error_pkt
uint32_t in_error_pkt
Definition packet_info.h:70
_packet_info::desegment_len
uint32_t desegment_len
Definition packet_info.h:108
_packet_info::vlan_id
uint32_t vlan_id
Definition packet_info.h:65
_packet_info::dst
address dst
Definition packet_info.h:63
_packet_info::pool
wmem_allocator_t * pool
Definition packet_info.h:164
_packet_info::conv_elements
struct conversation_element * conv_elements
Definition packet_info.h:84
_packet_info::track_ctype
uint32_t track_ctype
Definition packet_info.h:171
_packet_info::rel_ts
nstime_t rel_ts
Definition packet_info.h:49
_packet_info::clnp_srcref
uint16_t clnp_srcref
Definition packet_info.h:154
_packet_info::epan
struct epan_session * epan
Definition packet_info.h:165
_packet_info::want_pdu_tracking
uint16_t want_pdu_tracking
Definition packet_info.h:117
_packet_info::curr_layer_num
uint8_t curr_layer_num
Definition packet_info.h:150
_packet_info::ptype
port_type ptype
Definition packet_info.h:75
_packet_info::dissection_depth
int dissection_depth
Definition packet_info.h:168
_packet_info::rel_cap_ts_present
bool rel_cap_ts_present
Definition packet_info.h:51
_packet_info::p2p_dir
int p2p_dir
Definition packet_info.h:142
_packet_info::saved_can_desegment
uint16_t saved_can_desegment
Definition packet_info.h:94
_packet_info::net_dst
address net_dst
Definition packet_info.h:61
_packet_info::curr_proto_layer_num
uint8_t curr_proto_layer_num
Definition packet_info.h:151
_packet_info::bytes_until_next_pdu
uint32_t bytes_until_next_pdu
Definition packet_info.h:140
_packet_info::rec
wtap_rec * rec
Definition packet_info.h:55
_packet_info::proto_data
GSList * proto_data
Definition packet_info.h:161
_wmem_allocator_t
Internal memory allocator interface used by the wmem subsystem.
Definition wmem_allocator.h:34
_wmem_list_t
Definition wmem_list.c:23
_wmem_map_t
Definition wmem_map.c:60
conversation_addr_port_endpoints
Definition conversation.c:49
conversation_element
Definition conversation.h:209
epan_column_info
Definition column-info.h:62
epan_session
Definition epan.c:509
nstime_t
Definition nstime.h:26
wtap_rec
Definition wtap.h:1512
wtap_pseudo_header
Definition wtap.h:1281