ListenerLocalAddr
Description
Query the actually-bound local address of a listener. Useful after ListenerOpen with port 0, where the kernel picks the port. Wraps getsockname on POSIX / Winsock identically.
Parameters
| Name | Direction | Description |
|---|---|---|
self |
in | Open listener. |
out |
out | Filled with the bound address. Zeroed on failure. |
Success
returns true; out populated.
Failure
returns false; logs the failing syscall.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Socket.c:800:
}
bool ListenerLocalAddr(const Listener *self, SocketAddr *out) {
if (!self || !out) {
LOG_FATAL("ListenerLocalAddr: NULL argument");- In
Socket.c:802:
bool ListenerLocalAddr(const Listener *self, SocketAddr *out) {
if (!self || !out) {
LOG_FATAL("ListenerLocalAddr: NULL argument");
}
MemSet(out, 0, sizeof(*out));- In
Socket.c:41:
// public API.
SocketAddr local;
if (!ListenerLocalAddr(&listener, &local)) {
ListenerClose(&listener);
DefaultAllocatorDeinit(&alloc);- In
Socket.c:159:
SocketAddr local;
if (!ListenerLocalAddr(&p.listener, &local)) {
ListenerClose(&p.listener);
return p;- In
Socket.c:929:
SocketAddr local;
bool ok = ListenerLocalAddr(&listener, &local);
// family + length come straight from fill_socket_addr_from_sockaddr.
ok = ok && local.family == SOCKET_FAMILY_INET;- In
Socket.c:963:
SocketAddr local;
bool ok = ListenerLocalAddr(&listener, &local);
ok = ok && local.family == SOCKET_FAMILY_INET;
ok = ok && local.length == 16u;- In
Socket.c:1003:
SocketAddr local;
if (!ListenerLocalAddr(&listener, &local)) {
ListenerClose(&listener);
DefaultAllocatorDeinit(&alloc);- In
Socket.c:1109:
SocketAddr local;
if (!ListenerLocalAddr(listener, &local)) {
ListenerClose(listener);
return false;- In
Socket.c:1670:
SocketAddr local;
bool ok = ListenerLocalAddr(&listener, &local);
ok = ok && local.family == SOCKET_FAMILY_INET;
ok = ok && local.length == 16u;
Last updated on