Lines Matching refs:mi

66 maps_init (struct map_iterator *mi, pid_t pid)  in maps_init()  argument
75 mi->fd = open (path, O_RDONLY); in maps_init()
76 if (mi->fd >= 0) in maps_init()
79 mi->buf_size = getpagesize (); in maps_init()
80 cp = mmap (NULL, mi->buf_size, PROT_READ | PROT_WRITE, in maps_init()
84 close(mi->fd); in maps_init()
85 mi->fd = -1; in maps_init()
90 mi->offset = 0; in maps_init()
91 mi->buf = mi->buf_end = cp + mi->buf_size; in maps_init()
203 maps_next (struct map_iterator *mi, in maps_next() argument
210 if (mi->fd < 0) in maps_next()
215 ssize_t bytes_left = mi->buf_end - mi->buf; in maps_next()
220 if (mi->buf[i] == '\n') in maps_next()
222 eol = mi->buf + i; in maps_next()
225 else if (mi->buf[i] == '\0') in maps_next()
232 memmove (mi->buf_end - mi->buf_size, mi->buf, bytes_left); in maps_next()
234 mi->buf = mi->buf_end - mi->buf_size; in maps_next()
235 nread = read (mi->fd, mi->buf + bytes_left, in maps_next()
236 mi->buf_size - bytes_left); in maps_next()
239 else if ((size_t) (nread + bytes_left) < mi->buf_size) in maps_next()
244 memmove (mi->buf_end - nread - bytes_left, mi->buf, in maps_next()
246 mi->buf = mi->buf_end - nread - bytes_left; in maps_next()
249 eol = mi->buf + bytes_left + nread - 1; in maps_next()
252 if (mi->buf[i] == '\n') in maps_next()
254 eol = mi->buf + i; in maps_next()
258 cp = mi->buf; in maps_next()
259 mi->buf = eol + 1; in maps_next()
272 cp = mi->path = skip_whitespace (cp); in maps_next()
284 maps_close (struct map_iterator *mi) in maps_close() argument
286 if (mi->fd < 0) in maps_close()
288 close (mi->fd); in maps_close()
289 mi->fd = -1; in maps_close()
290 if (mi->buf) in maps_close()
292 munmap (mi->buf_end - mi->buf_size, mi->buf_size); in maps_close()
293 mi->buf = mi->buf_end = NULL; in maps_close()