the seek function takes a fpos_t (off_t), not a long