blob: e8a6a30746d0ee657886517656bc66b233f513ec [file] [log] [blame]
James Kuszmaul4a42b182021-01-17 11:32:46 -08001#include "parameters.h"
2#include <rawrtc/dtls_fingerprint.h>
3#include <rawrtc/dtls_parameters.h>
4#include <rawrtc/dtls_transport.h>
5#include <rawrtcc/code.h>
6#include <re.h>
7
8/*
9 * Get the DTLS parameter's role value.
10 */
11enum rawrtc_code rawrtc_dtls_parameters_get_role(
12 enum rawrtc_dtls_role* rolep, // de-referenced
13 struct rawrtc_dtls_parameters* const parameters) {
14 // Check arguments
15 if (!rolep || !parameters) {
16 return RAWRTC_CODE_INVALID_ARGUMENT;
17 }
18
19 // Set value
20 *rolep = parameters->role;
21 return RAWRTC_CODE_SUCCESS;
22}
23
24/*
25 * Get the DTLS parameter's fingerprint array.
26 * `*fingerprintsp` must be unreferenced.
27 */
28enum rawrtc_code rawrtc_dtls_parameters_get_fingerprints(
29 struct rawrtc_dtls_fingerprints** const fingerprintsp, // de-referenced
30 struct rawrtc_dtls_parameters* const parameters) {
31 // Check arguments
32 if (!fingerprintsp || !parameters) {
33 return RAWRTC_CODE_INVALID_ARGUMENT;
34 }
35
36 // Set pointer (and reference)
37 *fingerprintsp = mem_ref(parameters->fingerprints);
38 return RAWRTC_CODE_SUCCESS;
39}