#include <grpc/support/port_platform.h>
#include "src/core/lib/iomgr/port.h"
#ifdef GRPC_HAVE_IFADDRS
#include <errno.h>
#include <ifaddrs.h>
#include <stddef.h>
#include <string.h>
#include <sys/socket.h>
#include <string>
#include "absl/strings/str_cat.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/gprpp/crash.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/iomgr/tcp_server_utils_posix.h"
static grpc_tcp_listener* find_listener_with_addr(grpc_tcp_server* s,
grpc_resolved_address* addr) { … }
static grpc_error_handle get_unused_port(int* port) { … }
grpc_error_handle grpc_tcp_server_add_all_local_addrs(grpc_tcp_server* s,
unsigned port_index,
int requested_port,
int* out_port) { … }
bool grpc_tcp_server_have_ifaddrs(void) { … }
#endif