diff options
Diffstat (limited to 'src/platform/posix')
| -rw-r--r-- | src/platform/posix/posix_udp.c | 15 |
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 |
