Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions
sequence_analysis.h File Reference
#include "ws_symbol_export.h"
#include <glib.h>
#include "packet_info.h"
#include "tap.h"
#include "address.h"
#include "wsutil/file_util.h"

Go to the source code of this file.

Classes

struct  _seq_analysis_item
 
struct  _seq_analysis_info
 

Macros

#define MAX_NUM_NODES   40
 

Typedefs

typedef enum _ga_info_type ga_info_type
 
typedef struct _seq_analysis_item seq_analysis_item_t
 
typedef struct _seq_analysis_info seq_analysis_info_t
 
typedef struct register_analysis register_analysis_t
 

Enumerations

enum  _ga_info_type { GA_INFO_TYPE_NONE =0 , GA_INFO_TYPE_RTP }
 

Functions

WS_DLL_PUBLIC void register_seq_analysis (const char *name, const char *ui_name, const int proto_id, const char *tap_listener, unsigned tap_flags, tap_packet_cb tap_func)
 
WS_DLL_PUBLIC const char * sequence_analysis_get_name (register_analysis_t *analysis)
 
WS_DLL_PUBLIC const char * sequence_analysis_get_tap_listener_name (register_analysis_t *analysis)
 
WS_DLL_PUBLIC const char * sequence_analysis_get_ui_name (register_analysis_t *analysis)
 
WS_DLL_PUBLIC tap_packet_cb sequence_analysis_get_packet_func (register_analysis_t *analysis)
 
WS_DLL_PUBLIC unsigned sequence_analysis_get_tap_flags (register_analysis_t *analysis)
 
WS_DLL_PUBLIC seq_analysis_item_tsequence_analysis_create_sai_with_addresses (packet_info *pinfo, seq_analysis_info_t *sainfo)
 
WS_DLL_PUBLIC void sequence_analysis_use_color_filter (packet_info *pinfo, seq_analysis_item_t *sai)
 
WS_DLL_PUBLIC void sequence_analysis_use_col_info_as_label_comment (packet_info *pinfo, seq_analysis_item_t *sai)
 
WS_DLL_PUBLIC register_analysis_tsequence_analysis_find_by_name (const char *name)
 
WS_DLL_PUBLIC void sequence_analysis_table_iterate_tables (wmem_foreach_func func, void *user_data)
 
WS_DLL_PUBLIC seq_analysis_info_tsequence_analysis_info_new (void)
 
WS_DLL_PUBLIC void sequence_analysis_info_free (seq_analysis_info_t *sainfo)
 
WS_DLL_PUBLIC void sequence_analysis_list_sort (seq_analysis_info_t *sainfo)
 
WS_DLL_PUBLIC void sequence_analysis_list_free (seq_analysis_info_t *sainfo)
 
WS_DLL_PUBLIC int sequence_analysis_get_nodes (seq_analysis_info_t *sainfo)
 
WS_DLL_PUBLIC void sequence_analysis_free_nodes (seq_analysis_info_t *sainfo)
 
WS_DLL_PUBLIC void sequence_analysis_dump_to_file (FILE *of, seq_analysis_info_t *sainfo, unsigned first_node)
 

Detailed Description

Flow sequence analysis

Copied from gtk/graph_analysis.h

Copyright 2004, Verso Technologies Inc. By Alejandro Vaquero aleja.nosp@m.ndro.nosp@m.vaque.nosp@m.ro@y.nosp@m.ahoo..nosp@m.com

based on rtp_analysis.c and io_stat

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

Typedef Documentation

◆ ga_info_type

defines info types for graph analysis additional information

◆ register_analysis_t

Structure for information about a registered sequence analysis function

◆ seq_analysis_info_t

defines the graph analysis structure

◆ seq_analysis_item_t

defines an entry for the graph analysis

Enumeration Type Documentation

◆ _ga_info_type

defines info types for graph analysis additional information

Function Documentation

◆ sequence_analysis_create_sai_with_addresses()

WS_DLL_PUBLIC seq_analysis_item_t * sequence_analysis_create_sai_with_addresses ( packet_info pinfo,
seq_analysis_info_t sainfo 
)

Helper function to create a sequence analysis item with address fields populated Allocate a seq_analysis_item_t to return and populate the time_str and src_addr and dst_addr members based on seq_analysis_info_t any_addr member

Parameters
pinfopacket info
sainfoinfo determining address type
Returns
sequence analysis tap flags

◆ sequence_analysis_dump_to_file()

