Hi Hope I am not too anoying ... ;-) I have tried both _GNU_SOURCE and _LARGEFILE64_SOURCE and in neither case do I get a definition for 'struct stat64' If I understand correctly then source using 'struct stat64' should be fixed to use 'struct stat' instead ? If this is not correct, then 'struct stat64' should probably be added to as only the following are defined there: #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) #define stat64 stat #define fstat64 fstat #define lstat64 lstat #define fstatat64 fstatat #define blksize64_t blksize_t #define blkcnt64_t blkcnt_t #define ino64_t ino_t #define off64_t off_t #endif Regards Paul On Tue, Mar 4, 2014 at 6:20 AM, Rich Felker wrote: > On Tue, Mar 04, 2014 at 06:15:01AM +0200, Paul Schutte wrote: > > Thanks and I agree with padsp being messy. > > > > My question really boils down to > > Should 'struct stat64' be used from within a program and if so, which > > header file should I include ? > > If you want "struct stat64", make sure _GNU_SOURCE or > _LARGEFILE64_SOURCE is defined before including any system headers > (best way is with -D_GNU_SOURCE etc. in your CFLAGS) and include > sys/stat.h. However, it would be better to just use "struct stat", > etc. (With glibc, you need -D_FILE_OFFSET_BITS=64 in your CFLAGS to > make this work right; with musl it always works.) > > Rich >