various header cleanups, some related to _BSD_SOURCE addition

there is no reason to avoid multiple identical macro definitions; this
is perfectly legal C, and even with the maximal warning options
enabled, gcc does not issue any warning for it.
3 files changed