diff src/set_remote.c @ 22:587437b62ed5

implement twrtp_endp_set_remote_ipv4()
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 07 Jul 2024 04:33:55 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/set_remote.c	Sun Jul 07 04:33:55 2024 +0000
@@ -0,0 +1,27 @@
+/*
+ * Here we implement functions for setting the remote end on themwi_endp,
+ * initially only IPv4, then possibly IPv6 in the future.
+ */
+
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include <string.h>
+
+#include <themwi/rtp/endp.h>
+
+void twrtp_endp_set_remote_ipv4(struct twrtp_endp *endp,
+				const struct in_addr *ip, uint16_t port)
+{
+	endp->rtp_remote.u.sin.sin_family = AF_INET;
+	memcpy(&endp->rtp_remote.u.sin.sin_addr, ip, sizeof(struct in_addr));
+	endp->rtp_remote.u.sin.sin_port = htons(port);
+
+	endp->rtcp_remote.u.sin.sin_family = AF_INET;
+	memcpy(&endp->rtcp_remote.u.sin.sin_addr, ip, sizeof(struct in_addr));
+	endp->rtcp_remote.u.sin.sin_port = htons(port + 1);
+
+	endp->remote_set = true;
+}