NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…NAME sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t, in_addr ... char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_fam…provides the data type struct sockaddr_storage . This type is suitable to accommodate all supported ... family_t ss_family; The sockaddr_storage structure is useful in programs tha…hints; struct addrinfo *result, *rp; struct sockaddr_storage peer_addr; if (argc != 2) { fprintf(stderrhints; struct addrinfo *result, *rp; struct sockaddr_storage peer_addr; if (argc != 2) { fprintf(stderrhints; struct addrinfo *result, *rp; struct sockaddr_storage peer_addr; if (argc != 2) { fprintf(stderrchanged to use struct sockaddr_storage for that instead. SOL_IP , SOL_IPV6 , SOL_ICMPV6