aboutsummaryrefslogtreecommitdiff
path: root/src/platform/posix
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/posix')
-rw-r--r--src/platform/posix/posix_ipcdial.c12
-rw-r--r--src/platform/posix/posix_ipclisten.c11
-rw-r--r--src/platform/posix/posix_tcplisten.c59
3 files changed, 20 insertions, 62 deletions
diff --git a/src/platform/posix/posix_ipcdial.c b/src/platform/posix/posix_ipcdial.c
index a570bc4f..d042f45c 100644
--- a/src/platform/posix/posix_ipcdial.c
+++ b/src/platform/posix/posix_ipcdial.c
@@ -249,14 +249,6 @@ error:
nni_aio_finish_error(aio, rv);
}
-static nng_err
-ipc_dialer_get_remaddr(void *arg, void *buf, size_t *szp, nni_type t)
-{
- ipc_dialer *d = arg;
-
- return (nni_copyout_sockaddr(&d->sa, buf, szp, t));
-}
-
#ifdef NNG_TEST_LIB
static nng_err
ipc_dialer_set_test_no_connect(
@@ -274,10 +266,6 @@ ipc_dialer_set_test_no_connect(
#endif
static const nni_option ipc_dialer_options[] = {
- {
- .o_name = NNG_OPT_REMADDR,
- .o_get = ipc_dialer_get_remaddr,
- },
#ifdef NNG_TEST_LIB
{
.o_name = "test-no-connect",
diff --git a/src/platform/posix/posix_ipclisten.c b/src/platform/posix/posix_ipclisten.c
index 6254bf81..7587b4c6 100644
--- a/src/platform/posix/posix_ipclisten.c
+++ b/src/platform/posix/posix_ipclisten.c
@@ -217,13 +217,6 @@ ipc_remove_stale(const char *path)
}
static nng_err
-ipc_listener_get_addr(void *arg, void *buf, size_t *szp, nni_type t)
-{
- ipc_listener *l = arg;
- return (nni_copyout_sockaddr(&l->sa, buf, szp, t));
-}
-
-static nng_err
ipc_listener_set_perms(void *arg, const void *buf, size_t sz, nni_type t)
{
ipc_listener *l = arg;
@@ -308,10 +301,6 @@ ipc_listener_get_listen_fd(void *arg, void *buf, size_t *szp, nni_type t)
static const nni_option ipc_listener_options[] = {
{
- .o_name = NNG_OPT_LOCADDR,
- .o_get = ipc_listener_get_addr,
- },
- {
.o_name = NNG_OPT_IPC_PERMISSIONS,
.o_set = ipc_listener_set_perms,
},
diff --git a/src/platform/posix/posix_tcplisten.c b/src/platform/posix/posix_tcplisten.c
index b158508c..9ad550b2 100644
--- a/src/platform/posix/posix_tcplisten.c
+++ b/src/platform/posix/posix_tcplisten.c
@@ -307,25 +307,6 @@ tcp_listener_accept(void *arg, nni_aio *aio)
}
static nng_err
-tcp_listener_get_locaddr(void *arg, void *buf, size_t *szp, nni_type t)
-{
- tcp_listener *l = arg;
- nng_sockaddr sa;
- nni_mtx_lock(&l->mtx);
- if (l->started) {
- struct sockaddr_storage ss;
- socklen_t len = sizeof(ss);
- (void) getsockname(
- nni_posix_pfd_fd(&l->pfd), (void *) &ss, &len);
- (void) nni_posix_sockaddr2nn(&sa, &ss, len);
- } else {
- sa.s_family = NNG_AF_UNSPEC;
- }
- nni_mtx_unlock(&l->mtx);
- return (nni_copyout_sockaddr(&sa, buf, szp, t));
-}
-
-static nng_err
tcp_listener_set_nodelay(void *arg, const void *buf, size_t sz, nni_type t)
{
tcp_listener *l = arg;
@@ -384,29 +365,33 @@ tcp_listener_get_keepalive(void *arg, void *buf, size_t *szp, nni_type t)
static nng_err
tcp_listener_get_port(void *arg, void *buf, size_t *szp, nni_type t)
{
- tcp_listener *l = arg;
- nng_sockaddr sa;
- size_t sz;
- int port;
- uint8_t *paddr;
+ tcp_listener *l = arg;
+ int port;
+ struct sockaddr_storage ss;
+ socklen_t len = sizeof(ss);
- sz = sizeof(sa);
- (void) tcp_listener_get_locaddr(l, &sa, &sz, NNI_TYPE_SOCKADDR);
+ nni_mtx_lock(&l->mtx);
+ if (!l->started) {
+ nni_mtx_unlock(&l->mtx);
+ return (NNG_ESTATE);
+ }
+ (void) getsockname(nni_posix_pfd_fd(&l->pfd), (void *) &ss, &len);
+ nni_mtx_unlock(&l->mtx);
- switch (sa.s_family) {
- case NNG_AF_INET:
- paddr = (void *) &sa.s_in.sa_port;
+ switch (ss.ss_family) {
+ case AF_INET:
+ port =
+ htons(((struct sockaddr_in *) ((void *) (&ss)))->sin_port);
break;
-
- case NNG_AF_INET6:
- paddr = (void *) &sa.s_in6.sa_port;
+ case AF_INET6:
+ port = htons(
+ ((struct sockaddr_in6 *) ((void *) (&ss)))->sin6_port);
break;
-
default:
- return (NNG_ESTATE);
+ port = 0;
+ break;
}
- NNI_GET16(paddr, port);
return (nni_copyout_int(port, buf, szp, t));
}
@@ -470,10 +455,6 @@ tcp_listener_get_listen_fd(void *arg, void *buf, size_t *szp, nni_type t)
static const nni_option tcp_listener_options[] = {
{
- .o_name = NNG_OPT_LOCADDR,
- .o_get = tcp_listener_get_locaddr,
- },
- {
.o_name = NNG_OPT_TCP_NODELAY,
.o_set = tcp_listener_set_nodelay,
.o_get = tcp_listener_get_nodelay,