Include <sys/types.h> for mode_t in header.c. Omitting it works in gnu99 but not c99.