Lines Matching defs:mmf
46 mmf_t *mmf;
48 mmf = grep_malloc(sizeof *mmf);
51 mmf->len = (size_t)st->st_size;
52 mmf->fd = fd;
53 mmf->base = mmap(NULL, mmf->len, PROT_READ, MAP_PRIVATE, mmf->fd, (off_t)0);
54 if (mmf->base == MAP_FAILED)
56 mmf->ptr = mmf->base;
57 mmf->end = mmf->base + mmf->len;
58 madvise(mmf->base, mmf->len, MADV_SEQUENTIAL);
59 return mmf;
62 free(mmf);
67 mmclose(mmf_t *mmf)
69 munmap(mmf->base, mmf->len);
70 close(mmf->fd);
71 free(mmf);
75 mmfgetln(mmf_t *mmf, size_t *l)
79 if (mmf->ptr >= mmf->end)
81 for (p = mmf->ptr; mmf->ptr < mmf->end; ++mmf->ptr)
82 if (*mmf->ptr == '\n')
85 *l = mmf->ptr - p;
86 ++mmf->ptr;