Operating systems such as Unix or the Macintosh allow I/O at any position in a file. The hSeek operation allows three kinds of positioning: absolute positioning AbsoluteSeek, positioning relative to the current I/O position RelativeSeek, and positioning relative to the current end-of-file SeekFromEnd. Some implementations or operating systems may only support some of these operations.
All positioning offsets are an integral number of bytes. This seems to be fairly widely supported and is quite simple. The alternatives (such as defining position by the number of items which can be read from the file) seem to give designs which are difficult both to understand and to use.