On Arch Linux, glibc 2.25-7, cdatapack.h includes stdint.h, which
includes bits/libc-header-start.h, which includes features.h. Therefore
_DEFAULT_SOURCE and _BSD_SOURCE must be defined before including
cdatapack.h.
ntoh_data_offset was moved to .c to make sure .c is the only direct
and indirect user of be64toh.
If cdatapack.h requires these settings it seems like these really should be
defined in cdatapack.h. Otherwise anyone else including cdatapack.h in the
future will end up having to track down the issue all over again, and then copy
and paste this code into their own file too.