use lseek64 to avoid overflow issues in BinaryFileOutputStream etc