#define _XOPEN_SOURCE 700 #include struct more_file { FILE *f; FILE *backing; size_t topline; fpos_t *tlines; size_t nlines; size_t mark[26]; size_t nbytes; size_t *bytepos; char *buf; size_t nbuf; char *path; }; struct more_file more_open(const char *path); void more_close(struct more_file *mf); ssize_t more_getline(struct more_file *mf, size_t lineno);