-static RSFD r_open (RSET ct, int flag);
-static void r_close (RSFD rfd);
-static void r_delete (RSET ct);
-static void r_rewind (RSFD rfd);
-static int r_forward(RSET ct, RSFD rfd, void *buf,
- int (*cmpfunc)(const void *p1, const void *p2),
- const void *untilbuf);
-static int r_read (RSFD rfd, void *buf);
-static int r_write (RSFD rfd, const void *buf);
-static void r_pos (RSFD rfd, double *current, double *total);
-
-static const struct rset_control control =
+static RSFD r_open(RSET ct, int flag);
+static void r_close(RSFD rfd);
+static void r_delete(RSET ct);
+static int r_forward(RSFD rfd, void *buf, TERMID *term, const void *untilbuf);
+static int r_read(RSFD rfd, void *buf, TERMID *term);
+static int r_write(RSFD rfd, const void *buf);
+static void r_pos(RSFD rfd, double *current, double *total);
+static void r_get_terms(RSET ct, TERMID *terms, int maxterms, int *curterm);
+
+static const struct rset_control control =