I want to write a C++ wrapper for the Linux Socket API. In the socket() ctor the adress family (AF) is requested. I dont want to require the AF in the connect() signature ag
POSIX-standard getsockname will help:
int getsockname(int socket, struct sockaddr *restrict address, socklen_t *restrict address_len);
it will fill in given struct sockaddr (upon success):
struct sockaddr { unsigned short sa_family; // <- that's what you looking for char sa_data[14]; }