2 * Copyright (C) 1994, Index Data I/S
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.1 1994-11-04 13:21:29 quinn
12 /* TODO: Memory management */
17 rset_control *r_create(const struct rset_control *sel, void *parms);
18 static int r_open(rset_control *ct, int wflag);
19 static void r_close(rset_control *ct);
20 static void r_delete(rset_control *ct);
21 static void r_rewind(rset_control *ct);
22 static int r_count(rset_control *ct);
26 static const rset_control control =
40 const rset_control *rset_kind_isam = &control;
42 rset_control *r_create(const struct rset_control *sel, void *parms)
45 rset_isam_parms *pt = parms;
47 newct = xmalloc(sizeof(*newct));
48 if (!(newct->buf = (char*) is_position(pt->is, pt->pos)))
53 static int r_open(rset_control *ct, int wflag)
59 static void r_close(rset_control *ct)
64 static void r_delete(rset_control *ct)
66 is_pt_free((ISPT) ct->buf);
70 static void r_rewind(rset_control *ct)
72 is_rewind((ISPT) ct->buf);
75 static int r_count(rset_control *ct)
78 static int r_read(rset_control *ct, void *buf)
80 return is_readkey((ISPT) ct->buf, buf);
83 static int r_write(rset_control *ct, const void *buf)
85 log(LOG_FATAL, "ISAM set type is read-only");