update epan/dissectors/pidl/drsuapi/drsuapi.idl from samba
[wireshark-sm.git] / epan / conv_id.h
blob5a9c51ff4f3b64495593751cc2642b4adea40d17
1 /** @file
3 * conv_id 2011 Robert Bullen
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * SPDX-License-Identifier: GPL-2.0-or-later
12 #ifndef __CONV_ID_H__
13 #define __CONV_ID_H__
15 #include <stdint.h>
17 /** conv_id_t is a type that can aid in conversation identification. When
18 * included in a "conversation key", whatever that may be, in addition to the
19 * typical { address, port, address, port } quadruple, it helps differentiate
20 * in case the quadruple is not sufficiently unique. For example, it is not
21 * uncommon to see a TCP quadruple reused these days, and employing a
22 * conv_id_t field ensures that each instance of a reused TCP conversation is
23 * tracked independently. Currently this type is used in both Wireshark's and
24 * tshark's conversation tables implementations (they are different, hence
25 * the need for a whole header file for this one silly type alias).
27 * The "protocol" or "statistic" code responsible for instantiating the
28 * "conversation key" is also responsible for assigning its conv_id_t, and
29 * therefore its interpretation is specific to its assignor. For example, the
30 * TCP conversations tables in Wireshark and tshark assign the value of
31 * tcp.stream. If a conv_id_t field is not used, it should be assigned the
32 * value CONV_ID_UNSET.
34 typedef uint32_t conv_id_t;
35 #define CONV_ID_UNSET UINT32_MAX
37 #endif /* __CONV_ID_H__ */