IDZEBRA  2.1.3
Data Fields
isam_conrol Struct Reference

#include <isam.h>

Data Fields

char * desc
const char * def_filename
void(* f_close )(ISAM i)
ISAM_POS(* f_put )(ISAM is, ISAM_POS pos, const void *buf)
int(* f_del )(ISAM is, ISAM_POS pos, const void *buf)
int(* f_get )(ISAM is, ISAM_POS pos, void *buf)
ISAM_POS(* f_merge )(ISAM is, ISAM_POS pos, ISAM_DATA_STREAM *data)
ISAM_CUR(* f_cur_open )(ISAM is, ISAM_POS pos)
int(* f_read )(ISAM_CUR cur, void *buf)
int(* f_forward )(ISAM_CUR cur, void *buf, const void *untilbuf)
void(* f_pos )(ISAM_CUR cur, double *current, double *total)
void(* f_cur_close )(ISAM_CUR cur)
int(* f_unlink )(ISAM is, ISAM_POS pos)

Detailed Description

isam_control is the interface to the operations an ISAM supports

Definition at line 119 of file isam.h.

Field Documentation

const char* isam_conrol::def_filename

default filename, if none given to isam_open

Definition at line 123 of file isam.h.

char* isam_conrol::desc

text description of the type, for debugging

Definition at line 121 of file isam.h.

void(* isam_conrol::f_close) (ISAM i)

close the isam system

Definition at line 129 of file isam.h.

void(* isam_conrol::f_cur_close) (ISAM_CUR cur)

Close a cursor

Definition at line 159 of file isam.h.

ISAM_CUR(* isam_conrol::f_cur_open) (ISAM is, ISAM_POS pos)

Open a cursor to the isam list identified by pos

Definition at line 147 of file isam.h.

int(* isam_conrol::f_del) (ISAM is, ISAM_POS pos, const void *buf)

Locate and delete an entry from an isam list. If not there do nothing, and return 0

Definition at line 137 of file isam.h.

int(* isam_conrol::f_forward) (ISAM_CUR cur, void *buf, const void *untilbuf)

Forward until item >= untilbuf, and read that item. Skips effectively

Definition at line 153 of file isam.h.

int(* isam_conrol::f_get) (ISAM is, ISAM_POS pos, void *buf)

Find an entry in the isam list. return 0 if not found. buf must contain enough to identify the item, and will be overwritten by it

Definition at line 141 of file isam.h.

ISAM_POS(* isam_conrol::f_merge) (ISAM is, ISAM_POS pos, ISAM_DATA_STREAM *data)

Mass-insert data from incoming stream into the isam

Definition at line 144 of file isam.h.

void(* isam_conrol::f_pos) (ISAM_CUR cur, double *current, double *total)

Get (an estimate of) the current position and total size of the entry

Definition at line 156 of file isam.h.

ISAM_POS(* isam_conrol::f_put) (ISAM is, ISAM_POS pos, const void *buf)

Insert an entry into the isam identified by pos. If pos==0, create a new isam list

Definition at line 133 of file isam.h.

int(* isam_conrol::f_read) (ISAM_CUR cur, void *buf)

Read an item at the cursor (and forward to next). return 0 at eof

Definition at line 150 of file isam.h.

int(* isam_conrol::f_unlink) (ISAM is, ISAM_POS pos)

Delete the isam list from the isam system.

Definition at line 162 of file isam.h.

The documentation for this struct was generated from the following file: