Survey of Commonly Available C System Header Files

Many C programs’ build harnesses are unnecessarily cautious in checking whether various system headers are available, and/or retain checks for headers that passed into obsolescence more than a decade ago. This table documents which headers are ubiquitous and which are less common; which are standardized, which are merely widespread, and which are obsolete; and which might be troublesome other than by not existing everywhere.

This table was last updated on 2 July 2013. The raw data set and all associated code may be found at https://github.com/zackw/header-survey/. Comments, suggestions, improvements, additional OS inventories, etc. are all welcome; please see the README in the source repository.

WARNING: The new information about whether headers are “complete” or “incomplete” is not yet definitive, and (as you can see) only available for a few OSes right now. Please don’t send me updated inventories until further notice; I’ve still got parts all over the floor.

However, please do let me know if you notice display problems in any reasonably modern browser. Currently known issues in that department: The table header doesn’t stay aligned with the body when the window is narrower than the table. This is a limitation of the sticky-header script I wrote, which I have no idea how to fix; help would be much appreciated. There’s a one-pixel gap right below the header in some browsers. This is a bug in Webkit, and it disappears if you open the inspector, so I can’t even try to come up with a workaround.

A: absent
B: present but unusable
P: present
I: incomplete
C: complete
D: not usable in isolation
CC: compiler dependent
X: no data
Click any symbol for more details, if available.
Unix
embedded Unix
Windows
StandardHeader
GNU libc 2.13
GNU libc 2.17
FreeBSD 7.4
FreeBSD 8.3
FreeBSD 9.1
FreeBSD 10.0 (20130521)
NetBSD 5.1
NetBSD 6.0
OpenBSD 5.1
MacOS X 10.6
MacOS X 10.8
Solaris 2.9
Solaris 2.10
Solaris 2.11
Solaris 2.11.i
AIX 7.1
HP-UX 11.23
HP-UX 11.31
IRIX 6.5
Tru64 5.1
Android API 1–7
Android API 8
Android API 9–17
QNX 6.5.0 SP1
MinGW 2012
MSVC 2008
MSVC 2010
MSVC 2012
ISO C1990assert.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
ctype.h
C
C
P
P
P
P
P
P
P
I
Lacks explicit-locale character classification functions (POSIX.1-2008).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
errno.h
C
C
P
P
P
P
P
P
P
I
Lacks ENOTRECOVERABLE and EOWNERDEAD (POSIX.1-2008).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
float.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
iso646.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
limits.h
I
Lacks _XOPEN_NAME_MAX and _XOPEN_PATH_MAX (POSIX.1-2001/XSI). HOST_NAME_MAX is too small. Lacks limit constants for sporadic scheduling (optional in POSIX.1-2001).
I
Lacks _XOPEN_NAME_MAX and _XOPEN_PATH_MAX (POSIX.1-2001/XSI). HOST_NAME_MAX is too small. Lacks limit constants for sporadic scheduling (optional in POSIX.1-2001).
P
P
P
P
P
P
P
I
Lacks limit constants for timers (optional in Single Unix v2).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
locale.h
C
C
P
P
P
P
P
P
P
I
Lacks all POSIX.1-2008 features.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
math.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
setjmp.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
signal.h
I
struct sigevent.sigev_notify_attributes has the wrong type (Single Unix v2).
C
P
P
P
P
P
P
P
I
Lacks psignal and psiginfo (POSIX.1-2008). Lacks realtime signals (optional in Single Unix v2).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
stdarg.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
stddef.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
stdio.h
C
C
P
P
P
P
P
P
P
I
Lacks all POSIX.1-2008 features.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
stdlib.h
C
C
P
P
P
P
P
P
P
I
Lacks mkdtemp (POSIX.1-2008).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
string.h
C
C
P
P
P
P
P
P
P
I
Lacks all POSIX.1-2008 features.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
time.h
C
C
P
P
P
P
P
P
P
I
Lacks strftime_l (POSIX.1-2008). Lacks CLOCK_MONOTONIC (optional in POSIX.1-2001). Lacks clock_getcpuclockid (optional in POSIX.1-2001). Lacks clock_nanosleep (optional in POSIX.1-2001). Lacks timer support (optional in POSIX.1-2001).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
wchar.h
I
Lacks wcpcpy and wcpncpy (POSIX.1-2008).
C
P
P
P
P
P
P
P
I
Lacks all POSIX.1-2008 functions.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
wctype.h
C
C
P
P
P
P
P
P
P
I
Lacks explicit-locale character classification functions (POSIX.1-2008).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
ISO C1999complex.h
I
Lacks imaginary types (optional in ISO C99).
I
Lacks imaginary types (optional in ISO C99).
P
P
P
P
P
P
P
CC
Clang 3.1, GCC 4.7
Lacks imaginary types (optional in ISO C99).
GCC 4.2 (Apple)
In strict conformance mode, any use of I raises an error.
P
A
P
P
P
P
A
P
P
A
A
A
A
P
P
A
A
A
fenv.h
C
C
P
P
P
P
A
P
P
C
P
A
P
P
P
P
P
P
P
A
P
P
P
P
P
A
A
A
inttypes.h
I
Lacks wchar_t (POSIX.1-2008).
I
Lacks wchar_t (POSIX.1-2008).
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
stdbool.h
C
C
P
P
P
P
P
P
P
C
P
P
PD
GCC 4.6
Present.
Sun C 5.12
Requires -xc99=all or -xc99=lib on the command line.
P
P
P
P
P
P
A
P
P
P
P
P
A
A
A
stdint.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
A
P
P
P
P
P
A
P
P
tgmath.h
C
C
P
P
P
P
A
P
P
C
P
A
P
P
P
P
A
P
P
A
A
A
A
P
P
A
A
A
ISO C2011stdalign.h
P
P
A
A
A
P
A
A
A
CC
Clang 3.1, GCC 4.7
Present.
GCC 4.2 (Apple)
Absent.
CC
Clang 3.1 (Apple), GCC 4.7
Present.
GCC 4.2 (Apple)
Absent.
A
A
A
A
CC
GCC 4.7
Present.
XLC 12.1
Absent.
A
A
A
A
P
P
P
A
P
A
A
A
stdatomic.h
A
A
A
A
A
P
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
P
A
A
A
A
stdnoreturn.h
CC
Clang 3.0
Absent.
GCC 4.7
Present.
CC
Clang 3.2
Absent.
GCC 4.7
Present.
A
A
A
P
A
A
A
CC
Clang 3.1, GCC 4.2 (Apple)
Absent.
GCC 4.7
Present.
CC
Clang 3.1 (Apple), GCC 4.2 (Apple)
Absent.
GCC 4.7
Present.
A
A
A
A
P
A
A
A
A
CC
Clang 3.1
Absent.
GCC 4.7
Present.
CC
Clang 3.1
Absent.
GCC 4.7
Present.
CC
Clang 3.1
Absent.
GCC 4.7
Present.
A
P
A
A
A
threads.h
A
A
A
A
A
P
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
uchar.h
A
P
A
A
A
P
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
TR 18037 (embedded C)iohw.h
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
stdfix.h
P
CC
Clang 3.2
Absent.
GCC 4.7
Present.
A
A
A
A
A
A
A
CC
Clang 3.1, GCC 4.2 (Apple)
Absent.
GCC 4.7
Present.
CC
Clang 3.1 (Apple), GCC 4.2 (Apple)
Absent.
GCC 4.7
Present.
P
CC
GCC 4.6
Present.
Sun C 5.12
Absent.
CC
GCC 4.5
Present.
Sun C 5.12
Absent.
P
CC
GCC 4.7
Present.
XLC 12.1
Absent.
A
A
A
A
CC
Clang 3.1
Absent.
GCC 4.7
Present.
CC
Clang 3.1
Absent.
GCC 4.7
Present.
CC
Clang 3.1
Absent.
GCC 4.7
Present.
P
P
A
A
A
OpenMPomp.h
P
CC
Clang 3.2
Absent.
GCC 4.7
Present.
P
P
P
P
A
P
A
CC
Clang 3.1
Absent.
GCC 4.2 (Apple), GCC 4.7
Present.
CC
Clang 3.1 (Apple)
Absent.
GCC 4.2 (Apple), GCC 4.7
Present.
P
P
P
P
P
P
P
P
P
A
A
A
A
P
A
A
P
POSIX.1-1996dirent.h
C
C
P
P
P
P
P
P
P
I
Lacks all POSIX.1-2008 functions.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
fcntl.h
I
Lacks O_TTY_INIT (POSIX.1-2008).
I
Lacks O_TTY_INIT (POSIX.1-2008).
P
P
P
P
P
P
P
I
Lacks all POSIX.1-2008 features. Lacks I/O scheduling functions (optional in POSIX.1-2001). Lacks synchronized I/O support (optional in Single Unix v2).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
fnmatch.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
glob.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
grp.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
netdb.h
I
Lacks NI_NUMERICSCOPE (POSIX.1-2001). getnameinfo is declared slightly wrong (POSIX.1-2001).
I
Lacks NI_NUMERICSCOPE (POSIX.1-2001).
P
P
P
P
P
P
P
I
Lacks NI_NUMERICSCOPE (POSIX.1-2001).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
pwd.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
regex.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
A
P
P
P
A
A
A
A
strings.h
C
C
P
P
P
P
P
P
P
I
Lacks strcasecmp_l and strncasecmp_l (POSIX.1-2008).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
tar.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
termios.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
unistd.h
I
Lacks _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS, _PC_TIMESTAMP_RESOLUTION, and _SC_XOPEN_UUCP.
I
Lacks _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS, _PC_TIMESTAMP_RESOLUTION, and _SC_XOPEN_UUCP.
P
P
P
P
P
P
P
I
Lacks fdatasync (Single Unix v2). Lacks _CS_V6_ENV (POSIX.1-2001). Lacks all POSIX.1-2008 features.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
wordexp.h
C
C
P
P
P
P
P
P
A
C
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
netinet/in.h
C
I
Lacks IPv6 address classification macros (POSIX.1-2001).
P
P
P
P
P
P
PD
Requires sys/types.h.
I
Lacks IPv6 support (POSIX.1-2001).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
netinet/tcp.h
C
C
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
PD
Requires sys/types.h.
P
PD
Requires sys/types.h.
C
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
PD
Requires sys/types.h.
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
P
P
P
A
A
A
A
sys/mman.h
I
Lacks support for typed memory objects (optional in POSIX.1-2001).
I
Lacks support for typed memory objects (optional in POSIX.1-2001).
P
P
P
P
P
P
P
I
Lacks support for typed memory objects (optional in POSIX.1-2001).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/stat.h
I
Lacks support for typed memory objects (optional in POSIX.1-2001).
I
Lacks support for typed memory objects (optional in POSIX.1-2001).
P
P
P
P
P
P
P
I
Lacks all POSIX.1-2008 features.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
sys/times.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/types.h
C
C
P
P
P
P
P
P
P
I
Lacks spinlock types (optional in POSIX.1-2001). Lacks thread barrier types (optional in POSIX.1-2001).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
sys/utsname.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/wait.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
POSIX.1-2001 basepoll.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
arpa/inet.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
net/if.h
C
C
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
P
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h and sys/socket.h.
CD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/select.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/socket.h
C
C
P
P
P
P
P
P
PD
Requires sys/types.h.
I
Lacks MSG_NOSIGNAL (POSIX.1-2008). Lacks correct types for msg_iovlen, msg_controllen, and cmsg_len (POSIX.1-2001).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/time.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
POSIX.1-2001 optionalaio.h
C
C
P
P
P
P
P
P
A
I
Doesn't define time_t (required by POSIX.1-2008).
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
cpio.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
dlfcn.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
fmtmsg.h
C
C
P
P
P
P
P
P
A
C
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
ftw.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
iconv.h
C
C
A
A
A
A
P
P
A
C
P
P
P
P
P
P
P
P
P
P
A
A
A
A
P
A
A
A
langinfo.h
C
C
P
P
P
P
P
P
P
I
Lacks nl_langinfo_l (POSIX.1-2008).
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
libgen.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
monetary.h
C
C
P
P
P
P
P
P
A
I
Lacks strfmon_l (POSIX.1-2008).
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
mqueue.h
C
C
P
P
P
P
P
P
A
A
A
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
nl_types.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
pthread.h
C
C
P
P
P
P
P
P
P
I
Lacks lock functions with timeouts (optional in POSIX.1-2001). Lacks per-thread clock functions (optional in POSIX.1-2001). Lacks process-shared thread barrier functions (optional in POSIX.1-2001). Lacks spinlock functions (optional in POSIX.1-2001). Lacks thread barrier functions (optional in POSIX.1-2001). Lacks robust mutexes (POSIX.1-2008).
P
P
P
P
P
P
P
P
P
PD
Requires -pthread on the command line.
P
P
P
P
P
A
A
A
sched.h
I
Lacks support for sporadic scheduling (optional in POSIX.1-2001).
I
Lacks support for sporadic scheduling (optional in POSIX.1-2001).
P
P
P
P
P
P
P
I
Lacks sched_setscheduler and sched_setparam (Single Unix v2). Lacks sched_rr_get_interval (optional in Single Unix v2). Lacks support for sporadic scheduling (optional in POSIX.1-2001).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
semaphore.h
C
C
P
P
P
P
P
P
P
I
Lacks sem_timedwait (optional in POSIX.1-2001).
P
P
P
P
P
P
P
P
P
P
P
P
P
P
PD
Requires sys/types.h.
A
A
A
spawn.h
C
C
A
P
P
P
A
P
A
I
Lacks scheduling controls (optional in POSIX.1-2001).
P
A
P
P
P
P
A
A
A
A
A
A
A
P
A
A
A
A
syslog.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
utmpx.h
C
C
A
A
P
P
P
P
A
C
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
sys/ipc.h
C
C
P
P
P
P
P
P
PD
Requires sys/types.h.
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/msg.h
C
C
P
P
P
P
P
P
PD
Requires sys/types.h.
C
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
sys/resource.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/sem.h
C
C
P
P
P
P
P
P
PD
Requires sys/types.h.
C
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
sys/shm.h
C
C
P
P
P
P
P
P
PD
Requires sys/types.h.
C
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
sys/statvfs.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
sys/uio.h
C
C
P
P
P
P
P
P
PD
Requires sys/types.h.
C
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/un.h
C
C
P
P
P
P
P
P
P
C
P
P
P
P
P
P
P
P
P
P
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
P
A
A
A
A
Nonstandard but widespreada.out.h
P
P
P
P
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
A
A
A
A
A
A
P
P
P
P
P
A
A
A
A
A
A
A
A
alloca.h
P
P
A
A
A
A
A
A
A
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
ar.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
elf.h
P
P
P
P
P
P
P
P
A
A
A
P
P
P
P
A
P
P
P
A
P
P
P
A
A
A
A
A
endian.h
P
P
A
A
A
A
A
A
A
A
A
A
A
A
A
A
X
A
A
A
P
P
P
X
A
A
A
A
err.h
P
P
P
P
P
P
P
P
P
P
P
A
A
P
P
A
A
A
A
A
P
P
P
P
A
A
A
A
fstab.h
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
P
P
P
A
PD
Requires stdio.h when -pthread mode is active (or when _REENTRANT is otherwise defined)
A
A
A
P
A
A
A
A
fts.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
A
A
A
A
A
A
A
A
A
A
PD
Requires sys/types.h.
PD
Requires sys/types.h.
A
A
A
A
A
getopt.h
P
P
P
P
P
P
P
P
P
P
P
A
P
P
P
A
A
A
P
P
P
P
P
A
P
A
A
A
ifaddrs.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
P
A
A
P
P
A
A
A
A
A
A
A
A
P
A
A
A
A
lastlog.h
P
P
A
A
A
A
A
A
A
A
A
PD
Requires time.h.
PD
Requires time.h.
PD
Requires time.h.
PD
Requires time.h.
A
A
A
PD
Requires time.h.
P
P
P
P
A
A
A
A
A
link.h
P
P
P
P
P
P
P
P
PD
Requires sys/types.h.
A
A
P
P
P
P
A
A
A
A
A
P
P
P
A
A
A
A
A
malloc.h
P
P
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdlib.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdlib.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdlib.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdlib.h instead.
P
P
P
A
A
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
mntent.h
P
P
A
A
A
A
A
A
A
A
A
A
A
A
A
P
P
P
P
A
P
P
P
A
A
A
A
A
paths.h
P
P
P
P
P
P
P
P
P
P
P
A
A
P
P
P
A
A
P
P
P
P
P
P
A
A
A
A
resolv.h
P
P
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
P
P
P
P
P
P
P
P
P
PD
Requires netinet/in.h.
P
P
P
P
P
A
A
A
A
stab.h
P
P
P
P
P
P
P
P
P
P
P
A
CC
GCC 4.6
Absent.
Sun C 5.12
Present.
CC
GCC 4.5
Absent.
Sun C 5.12
Present.
A
A
A
A
A
P
A
A
A
A
A
A
A
A
sysexits.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
thread_db.h
P
P
P
P
P
P
A
A
A
A
A
P
P
P
P
A
A
A
A
A
P
P
P
A
A
A
A
A
arpa/ftp.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
arpa/nameser.h
P
P
P
P
P
P
P
P
P
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
P
P
P
P
P
P
P
A
A
A
A
arpa/telnet.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
P
P
A
A
A
A
arpa/tftp.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
PD
Requires sys/types.h.
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
P
P
A
A
A
P
A
A
A
A
net/if_arp.h
P
P
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
P
P
PD
Requires sys/socket.h.
P
P
P
P
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
P
P
P
P
A
A
A
A
net/ppp_defs.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
A
A
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
A
A
A
A
PD
Requires sys/types.h.
A
A
A
A
A
A
A
A
net/route.h
P
P
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
P
P
PD
Requires sys/types.h and sys/socket.h.
P
P
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
P
P
P
P
PD
Requires sys/socket.h.
P
P
P
P
A
A
A
A
netinet/icmp6.h
P
P
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
P
P
P
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
P
A
A
A
A
netinet/if_ether.h
P
P
PD
Requires sys/types.h, sys/socket.h, and netinet/in.h.
PD
Requires sys/types.h, sys/socket.h, and netinet/in.h.
PD
Requires net/if.h and netinet/in.h.
PD
Requires net/if.h and netinet/in.h.
PD
Requires net/if.h and netinet/in.h.
PD
Requires sys/types.h, net/if.h, and netinet/in.h.
PD
Requires sys/types.h, sys/socket.h, net/if.h, and netinet/in.h.
P
P
PD
Requires sys/socket.h and net/if.h.
PD
Requires net/if.h.
PD
Requires net/if.h.
PD
Requires net/if.h.
P
PD
Requires net/if.h.
PD
Requires net/if.h.
P
PD
Requires netinet/in.h.
P
P
P
P
A
A
A
A
netinet/igmp.h
P
P
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
A
A
A
P
A
A
A
A
netinet/in_systm.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
A
A
A
A
netinet/ip.h
P
P
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h, netinet/in.h, and netinet/in_systm.h.
PD
Requires sys/types.h, netinet/in.h, and netinet/in_systm.h.
PD
Requires sys/types.h, netinet/in.h, and netinet/in_systm.h.
P
P
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
P
PD
Requires netinet/in.h and netinet/in_systm.h.
PD
Requires netinet/in.h and netinet/in_systm.h.
PD
Requires netinet/in.h and netinet/in_systm.h.
P
P
P
P
P
A
A
A
A
netinet/ip6.h
P
P
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires sys/types.h and netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
P
P
P
P
PD
GCC 4.7
Requires netinet/ip.h.
XLC 12.1
Requires netinet/in.h.
P
P
P
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
P
A
A
A
A
netinet/ip_icmp.h
P
P
PD
Requires sys/types.h, netinet/in.h, and netinet/ip.h.
PD
Requires sys/types.h, netinet/in.h, and netinet/ip.h.
PD
Requires sys/types.h, netinet/in.h, and netinet/ip.h.
PD
Requires sys/types.h, netinet/in.h, and netinet/ip.h.
PD
Requires sys/types.h, netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires sys/types.h, netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires sys/types.h, netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires netinet/ip.h.
PD
Requires netinet/ip.h.
PD
Requires netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires netinet/ip.h.
PD
Requires netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires netinet/in.h, netinet/in_systm.h, and netinet/ip.h.
PD
Requires netinet/ip.h.
P
P
P
P
A
A
A
A
netinet/udp.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
PD
Requires sys/types.h.
P
P
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires netinet/in.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
A
A
A
A
protocols/routed.h
P
P
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h and sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
PD
Requires sys/socket.h.
A
A
PD
Requires sys/socket.h.
P
A
A
A
P
A
A
A
A
protocols/rwhod.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
P
P
P
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
A
A
A
P
A
A
A
A
protocols/timed.h
P
P
PD
Requires sys/param.h.
PD
Requires sys/param.h.
PD
Requires sys/param.h.
PD
Requires sys/param.h.
PD
Requires sys/param.h.
PD
Requires sys/param.h.
PD
Requires sys/param.h.
PD
Requires sys/param.h.
PD
Requires sys/param.h.
PD
Requires netdb.h.
PD
Requires netdb.h.
PD
Requires netdb.h.
PD
Requires netdb.h.
PD
Requires sys/param.h and sys/time.h.
A
A
PD
Requires sys/param.h and sys/time.h.
P
A
A
A
A
A
A
A
A
sys/acct.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
sys/file.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
sys/ioctl.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/mount.h
P
P
P
P
P
P
P
P
PD
Requires sys/param.h.
P
P
P
P
P
P
A
P
P
P
P
P
P
P
P
A
A
A
A
sys/mtio.h
P
P
P
P
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
A
A
P
P
P
P
A
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
A
A
A
A
A
A
A
A
sys/param.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
sys/procfs.h
P
P
P
P
P
P
A
A
A
A
A
P
P
P
P
P
A
A
P
P
A
A
A
P
A
A
A
A
sys/queue.h
P
P
P
P
P
P
P
P
P
P
P
A
P
P
P
P
A
A
P
A
P
P
P
P
A
A
A
A
sys/reboot.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
PD
Requires sys/types.h.
P
P
A
P
P
P
P
A
A
A
A
A
sys/socketvar.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/socket.h.
P
P
P
P
CC
GCC 4.2
Objects to extern struct sotimeq sotimeq_hash[]; when struct sotimeq is an incomplete type. In this case, the necessary definition is immediately below the offending declaration.
HP C 11.11
Present.
P
P
P
A
A
A
P
A
A
A
A
sys/syscall.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
P
P
P
P
P
P
P
A
A
A
A
A
sys/syslog.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
P
P
A
A
A
A
A
A
A
A
sys/timex.h
P
P
PD
Requires sys/time.h.
PD
Requires sys/time.h.
PD
Requires sys/time.h.
PD
Requires sys/time.h.
PD
Requires sys/time.h.
PD
Requires sys/time.h.
A
A
A
P
P
P
P
A
A
A
A
PD
Requires sys/time.h.
A
A
A
A
A
A
A
A
sys/user.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/param.h.
P
P
P
P
P
P
P
P
A
A
P
A
A
A
A
A
A
A
A
Sun RPCrpc/auth.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
P
P
P
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/auth_des.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
A
A
A
A
A
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
PD
Requires rpc/rpc.h.
A
A
A
A
A
A
A
A
A
rpc/auth_unix.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/clnt.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/des_crypt.h
P
P
P
P
P
P
A
A
A
A
A
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
A
P
P
P
A
A
A
A
A
A
A
A
A
rpc/key_prot.h
P
P
P
P
P
P
A
A
A
A
A
P
P
P
P
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
A
A
A
A
A
rpc/pmap_clnt.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/pmap_prot.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
P
P
P
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/pmap_rmt.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
P
P
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/rpc.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
rpc/rpc_msg.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/svc.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/svc_auth.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
P
P
P
P
P
P
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpc/types.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
rpc/xdr.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
P
P
P
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
PD
Requires rpc/rpc.h.
A
A
A
A
rpcsvc/bootparam_prot.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
A
A
A
A
A
rpcsvc/mount.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
B
Declarations depending on a typedef, fhandle_t, which is only defined in what appear to be private kernel headers. Other OSes define this type in this header.
P
A
A
A
A
A
A
A
A
rpcsvc/nfs_prot.h
B
Can't be used together with rpcsvc/bootparam_prot.h.
B
Can't be used together with rpcsvc/bootparam_prot.h.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
A
A
A
A
rpcsvc/nis.h
P
P
P
P
P
P
A
A
A
A
A
P
P
P
P
P
P
A
A
A
A
A
A
A
A
A
A
A
rpcsvc/nislib.h
PD
Requires rpcsvc/nis.h.
PD
Requires rpcsvc/nis.h.
PD
Requires rpcsvc/nis.h.
PD
Requires rpcsvc/nis.h.
PD
Requires rpcsvc/nis.h.
PD
Requires rpcsvc/nis.h.
A
A
A
A
A
PD
Requires rpcsvc/nis.h.
PD
Requires rpcsvc/nis.h.
PD
Requires rpcsvc/nis.h.
PD
Requires rpcsvc/nis.h.
P
PD
Requires rpcsvc/nis.h.
A
A
A
A
A
A
A
A
A
A
A
rpcsvc/nlm_prot.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
PD
Requires rpc/rpc.h.
A
A
A
A
A
A
A
A
A
rpcsvc/rex.h
P
P
P
P
P
P
P
P
P
B
Can't be used together with sgtty.h.
P
P
P
P
P
P
P
P
PD
Requires rpc/rpc.h and sys/ttold.h.
P
A
A
A
A
A
A
A
A
rpcsvc/rquota.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
PD
Requires rpc/rpc.h.
P
A
PD
Requires rpc/rpc.h.
P
A
A
A
A
A
A
A
A
rpcsvc/rstat.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
rpcsvc/sm_inter.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
A
A
A
A
A
rpcsvc/spray.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
A
A
A
A
A
rpcsvc/yp_prot.h
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
B
Requires rpc/rpc.h. Can't be used together with dlfcn.h. Can't be used together with unctrl.h. Can't be used together with ndbm.h. Can't be used together with stdbool.h. Can't be used together with curses.h.
PD
Requires rpc/rpc.h.
P
P
P
P
PD
Requires rpc/rpc.h.
P
P
PD
Requires rpc/rpc.h.
P
A
A
A
A
A
A
A
A
rpcsvc/ypclnt.h
P
P
P
P
P
P
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
PD
Requires rpc/rpc.h.
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
rpcsvc/yppasswd.h
B
Can't be used together with pwd.h.
B
Can't be used together with pwd.h.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
PD
Requires pwd.h.
P
A
A
A
A
A
A
A
A
Obsoletecurses.h
A
P
X
X
X
X
X
X
X
P
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
direct.h
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
P
P
P
P
memory.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
ndbm.h
A
A
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
re_comp.h
P
P
X
X
X
X
X
X
X
A
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
regexp.h
PD
SVID regexp.h requires the including file to define several macros, which are used in the bodies of inlined function definitions.
PD
SVID regexp.h requires the including file to define several macros, which are used in the bodies of inlined function definitions.
P
P
A
A
P
P
P
A
A
PD
SVID regexp.h requires the including file to define several macros, which are used in the bodies of inlined function definitions.
PD
SVID regexp.h requires the including file to define several macros, which are used in the bodies of inlined function definitions.
PD
SVID regexp.h requires the including file to define several macros, which are used in the bodies of inlined function definitions.
PD
SVID regexp.h requires the including file to define several macros, which are used in the bodies of inlined function definitions.
PD
SVID regexp.h requires the including file to define several macros, which are used in the bodies of inlined function definitions.
P
P
PD
SVID regexp.h requires the including file to define several macros, which are used in the bodies of inlined function definitions.
P
A
A
A
A
A
A
A
A
search.h
P
P
P
P
P
P
P
P
P
B
Can't be used together with rpcsvc/nfs_prot.h.
P
P
P
P
P
P
P
P
P
P
A
A
A
P
P
P
P
P
sgtty.h
P
P
P
A
A
A
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
stropts.h
P
P
A
A
A
A
A
A
A
A
A
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
term.h
A
P
X
X
X
X
X
X
X
P
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
termcap.h
A
P
P
P
P
P
P
P
P
P
P
A
A
A
P
A
CC
GCC 4.2
Present.
HP C 11.11
Absent.
CC
GCC 4.2
Present.
HP C 12.06
Absent.
A
A
A
A
A
P
A
A
A
A
termio.h
P
P
A
A
A
A
A
A
A
A
A
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
trace.h
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
P
A
A
A
A
A
A
A
A
A
A
A
A
ucontext.h
P
P
P
P
P
P
P
P
A
B
This OS deprecates ucontext.h and issues an #error if it is used without special preparation.
PD
This OS deprecates ucontext.h and issues an #error if it is used without defining _XOPEN_SOURCE.
P
P
P
P
P
P
P
P
P
A
A
A
P
A
A
A
A
ulimit.h
P
P
P
P
P
P
P
P
A
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
unctrl.h
A
P
X
X
X
X
X
X
X
P
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
utime.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
utmp.h
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
A
A
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
P
P
P
P
PD
Requires sys/types.h.
P
P
P
P
P
P
P
P
A
A
A
A
varargs.h
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
A
P
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
CC
GCC 4.6
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
Sun C 5.12
Present.
CC
GCC 4.5
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
Sun C 5.12
Present.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
CC
GCC 4.7
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
XLC 12.1
Present.
CC
GCC 4.2
No data.
HP C 11.11
Present.
CC
GCC 4.2
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
HP C 12.06
Present.
CC
GCC 3.4
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
MIPSpro 7.4
Present.
P
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
X
B
Explicitly unimplemented: contains only an #error directive telling the programmer to use stdarg.h instead.
P
P
P
xti.h
A
A
X
X
X
X
X
X
X
A
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
arpa/nameser_compat.h
P
P
P
P
P
P
P
P
A
P
P
P
P
P
P
PD
Requires sys/types.h.
P
P
A
P
A
A
A
PD
Requires sys/param.h.
A
A
A
A
sys/dir.h
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
A
A
A
P
A
A
A
A
sys/errno.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
sys/fcntl.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
P
P
P
P
A
A
A
A
P
A
A
A
sys/poll.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
sys/signal.h
P
P
P
P
P
P
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
sys/statfs.h
P
P
A
A
A
A
A
A
A
A
A
PD
Requires sys/types.h.
PD
Requires sys/types.h.
P
PD
Requires sys/types.h.
P
A
A
P
A
P
P
P
A
A
A
A
A
sys/termios.h
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
P
P
P
P
A
A
A
A
A
A
A
A
sys/timeb.h
P
P
PD
Requires time.h.
PD
Requires time.h.
P
P
PD
Requires time.h.
PD
Requires time.h.
PD
Requires time.h.
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
sys/ttold.h
A
A
A
A
A
A
A
A
A
A
A
P
P
P
P
A
P
P
P
A
A
A
A
A
A
A
A
A
sys/ucontext.h
P
P
P
P
P
P
P
P
A
P
P
P
P
P
P
P
P
P
P
P
A
A
A
A
A
A
A
A
sys/unistd.h
P
P
P
P
P
P
P
P
PD
Requires sys/types.h.
P
P
P
P
P
P
A
P
P
P
A
A
A
A
A
P
A
A
A

Copyright 2013 Zack Weinberg <zackw@panix.com> and other contributors. Licensed under the Apache License, Version 2.0.