+int readv_nonblock(int fd, struct iovec *iov, int iovcnt, fd_set *rfds,
+ size_t *num_bytes);
+int read_nonblock(int fd, void *buf, size_t sz, fd_set *rfds, size_t *num_bytes);
+int read_pattern(int fd, const char *pattern, size_t bufsize, fd_set *rfds);