Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
frame_data.h
Go to the documentation of this file.
1 /* frame_data.h
2  * Definitions for frame_data 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 __FRAME_DATA_H__
12 #define __FRAME_DATA_H__
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif /* __cplusplus */
17 
18 #include <ws_diag_control.h>
19 #include <ws_symbol_export.h>
20 #include <wsutil/nstime.h>
21 
22 #include <wiretap/wtap.h>
23 
24 struct _packet_info;
25 struct epan_session;
26 
27 #define PINFO_FD_VISITED(pinfo) ((pinfo)->fd->flags.visited)
28 
42 /* Types of character encodings */
43 typedef enum {
44  PACKET_CHAR_ENC_CHAR_ASCII = 0, /* ASCII */
45  PACKET_CHAR_ENC_CHAR_EBCDIC = 1 /* EBCDIC */
47 
51 struct _color_filter; /* Forward */
52 DIAG_OFF(pedantic)
53 typedef struct _frame_data {
54  GSList *pfd;
55  guint32 num;
56  guint32 pkt_len;
57  guint32 cap_len;
58  guint32 cum_bytes;
59  gint64 file_off;
60  guint16 subnum;
61  gint16 tsprec;
62  struct {
63  unsigned int passed_dfilter : 1;
64  unsigned int dependent_of_displayed : 1;
65  /* Do NOT use packet_char_enc enum here: MSVC compiler does not handle an enum in a bit field properly */
66  unsigned int encoding : 1;
67  unsigned int visited : 1;
68  unsigned int marked : 1;
69  unsigned int ref_time : 1;
70  unsigned int ignored : 1;
71  unsigned int has_ts : 1;
72  unsigned int has_phdr_comment : 1;
73  unsigned int has_user_comment : 1;
74  unsigned int need_colorize : 1;
75  } flags;
76 
77  const struct _color_filter *color_filter;
81  guint32 frame_ref_num;
82  guint32 prev_dis_num;
83 } frame_data;
84 DIAG_ON(pedantic)
85 
86 
87 WS_DLL_PUBLIC gint frame_data_compare(const struct epan_session *epan, const frame_data *fdata1, const frame_data *fdata2, int field);
88 
89 WS_DLL_PUBLIC void frame_data_reset(frame_data *fdata);
90 
91 WS_DLL_PUBLIC void frame_data_destroy(frame_data *fdata);
92 
93 WS_DLL_PUBLIC void frame_data_init(frame_data *fdata, guint32 num,
94  const wtap_rec *rec, gint64 offset,
95  guint32 cum_bytes);
96 
97 extern void frame_delta_abs_time(const struct epan_session *epan, const frame_data *fdata,
98  guint32 prev_num, nstime_t *delta);
102 WS_DLL_PUBLIC void frame_data_set_before_dissect(frame_data *fdata,
103  nstime_t *elapsed_time,
104  const frame_data **frame_ref,
105  const frame_data *prev_dis);
106 
107 WS_DLL_PUBLIC void frame_data_set_after_dissect(frame_data *fdata,
108  guint32 *cum_bytes);
109 
112 #ifdef __cplusplus
113 }
114 #endif /* __cplusplus */
115 
116 #endif /* __FRAME_DATA__ */
117 
118 /*
119  * Editor modelines - http://www.wireshark.org/tools/modelines.html
120  *
121  * Local variables:
122  * c-basic-offset: 2
123  * tab-width: 8
124  * indent-tabs-mode: nil
125  * End:
126  *
127  * vi: set shiftwidth=2 tabstop=8 expandtab:
128  * :indentSize=2:tabSize=8:noTabs=true:
129  */
guint32 frame_ref_num
Definition: frame_data.h:81
guint32 prev_dis_num
Definition: frame_data.h:82
Definition: packet_info.h:44
guint32 pkt_len
Definition: frame_data.h:56
const struct _color_filter * color_filter
Definition: frame_data.h:77
guint16 subnum
Definition: frame_data.h:60
GSList * pfd
Definition: frame_data.h:54
Definition: nstime.h:27
nstime_t abs_ts
Definition: frame_data.h:79
Definition: color_filters.h:29
Definition: frame_data.h:53
gint64 file_off
Definition: frame_data.h:59
WS_DLL_PUBLIC gint frame_data_compare(const struct epan_session *epan, const frame_data *fdata1, const frame_data *fdata2, int field)
Definition: frame_data.c:95
nstime_t shift_offset
Definition: frame_data.h:80
packet_char_enc
Definition: frame_data.h:43
guint32 num
Definition: frame_data.h:55
guint32 cum_bytes
Definition: frame_data.h:58
Definition: wtap.h:1274
gint16 tsprec
Definition: frame_data.h:61
WS_DLL_PUBLIC void frame_data_set_before_dissect(frame_data *fdata, nstime_t *elapsed_time, const frame_data **frame_ref, const frame_data *prev_dis)
Definition: frame_data.c:211
guint32 cap_len
Definition: frame_data.h:57
Definition: epan.c:348