I thought FILE* is similar to DIR* and it should be OK...
Users should not touch its fields
But GCC uses *_unlocked functions and they are defined by
#define __sfeof(p) (((p)->_flags & __SEOF) != 0) #define feof_unlocked(p) __sfeof(p)
Of course, FILE of Linux is completely different from the one of Mac