3 * Definition of SCTP specific structures used by tap listeners.
5 * Copyright 2004 Michael Tuexen <tuexen [AT] fh-muenster.de>
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1998 Gerald Combs
11 * SPDX-License-Identifier: GPL-2.0-or-later
14 #ifndef __PACKET_SCTP_H__
15 #define __PACKET_SCTP_H__
17 #include "ws_symbol_export.h"
21 #endif /* __cplusplus */
23 #define MAXIMUM_NUMBER_OF_TVBS 2048
27 bool adler32_calculated
;
29 bool crc32c_calculated
;
37 uint32_t verification_tag
;
40 uint32_t number_of_tvbs
;
41 tvbuff_t
*tvb
[MAXIMUM_NUMBER_OF_TVBS
];
44 typedef struct _sctp_fragment
{
50 struct _sctp_fragment
*next
;
53 typedef struct _sctp_frag_be
{
54 sctp_fragment
* fragment
;
55 struct _sctp_frag_be
*next
;
58 typedef struct _sctp_complete_msg
{
61 sctp_fragment
* reassembled_in
;
64 struct _sctp_complete_msg
*next
;
67 typedef struct _sctp_frag_msg
{
70 sctp_fragment
* fragments
;
71 sctp_complete_msg
* messages
;
73 struct _sctp_frag_msg
* next
;
76 #define SCTP_DATA_CHUNK_ID 0
77 #define SCTP_INIT_CHUNK_ID 1
78 #define SCTP_INIT_ACK_CHUNK_ID 2
79 #define SCTP_SACK_CHUNK_ID 3
80 #define SCTP_HEARTBEAT_CHUNK_ID 4
81 #define SCTP_HEARTBEAT_ACK_CHUNK_ID 5
82 #define SCTP_ABORT_CHUNK_ID 6
83 #define SCTP_SHUTDOWN_CHUNK_ID 7
84 #define SCTP_SHUTDOWN_ACK_CHUNK_ID 8
85 #define SCTP_ERROR_CHUNK_ID 9
86 #define SCTP_COOKIE_ECHO_CHUNK_ID 10
87 #define SCTP_COOKIE_ACK_CHUNK_ID 11
88 #define SCTP_ECNE_CHUNK_ID 12
89 #define SCTP_CWR_CHUNK_ID 13
90 #define SCTP_SHUTDOWN_COMPLETE_CHUNK_ID 14
91 #define SCTP_AUTH_CHUNK_ID 15
92 #define SCTP_NR_SACK_CHUNK_ID 16
93 #define SCTP_I_DATA_CHUNK_ID 0x40
94 #define SCTP_ASCONF_ACK_CHUNK_ID 0x80
95 #define SCTP_PKTDROP_CHUNK_ID 0x81
96 #define SCTP_RE_CONFIG_CHUNK_ID 0x82
97 #define SCTP_PAD_CHUNK_ID 0x84
98 #define SCTP_FORWARD_TSN_CHUNK_ID 0xC0
99 #define SCTP_ASCONF_CHUNK_ID 0xC1
100 #define SCTP_I_FORWARD_TSN_CHUNK_ID 0xC2
101 #define SCTP_IETF_EXT 0xFF
103 #define IS_SCTP_CHUNK_TYPE(t) \
104 (((t) <= SCTP_NR_SACK_CHUNK_ID) || \
105 ((t) == SCTP_I_DATA_CHUNK_ID) || \
106 ((t) == SCTP_FORWARD_TSN_CHUNK_ID) || \
107 ((t) == SCTP_ASCONF_CHUNK_ID) || \
108 ((t) == SCTP_ASCONF_ACK_CHUNK_ID) || \
109 ((t) == SCTP_PKTDROP_CHUNK_ID))
111 WS_DLL_PUBLIC
const value_string chunk_type_values
[];
115 #endif /* __cplusplus */
120 * Editor modelines - https://www.wireshark.org/tools/modelines.html
125 * indent-tabs-mode: nil
128 * vi: set shiftwidth=2 tabstop=8 expandtab:
129 * :indentSize=2:tabSize=8:noTabs=true: