blob: bc6a5aa32b9016bd50b8c728dcb96f183faf7e71 [file] [log] [blame]
James Kuszmaul4a42b182021-01-17 11:32:46 -08001#pragma once
2#include "common.h"
3#include <rawrtc.h>
4#include <rawrtcc.h>
5#include <rawrtcdc.h>
6#include <re.h>
7
8/*
9 * Set ICE parameters in dictionary.
10 */
11void set_ice_parameters(struct rawrtc_ice_parameters* const parameters, struct odict* const dict);
12
13/*
14 * Set ICE candidates in dictionary.
15 */
16void set_ice_candidates(struct rawrtc_ice_candidates* const parameters, struct odict* const array);
17
18/*
19 * Set DTLS parameters in dictionary.
20 */
21void set_dtls_parameters(struct rawrtc_dtls_parameters* const parameters, struct odict* const dict);
22
23/*
24 * Set SCTP parameters in dictionary.
25 */
26void set_sctp_parameters(
27 struct rawrtc_sctp_transport* const transport,
28 struct sctp_parameters* const parameters,
29 struct odict* const dict);
30
31#if RAWRTC_HAVE_SCTP_REDIRECT_TRANSPORT
32/*
33 * Set SCTP redirect parameters in dictionary.
34 */
35void set_sctp_redirect_parameters(
36 struct rawrtc_sctp_redirect_transport* const transport,
37 struct sctp_parameters* const parameters,
38 struct odict* const dict);
39#endif
40
41/*
42 * Get ICE parameters from dictionary.
43 */
44enum rawrtc_code get_ice_parameters(
45 struct rawrtc_ice_parameters** const parametersp, struct odict* const dict);
46
47/*
48 * Get ICE candidates from dictionary.
49 * Filter by enabled ICE candidate types if `client` argument is set to
50 * non-NULL.
51 */
52enum rawrtc_code get_ice_candidates(
53 struct rawrtc_ice_candidates** const candidatesp,
54 struct odict* const dict,
55 struct client* const client);
56
57/*
58 * Get DTLS parameters from dictionary.
59 */
60enum rawrtc_code get_dtls_parameters(
61 struct rawrtc_dtls_parameters** const parametersp, struct odict* const dict);
62
63/*
64 * Get SCTP parameters from dictionary.
65 */
66enum rawrtc_code get_sctp_parameters(
67 struct sctp_parameters* const parameters, struct odict* const dict);