The explain_getsockname_or_die function is used to call the getsockname(2) system call. On failure an
explanation will be printed to stderr, obtained from explain_getsockname(3), and then the process
terminates by calling exit(EXIT_FAILURE).
This function is intended to be used in a fashion similar to the following example:
struct sockaddr sock_addr;
socklen_t sock_addr_size = sizeof(sock_addr);
explain_getsockname_or_die(fildes, &sock_addr, &sock_addr_size);
fildes The fildes, exactly as to be passed to the getsockname(2) system call.
sock_addr
The sock_addr, exactly as to be passed to the getsockname(2) system call.
sock_addr_size
The sock_addr_size, exactly as to be passed to the getsockname(2) system call.
Returns:
This function only returns on success, see getsockaddr(1) for more information. On failure,
prints an explanation and exits.