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