mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-12 13:58:58 -04:00
Expose a function to getsockname() on a listener's fd.
This commit is contained in:
parent
7ea8e89d5c
commit
fab50488fc
@ -112,6 +112,11 @@ struct event_base *evconnlistener_get_base(struct evconnlistener *lev);
|
|||||||
/** Return the socket that an evconnlistner is listening on. */
|
/** Return the socket that an evconnlistner is listening on. */
|
||||||
evutil_socket_t evconnlistener_get_fd(struct evconnlistener *lev);
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
10
listener.c
10
listener.c
@ -261,6 +261,16 @@ event_listener_getfd(struct evconnlistener *lev)
|
|||||||
return event_get_fd(&lev_e->listener);
|
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 *
|
struct event_base *
|
||||||
evconnlistener_get_base(struct evconnlistener *lev)
|
evconnlistener_get_base(struct evconnlistener *lev)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user