One other thing. Under what conditions do <sys/time.h> include <sys/select.h>? That is, there's probably something like this in <sys/time.h>:
#ifndef _SYS_TIME_H #define _SYS_TIME_H ... #if !defined _KERNEL && !defined __XOPEN_OR_POSIX || defined _XPG4_2 #include <sys/select.h> #endif ... #endif and so I'd like to know which symbols protect the inclusion of <sys/select.h> (here it includes _SYS_TIME_H and the others). Similarly for <sys/types.h>, assuming it includes <sys/select.h>.
