If position is undefined, use posix.read().  If position is defined, use posix.pread().