/* * Read exactly 'n' bytes or return an error. */ ssize_t readn(int fd, void *buf, size_t n) { return ion(true, fd, buf, n); }
/* * Write exactly 'n' bytes or return an error. */ ssize_t writen(int fd, void *buf, size_t n) { return ion(false, fd, buf, n); }