SOCKET DATA STRUCTURES struct sockaddr { sa_family_t sa_family; /* address family */ char sa_data[14]; /* up to 14 bytes of direct address */ }; struct in_addr { in_addr_t s_addr; /* an unsigned int */ } struct sockaddr_in { sa_family_t sin_family; /* use AF_INET or PF_INET */ in_port_t sin_port; /* in network byte order */ struct in_addr sin_addr; char sin_zero[8]; }; struct hostent { char *h_name; char **h_aliases; short h_addrtype; short h_length; char **h_addr_list; }; #define h_addr h_addr_list[0]