Lines Matching refs:io
16 struct io { struct
33 static inline void io__init(struct io *io, int fd, in io__init() argument
36 io->fd = fd; in io__init()
37 io->buf_len = buf_len; in io__init()
38 io->buf = buf; in io__init()
39 io->end = buf; in io__init()
40 io->data = buf; in io__init()
41 io->timeout_ms = 0; in io__init()
42 io->eof = false; in io__init()
46 static inline int io__get_char(struct io *io) in io__get_char() argument
48 char *ptr = io->data; in io__get_char()
50 if (io->eof) in io__get_char()
53 if (ptr == io->end) { in io__get_char()
56 if (io->timeout_ms != 0) { in io__get_char()
59 .fd = io->fd, in io__get_char()
64 n = poll(pfds, 1, io->timeout_ms); in io__get_char()
72 io->eof = true; in io__get_char()
76 n = read(io->fd, io->buf, io->buf_len); in io__get_char()
79 io->eof = true; in io__get_char()
82 ptr = &io->buf[0]; in io__get_char()
83 io->end = &io->buf[n]; in io__get_char()
85 io->data = ptr + 1; in io__get_char()
94 static inline int io__get_hex(struct io *io, __u64 *hex) in io__get_hex() argument
100 int ch = io__get_char(io); in io__get_hex()
123 static inline int io__get_dec(struct io *io, __u64 *dec) in io__get_dec() argument
129 int ch = io__get_char(io); in io__get_dec()
144 static inline ssize_t io__getline(struct io *io, char **line_out, size_t *line_len_out) in io__getline() argument
155 ch = io__get_char(io); in io__getline()