Wireshark  4.3.0
The Wireshark network protocol analyzer
column-info.h
Go to the documentation of this file.
1 /* column-info.h
2  * Definitions for internal column structures and routines
3  *
4  * For internal Wireshark use only. Don't include this header in dissectors!
5  *
6  * Wireshark - Network traffic analyzer
7  * By Gerald Combs <gerald@wireshark.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * SPDX-License-Identifier: GPL-2.0-or-later
11  */
12 
13 #ifndef __COLUMN_INFO_H__
14 #define __COLUMN_INFO_H__
15 
16 #include <glib.h>
17 #include <epan/column-utils.h>
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif /* __cplusplus */
22 
27 typedef struct _proto_node proto_tree;
28 
29 #define COLUMN_FIELD_FILTER "_ws.col."
30 
32 typedef struct {
33  const gchar **col_expr;
34  gchar **col_expr_val;
35 } col_expr_t;
36 
40 typedef struct {
41  char *dftext;
43  int field_id;
44 } col_custom_t;
45 
47 typedef struct {
48  gint col_fmt;
49  bool *fmt_matx;
50  gchar *col_title;
55  const gchar *col_data;
56  gchar *col_buf;
57  int col_fence;
58  bool writable;
59  int hf_id;
60 } col_item_t;
61 
64  const struct epan_session *epan;
65  gint num_cols;
67  gint *col_first;
68  gint *col_last;
70  bool writable;
71  GRegex *prime_regex;
72 };
73 
77 WS_DLL_PUBLIC void col_setup(column_info *cinfo, const gint num_cols);
78 
82 WS_DLL_PUBLIC void col_cleanup(column_info *cinfo);
83 
86 extern void col_init(column_info *cinfo, const struct epan_session *epan);
87 
90 WS_DLL_PUBLIC void col_fill_in_frame_data(const frame_data *fd, column_info *cinfo, const gint col, gboolean const fill_col_exprs);
91 
94 WS_DLL_PUBLIC void col_fill_in(packet_info *pinfo, const gboolean fill_col_exprs, const gboolean fill_fd_colums);
95 
100 WS_DLL_PUBLIC void col_fill_in_error(column_info *cinfo, frame_data *fdata, const gboolean fill_col_exprs, const gboolean fill_fd_colums);
101 
104 WS_DLL_PUBLIC gboolean col_data_changed(void);
105 
106 void col_custom_set_edt(struct epan_dissect *edt, column_info *cinfo);
107 
108 WS_DLL_PUBLIC
109 void col_custom_prime_edt(struct epan_dissect *edt, column_info *cinfo);
110 
113 WS_DLL_PUBLIC
114 char* col_custom_get_filter(struct epan_dissect *edt, column_info *cinfo, const gint col);
115 
116 WS_DLL_PUBLIC
117 gboolean have_custom_cols(column_info *cinfo);
118 
119 WS_DLL_PUBLIC
120 gboolean have_field_extractors(void);
121 
122 WS_DLL_PUBLIC
123 gboolean col_has_time_fmt(column_info *cinfo, const gint col);
124 
125 WS_DLL_PUBLIC
126 gboolean col_based_on_frame_data(column_info *cinfo, const gint col);
127 
128 void
129 col_register_protocol(void);
130 
131 extern
132 void col_dissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
133 
134 #ifdef __cplusplus
135 }
136 #endif /* __cplusplus */
137 
138 #endif /* __COLUMN_INFO_H__ */
void col_init(column_info *cinfo, const struct epan_session *epan)
Definition: column-utils.c:144
WS_DLL_PUBLIC char * col_custom_get_filter(struct epan_dissect *edt, column_info *cinfo, const gint col)
Definition: column-utils.c:429
WS_DLL_PUBLIC void col_fill_in(packet_info *pinfo, const gboolean fill_col_exprs, const gboolean fill_fd_colums)
Definition: column-utils.c:1892
WS_DLL_PUBLIC void col_fill_in_error(column_info *cinfo, frame_data *fdata, const gboolean fill_col_exprs, const gboolean fill_fd_colums)
Definition: column-utils.c:2010
WS_DLL_PUBLIC gboolean col_data_changed(void)
Definition: column-utils.c:2040
WS_DLL_PUBLIC void col_fill_in_frame_data(const frame_data *fd, column_info *cinfo, const gint col, gboolean const fill_col_exprs)
Definition: column-utils.c:1818
WS_DLL_PUBLIC void col_setup(column_info *cinfo, const gint num_cols)
Definition: column-utils.c:61
WS_DLL_PUBLIC void col_cleanup(column_info *cinfo)
Definition: column-utils.c:106
Definition: packet_info.h:44
Definition: proto.h:898
Definition: column-info.h:40
char * dftext
Definition: column-info.h:41
struct epan_dfilter * dfilter
Definition: column-info.h:42
int field_id
Definition: column-info.h:43
Definition: column-info.h:32
const gchar ** col_expr
Definition: column-info.h:33
gchar ** col_expr_val
Definition: column-info.h:34
Definition: column-info.h:47
gint col_custom_occurrence
Definition: column-info.h:52
const gchar * col_data
Definition: column-info.h:55
struct epan_dfilter * col_custom_dfilter
Definition: column-info.h:54
gint col_fmt
Definition: column-info.h:48
GSList * col_custom_fields_ids
Definition: column-info.h:53
int col_fence
Definition: column-info.h:57
gchar * col_custom_fields
Definition: column-info.h:51
gchar * col_buf
Definition: column-info.h:56
bool * fmt_matx
Definition: column-info.h:49
gchar * col_title
Definition: column-info.h:50
bool writable
Definition: column-info.h:58
Definition: column-info.h:63
gint * col_first
Definition: column-info.h:67
gint * col_last
Definition: column-info.h:68
GRegex * prime_regex
Definition: column-info.h:71
gint num_cols
Definition: column-info.h:65
col_expr_t col_expr
Definition: column-info.h:69
bool writable
Definition: column-info.h:70
col_item_t * columns
Definition: column-info.h:66
Definition: dfilter-int.h:35
Definition: epan_dissect.h:28
Definition: epan.c:460
Definition: tvbuff-int.h:35