| 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:

- /builds/wireshark/wireshark/epan/conversation.h