Wireshark  4.3.0
The Wireshark network protocol analyzer
Classes | Macros | Typedefs | Enumerations | Functions
plugins.h File Reference
#include <wireshark.h>

Go to the source code of this file.

Classes

struct  ws_module
 

Macros

#define WS_PLUGIN_SPDX_GPLv2   "GPL-2.0-or-later"
 
#define WS_PLUGIN_GITLAB_URL   "https://gitlab.com/wireshark/wireshark"
 
#define WS_PLUGIN_DESC_DISSECTOR   (1UL << 0)
 
#define WS_PLUGIN_DESC_FILE_TYPE   (1UL << 1)
 
#define WS_PLUGIN_DESC_CODEC   (1UL << 2)
 
#define WS_PLUGIN_DESC_EPAN   (1UL << 3)
 
#define WS_PLUGIN_DESC_TAP_LISTENER   (1UL << 4)
 
#define WS_PLUGIN_DESC_DFUNCTION   (1UL << 5)
 
#define WS_PLUGIN_MODULE_SUFFIX   ".so"
 
#define WIRESHARK_PLUGIN_REGISTER(type, ptr_, api_level_)
 
#define WIRESHARK_PLUGIN_REGISTER_EPAN(ptr, level)    WIRESHARK_PLUGIN_REGISTER(EPAN, ptr, level)
 
#define WIRESHARK_PLUGIN_REGISTER_WIRETAP(ptr, level)    WIRESHARK_PLUGIN_REGISTER(WIRETAP, ptr, level)
 
#define WIRESHARK_PLUGIN_REGISTER_CODEC(ptr, level)    WIRESHARK_PLUGIN_REGISTER(CODEC, ptr, level)
 

Typedefs

typedef void plugins_t
 
typedef void(* module_register_func) (void)
 
typedef plugin_type_e(* ws_load_module_func) (int *, int *, struct ws_module **)
 
typedef void(* plugin_description_callback) (const char *name, const char *version, uint32_t flags, const char *spdx_id, const char *blurb, const char *home_url, const char *filename, plugin_scope_e scope, void *user_data)
 

Enumerations

enum  plugin_type_e { WS_PLUGIN_NONE , WS_PLUGIN_EPAN , WS_PLUGIN_WIRETAP , WS_PLUGIN_CODEC }
 
enum  plugin_scope_e { WS_PLUGIN_SCOPE_NONE , WS_PLUGIN_SCOPE_USER , WS_PLUGIN_SCOPE_GLOBAL , WS_PLUGIN_SCOPE_CLI }
 

Functions

WS_DLL_PUBLIC plugins_t * plugins_init (plugin_type_e type)
 
WS_DLL_PUBLIC void plugins_get_descriptions (plugin_description_callback callback, void *user_data)
 
WS_DLL_PUBLIC void plugins_print_description (const char *name, const char *version, uint32_t flags, const char *spdx_id, const char *blurb, const char *home_url, const char *filename, plugin_scope_e scope, void *user_data _U_)
 
WS_DLL_PUBLIC void plugins_dump_all (void)
 
WS_DLL_PUBLIC int plugins_get_count (void)
 
WS_DLL_PUBLIC void plugins_cleanup (plugins_t *plugins)
 
WS_DLL_PUBLIC bool plugins_supported (void)
 
WS_DLL_PUBLIC plugin_type_e plugins_check_file (const char *path)
 
WS_DLL_PUBLIC char * plugins_pers_type_folder (plugin_type_e type)
 
WS_DLL_PUBLIC char * plugins_file_suffix (plugin_type_e type)
 
WS_DLL_PUBLIC int plugins_api_max_level (plugin_type_e type)
 
WS_DLL_PUBLIC int plugins_abi_version (plugin_type_e type)
 

Detailed Description

definitions for plugins structures

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs

SPDX-License-Identifier: GPL-2.0-or-later

Macro Definition Documentation

◆ WIRESHARK_PLUGIN_REGISTER

#define WIRESHARK_PLUGIN_REGISTER (   type,
  ptr_,
  api_level_ 
)
Value:
WS_DLL_PUBLIC plugin_type_e \
wireshark_load_module(int *abi_version_ptr, int *min_api_level_ptr, \
struct ws_module **module_ptr) \
{ \
if (abi_version_ptr) \
*abi_version_ptr = WIRESHARK_ABI_VERSION_ ## type; \
if (min_api_level_ptr) \
*min_api_level_ptr = api_level_; \
if (module_ptr) \
*module_ptr = ptr_; \
return WS_PLUGIN_ ## type; \
}
Definition: plugins.h:56