Rules of thumb (2) Pointers: use struct sockaddr * Memory allocation: use struct sockaddr_storage sizeof sockaddr < sizeof sockaddr_in6 Be careful with sizeof() sizeof(struct sockaddr_in)? sizeof(sa)? Use sa_len where possible (on 4.4BSD-derived system) pass around salen always (on 4.3BSD-derived systems) Name resolution must use getaddrinfo()/getnameinfo()