WS_DLL_PUBLIC void sequence_analysis_dump_to_file ( FILE *  of,
seq_analysis_info_t sainfo,
unsigned  first_node 
)

Write an ASCII version of the sequence diagram to a file.

Parameters
ofFile to write.
sainfoSequence analysis information.
first_nodeStart drawing at this node.

◆ sequence_analysis_find_by_name()

WS_DLL_PUBLIC register_analysis_t * sequence_analysis_find_by_name ( const char *  name)

Find a registered sequence analysis "protocol" by name

Parameters
nameRegistered sequence analysis to find
Returns
registered sequence analysis, NULL if not found

◆ sequence_analysis_free_nodes()

WS_DLL_PUBLIC void sequence_analysis_free_nodes ( seq_analysis_info_t sainfo)

Free the node address list

Parameters
sainfoSequence analysis information.

◆ sequence_analysis_get_name()

WS_DLL_PUBLIC const char * sequence_analysis_get_name ( register_analysis_t analysis)

Helper function to get sequence analysis name

Parameters
analysisRegistered sequence analysis
Returns
sequence analysis name string

◆ sequence_analysis_get_nodes()

WS_DLL_PUBLIC int sequence_analysis_get_nodes ( seq_analysis_info_t sainfo)

Fill in the node address list

Parameters
sainfoSequence analysis information.
Returns
The number of transaction items (not nodes) processed.

◆ sequence_analysis_get_packet_func()

WS_DLL_PUBLIC tap_packet_cb sequence_analysis_get_packet_func ( register_analysis_t analysis)

Get tap function handler from sequence analysis

Parameters
analysisRegistered sequence analysis
Returns
tap function handler of sequence analysis

◆ sequence_analysis_get_tap_flags()

WS_DLL_PUBLIC unsigned sequence_analysis_get_tap_flags ( register_analysis_t analysis)

Helper function to get tap flags

Parameters
analysisRegistered sequence analysis
Returns
sequence analysis tap flags

◆ sequence_analysis_get_tap_listener_name()

WS_DLL_PUBLIC const char * sequence_analysis_get_tap_listener_name ( register_analysis_t analysis)

Helper function to get tap listener name

Parameters
analysisRegistered sequence analysis
Returns
sequence analysis tap listener string

◆ sequence_analysis_get_ui_name()

WS_DLL_PUBLIC const char * sequence_analysis_get_ui_name ( register_analysis_t analysis)

Helper function to get UI name

Parameters
analysisRegistered sequence analysis
Returns
sequence analysis UI string

◆ sequence_analysis_info_free()

WS_DLL_PUBLIC void sequence_analysis_info_free ( seq_analysis_info_t sainfo)

Free a seq_analysis_info_t struct.

Parameters
sainfoA pointer to the seq_analysis_info_t struct to be freed.

◆ sequence_analysis_info_new()

WS_DLL_PUBLIC seq_analysis_info_t * sequence_analysis_info_new ( void  )

Create and initialize a seq_analysis_info_t struct

Returns
A pointer to a newly allocated seq_analysis_info_t struct.

◆ sequence_analysis_list_free()

WS_DLL_PUBLIC void sequence_analysis_list_free ( seq_analysis_info_t sainfo)

Free the segment list

Parameters
sainfoSequence analysis information.

◆ sequence_analysis_list_sort()

WS_DLL_PUBLIC void sequence_analysis_list_sort ( seq_analysis_info_t sainfo)

Sort a seq_analysis_info_t struct.

Parameters
sainfoA pointer to the seq_analysis_info_t struct to be sorted

◆ sequence_analysis_table_iterate_tables()

WS_DLL_PUBLIC void sequence_analysis_table_iterate_tables ( wmem_foreach_func  func,
void *  user_data 
)

Interator to walk sequence_analysis tables and execute func

Parameters
funcaction to be performed on all sequence_analysis tables
user_dataany data needed to help perform function

◆ sequence_analysis_use_col_info_as_label_comment()

WS_DLL_PUBLIC void sequence_analysis_use_col_info_as_label_comment ( packet_info pinfo,
seq_analysis_item_t sai 
)

Helper function to set frame label and comments to use protocol and info column data

Parameters
pinfopacket info
saiitem to set label and comments

◆ sequence_analysis_use_color_filter()

WS_DLL_PUBLIC void sequence_analysis_use_color_filter ( packet_info pinfo,
seq_analysis_item_t sai 
)

Helper function to set colors for analysis the same as Wireshark display

Parameters
pinfopacket info
saiitem to set color