about summary refs log tree commit diff
path: root/src/rt/rust_uv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_uv.cpp')
-rw-r--r--src/rt/rust_uv.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/rt/rust_uv.cpp b/src/rt/rust_uv.cpp
index 1873ae33e9c..7e719a5f450 100644
--- a/src/rt/rust_uv.cpp
+++ b/src/rt/rust_uv.cpp
@@ -301,6 +301,10 @@ rust_uv_helper_sockaddr_in_size() {
     return sizeof(sockaddr_in);
 }
 extern "C" size_t
+rust_uv_helper_sockaddr_in6_size() {
+    return sizeof(sockaddr_in6);
+}
+extern "C" size_t
 rust_uv_helper_uv_async_t_size() {
     return sizeof(uv_async_t);
 }
@@ -441,6 +445,22 @@ rust_uv_ip4_addr(const char* ip, int port) {
     LOG(task, stdlib, "after creating .. port: %d", addr.sin_port);
     return addr;
 }
+extern "C" struct sockaddr_in6
+rust_uv_ip6_addr(const char* ip, int port) {
+    rust_task* task = rust_get_current_task();
+    LOG(task, stdlib, "before creating addr_ptr.. ip %s" \
+        "port %d", ip, port);
+    struct sockaddr_in6 addr = uv_ip6_addr(ip, port);
+    return addr;
+}
+extern "C" int
+rust_uv_ip4_name(struct sockaddr_in* src, char* dst, size_t size) {
+	return uv_ip4_name(src, dst, size);
+}
+extern "C" int
+rust_uv_ip6_name(struct sockaddr_in6* src, char* dst, size_t size) {
+	return uv_ip6_name(src, dst, size);
+}
 
 extern "C" uintptr_t*
 rust_uv_get_kernel_global_chan_ptr() {