Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
conversation_filter.h
Go to the documentation of this file.
1/* conversation_filter.h
2 * Routines for dissector-generated conversation filters for use as
3 * display and color filters
4 *
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
8 *
9 * SPDX-License-Identifier: GPL-2.0-or-later
10 */
11#pragma once
12#include <glib.h>
13
14#include "ws_symbol_export.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
26extern void conversation_filters_init(void);
27
35typedef bool (*is_filter_valid_func)(struct _packet_info *pinfo, void *user_data);
36
46typedef char* (*build_filter_string_func)(struct _packet_info *pinfo, void *user_data);
47
57WS_DLL_PUBLIC void register_conversation_filter(const char *proto_name, const char *display_name,
58 is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string, void *user_data);
59
69WS_DLL_PUBLIC void register_log_conversation_filter(const char *proto_name, const char *display_name,
70 is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string, void *user_data);
75WS_DLL_PUBLIC void add_conversation_filter_protocol(const char *proto_name);
76
82extern void conversation_filters_cleanup(void);
83
92WS_DLL_PUBLIC char *conversation_filter_from_packet(struct _packet_info *pinfo);
93
102WS_DLL_PUBLIC char *conversation_filter_from_log(struct _packet_info *pinfo);
103
104/*** THE FOLLOWING SHOULD NOT BE USED BY ANY DISSECTORS!!! ***/
105
116
117WS_DLL_PUBLIC GList *packet_conv_filter_list;
118WS_DLL_PUBLIC GList *log_conv_filter_list;
119
120#ifdef __cplusplus
121}
122#endif /* __cplusplus */
struct conversation_filter_s conversation_filter_t
Describes a registered conversation filter that can build a display filter string from a packet.
WS_DLL_PUBLIC char * conversation_filter_from_log(struct _packet_info *pinfo)
Definition conversation_filter.c:133
WS_DLL_PUBLIC void register_conversation_filter(const char *proto_name, const char *display_name, is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string, void *user_data)
Definition conversation_filter.c:51
bool(* is_filter_valid_func)(struct _packet_info *pinfo, void *user_data)
Definition conversation_filter.h:35
WS_DLL_PUBLIC void add_conversation_filter_protocol(const char *proto_name)
Prepend a protocol to the list of filterable protocols.
Definition conversation_filter.c:71
void conversation_filters_init(void)
Initialize internal structures for conversation filters.
Definition conversation_filter.c:25
WS_DLL_PUBLIC char * conversation_filter_from_packet(struct _packet_info *pinfo)
Definition conversation_filter.c:128
void conversation_filters_cleanup(void)
Cleans up conversation filters.
Definition conversation_filter.c:102
char *(* build_filter_string_func)(struct _packet_info *pinfo, void *user_data)
Definition conversation_filter.h:46
WS_DLL_PUBLIC void register_log_conversation_filter(const char *proto_name, const char *display_name, is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string, void *user_data)
Register a new log conversation filter.
Definition conversation_filter.c:61
Represents the metadata and indexing information for a single captured frame.
Definition packet_info.h:43
Describes a registered conversation filter that can build a display filter string from a packet.
Definition conversation_filter.h:109
build_filter_string_func build_filter_string
Definition conversation_filter.h:113
is_filter_valid_func is_filter_valid
Definition conversation_filter.h:112
const char * proto_name
Definition conversation_filter.h:110
void * user_data
Definition conversation_filter.h:114
const char * display_name
Definition conversation_filter.h:111