aboutsummaryrefslogtreecommitdiff
path: root/src/platform/posix
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/posix')
-rw-r--r--src/platform/posix/posix_udp.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/platform/posix/posix_udp.c b/src/platform/posix/posix_udp.c
index 61546667..8a402acc 100644
--- a/src/platform/posix/posix_udp.c
+++ b/src/platform/posix/posix_udp.c
@@ -306,4 +306,19 @@ nni_plat_udp_send(nni_plat_udp *udp, nni_aio *aio)
nni_mtx_unlock(&udp->udp_mtx);
}
+int
+nni_plat_udp_sockname(nni_plat_udp *udp, nni_sockaddr *sa)
+{
+ struct sockaddr_storage ss;
+ socklen_t sz;
+ int rv;
+
+ sz = sizeof(ss);
+ if ((rv = getsockname(udp->udp_fd, (struct sockaddr *) &ss, &sz)) <
+ 0) {
+ return (nni_plat_errno(errno));
+ }
+ return (nni_posix_sockaddr2nn(sa, &ss));
+}
+
#endif // NNG_PLATFORM_POSIX