There seem to be many different ways to seek in C:
fseek()fsetpos()fseeko()lseek()
And many seem to have *64() versions:
fseeko64()lseek64()
To complicate matters further many seem to require macro definitions (like _LARGEFILE64_SOURCE or _GNU_SOURCE) to be available or to use 64-bit versions.
What is the easiest way to guarantee 64-bit IO using ANSI C on Windows, Linux, Mac, BSD, Solaris, etc., and since when has it been supported by each OS?