5.2.1.1.3. Synchronous Read And Write System Calls
ssize_t read (int fd,
  void *buf, size_t count);
ssize_t write (int fd,
  void *buf, size_t count);

// File access that ignores seek position
ssize_t pread (int fd,
  void *buf, size_t count,
  off_t offset);
ssize_t pwrite (int fd,
  void *buf, size_t count,
  off_t offset);

// File access with scatter and gather
ssize_t readv (int fd,
  struct iovec *vector, int count);
ssize_t writev (int fd,
  struct iovec *vector, int count);

struct iovec {
  void    *iov_base;
  size_t  iov_len;
};