Squashed 'third_party/rawrtc/rawrtc/' content from commit aa3ae4b24

Change-Id: I38a655a4259b62f591334e90a1315bd4e7e4d8ec
git-subtree-dir: third_party/rawrtc/rawrtc
git-subtree-split: aa3ae4b247275cc6e69c30613b3a4ba7fdc82d1b
diff --git a/include/rawrtc/sctp_transport.h b/include/rawrtc/sctp_transport.h
new file mode 100644
index 0000000..59c365f
--- /dev/null
+++ b/include/rawrtc/sctp_transport.h
@@ -0,0 +1,21 @@
+#pragma once
+#include <rawrtcc/code.h>
+#include <rawrtcdc/data_channel.h>
+#include <rawrtcdc/sctp_transport.h>
+#include <re.h>
+
+// Dependencies
+struct rawrtc_dtls_transport;
+
+/*
+ * Create an SCTP transport.
+ * `*transportp` must be unreferenced.
+ */
+enum rawrtc_code rawrtc_sctp_transport_create(
+    struct rawrtc_sctp_transport** const transportp,  // de-referenced
+    struct rawrtc_dtls_transport* const dtls_transport,  // referenced
+    uint16_t const port,  // zeroable
+    rawrtc_data_channel_handler const data_channel_handler,  // nullable
+    rawrtc_sctp_transport_state_change_handler const state_change_handler,  // nullable
+    void* const arg  // nullable
+);