+
+/*
+ * Locate a table of keys in an isam file. The ISPT is an individual
+ * position marker for that table.
+ */
+ISPT is_position(ISAM is, ISAM_P pos)
+{
+ ispt_struct *p;
+
+ p = ispt_alloc();
+ is_m_establish_tab(is, &p->tab, pos);
+ return p;
+}
+
+/*
+ * Release ISPT.
+ */
+void is_pt_free(ISPT ip)
+{
+ is_m_release_tab(&ip->tab);
+ ispt_free(ip);
+}
+
+/*
+ * Read a key from a table.
+ */
+int is_readkey(ISPT ip, void *buf)
+{
+ return is_m_read_record(&ip->tab, buf);
+}
+
+int is_numkeys(ISPT ip)
+{
+ return is_m_num_records(&ip->tab);
+}
+
+void is_rewind(ISPT ip)
+{
+ is_m_rewind(&ip->tab);
+}