headless: expose OS-assigned control and audio listener ports

This commit is contained in:
evgeny committed 2026-10-10 15:51:04 +02:00
1 parent 91909fbb1e
commit dc0dbbf720
12 files changed
+91 -53

No files matched your search

+13
View File
@@ -246,3 +246,16 @@ uint16_t ss_get_port(const struct sockaddr_storage *addr) {
return 0;
}
uint16_t socket_get_bound_port(socket_t sock) {
struct sockaddr_storage address; socklen_t size = sizeof(address);
if (getsockname(sock, (struct sockaddr*)&address, &size) != 0) {
DEBUG_ERROR(DEBUG_CATEGORY_SOCKET, "getsockname fd=%llu failed: %s",
(unsigned long long)sock, socket_strerror(socket_get_error()));
return 0;
}
uint16_t port = ss_get_port(&address);
if (!port) DEBUG_ERROR(DEBUG_CATEGORY_SOCKET, "socket fd=%llu family=%d has no bound port",
(unsigned long long)sock, address.ss_family);
return port;
}