blob: 995382f16f028aa2419d574ab81e79f8ead6cfe5 [file] [log] [blame]
James Kuszmaul64391362021-01-17 11:32:00 -08001#pragma once
2#include <rawrtcc/code.h>
3#include <re.h>
4
5/**
6 * SCTP capabilities.
7 */
8struct rawrtc_sctp_capabilities;
9
10/**
11 * Create a new SCTP transport capabilities instance.
12 * `*capabilitiesp` must be unreferenced.
13 */
14enum rawrtc_code rawrtc_sctp_capabilities_create(
15 struct rawrtc_sctp_capabilities** const capabilitiesp, // de-referenced
16 uint64_t const max_message_size);
17
18/**
19 * Get the SCTP parameter's maximum message size value.
20 *
21 * Note: A value of `0` indicates that the implementation supports
22 * receiving messages of arbitrary size.
23 */
24enum rawrtc_code rawrtc_sctp_capabilities_get_max_message_size(
25 uint64_t* const max_message_sizep, // de-referenced
26 struct rawrtc_sctp_capabilities* const capabilities);
27
28/**
29 * Print debug information for SCTP capabilities.
30 */
31int rawrtc_sctp_capabilities_debug(
32 struct re_printf* const pf, struct rawrtc_sctp_capabilities const* const capabilities);