/** Return the socket that an evconnlistner is listening on. */
evutil_socket_t evconnlistener_get_fd(struct evconnlistener *lev);
+/** Set ss to the address that an evconnlistner is listening on; returns 0
+ * on success, -1 on failure. */
+int evconnlistener_get_address(struct evconnlistener *lev,
+ struct sockaddr *sa, ev_socklen_t *socklen);
+
#ifdef __cplusplus
}
#endif
return event_get_fd(&lev_e->listener);
}
+int
+evconnlistener_get_address(struct evconnlistener *lev,
+ struct sockaddr *sa, ev_socklen_t *socklen)
+{
+ evutil_socket_t s = evconnlistener_get_fd(lev);
+ if (s <= 0)
+ return -1;
+ return getsockname(s, sa, socklen);
+}
+
struct event_base *
evconnlistener_get_base(struct evconnlistener *lev)
{