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/main.h b/include/rawrtc/main.h
new file mode 100644
index 0000000..a692961
--- /dev/null
+++ b/include/rawrtc/main.h
@@ -0,0 +1,35 @@
+#pragma once
+#include <rawrtcc/code.h>
+
+/*
+ * Transport layers.
+ */
+enum {
+ RAWRTC_LAYER_SCTP = 20,
+ RAWRTC_LAYER_DTLS_SRTP_STUN = 10, // TODO: Pretty sure we are able to detect STUN earlier
+ RAWRTC_LAYER_ICE = 0,
+ RAWRTC_LAYER_STUN = -10,
+ RAWRTC_LAYER_TURN = -10,
+};
+
+/*
+ * Configuration.
+ */
+struct rawrtc_config;
+
+/*
+ * Initialise rawrtc. Must be called before making a call to any other
+ * function.
+ *
+ * Note: In case `init_re` is not set to `true`, you MUST initialise
+ * re yourselves before calling this function.
+ */
+enum rawrtc_code rawrtc_init(bool const init_re);
+
+/*
+ * Close rawrtc and free up all resources.
+ *
+ * Note: In case `close_re` is not set to `true`, you MUST close
+ * re yourselves.
+ */
+enum rawrtc_code rawrtc_close(bool const close_re);