Hello, lib/unix.h declares
| struct sockaddr { | u_char sa_len; /* total length */ | u_char sa_family; /* address family */ ~~~~~~ but SUSv3 suggests in [1] a declaration like | struct sockaddr { | u_char sa_len; /* total length */ | sa_family_t sa_family; /* address family */ I am not sure about the handling of 'sa_len'; this attribute is neither mentioned in SUSv3 nor used by the GNU glibc and dietlibc. Another conflict is caused by select(); SUSv3 allows the timeout to be NULL, but the @null@ flags is missing in unix.h: | select (..., fd_set /*@null@*/ *e, struct timeval *t) ~~~ Enrico Footnotes: [1] http://www.opengroup.org/onlinepubs/007904975/basedefs/sys/socket.h.html