On 02/19/2013 05:09 PM, Jakub Jelinek wrote:
You can't use ino_t and off_t in public header files because of that _FILE_OFFSET_BITS dependency. At least in such header files, using explicit 64-bit types (uint64_t, presumably) is the way to go.
You can use it in public header files just fine, if you mean using it for library ABIs, then you can use ino64_t or off64_t, which is certainly cleaner than using uint64_t.
ino64_t isn't a standard type, either. It's available with _GNU_SOURCE and others, but there still is a dependency on the actual CFLAGS picked by the client code. At least it results in a compile error and not corruption at run time, but it's still far from ideal.