Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Public Attributes | List of all members
conversation_element Struct Reference

#include <conversation.h>

Public Attributes

conversation_element_type type
 
union { 
 
   conversation_type   conversation_type_val 
 
   address   addr_val 
 
   unsigned int   port_val 
 
   const char *   str_val 
 
   unsigned int   uint_val 
 
   uint64_t   uint64_val 
 
   int   int_val 
 
   int64_t   int64_val 
 
   struct { 
 
      const uint8_t *   val 
 
      size_t   len 
 
   }   blob 
 
};  
 

Detailed Description

Elements used to identify conversations for *_full routines and pinfo->conv_elements. Arrays must be terminated with an element .type set to CE_CONVERSATION_TYPE.

This is currently set only by conversation_set_elements_by_id(); it is not set for conversations identified by address/port endpoints.

In find_conversation_pinfo() and find_or_create_conversation(), if any dissector has set this, then, unless some dissector has set the pair of address/port endpoints (see below), the array of elements is used to look up or create the conversation. Otherwise, the current addresses and ports in the packet_info structure are used.

XXX - is there any reason why we shouldn't use an array of conversation elements, with the appropriate addresses and ports, and set it for all protocols that use conversations specified by a pair of address/port endpoints? That might simplify find_conversation_pinfo() by having them always use the array of elements if it's present, and just fail if it's not.

Member Data Documentation

◆ addr_val

address conversation_element::addr_val

Network address (IPv4, IPv6, etc.).

◆ [struct]

struct { ... } conversation_element::blob

Arbitrary binary data.

◆ conversation_type_val

conversation_type conversation_element::conversation_type_val

Conversation type marker.

◆ int64_val

int64_t conversation_element::int64_val

64-bit signed integer value.

◆ int_val

int conversation_element::int_val

Signed integer value.

◆ len

size_t conversation_element::len

Length of the blob.

◆ port_val

unsigned int conversation_element::port_val

Port number.

◆ str_val

const char* conversation_element::str_val

String identifier.

◆ type

conversation_element_type conversation_element::type

Type of the conversation element.

◆ uint64_val

uint64_t conversation_element::uint64_val

64-bit unsigned integer value.

◆ uint_val

unsigned int conversation_element::uint_val

Unsigned integer value.

◆ val

const uint8_t* conversation_element::val

Pointer to binary blob.


The documentation for this struct was generated from the following file: