IDZEBRA  2.1.2
Data Structures | Macros | Typedefs | Functions
isam.h File Reference
#include <idzebra/bfile.h>

Go to the source code of this file.

Data Structures

struct  key_control
 
struct  isam_data_stream
 
struct  isam_conrol
 
struct  ISAM_s
 
struct  ISAM_CUR
 

Macros

#define isam_close(is)   (*(is)->ictrl->f_close)(is)
 
#define isam_puf(is, pos, buf)   (*(is)->ictrl->f_put)((is),(pos)(buf))
 
#define isam_del(is, pos, buf)   (*(is)->ictrl->f_del)((is),(pos)(buf))
 
#define isam_get(is, pos, buf)   (*(is)->ictrl->f_get)((is),(pos)(buf))
 
#define isam_merge(is, pos, data)   (*(is)->ictrl->f_merge)((is),(pos)(data))
 
#define isam_cur_open(is, pos)   (*(is)->ictrl->f_cur_open)((is),(pos))
 
#define isam_read(cur, buf)   (*(is)->ictrl->f_read)((cur),(buf))
 
#define isam_forward(cur, buf, untilbuf)   (*(is)->ictrl->f_forward)((cur),(buf)(untilbuf))
 
#define isam_pos(cur, current, total)   (*(is)->ictrl->f_pos)((cur),(current),(total))
 
#define isam_cur_close(cur)   (*(is)->ictrl->f_cur_close)(cur)
 
#define isam_unlink(is, pos)   (*(is)->ictrl->f_unlink)((is),(pos))
 

Typedefs

typedef struct key_control KEY_CONTROL
 
typedef struct isam_data_stram ISAM_DATA_STREAM
 
typedef zint ISAM_POS
 
typedef struct ISAM_sISAM
 
typedef struct ISAM_CUR_s * ISAM_CUR
 

Functions

const KEY_CONTROLdefault_key_control ()
 
ISAM isam_open (BFiles bfs, const char *isamtype, const char *filename, int flags, const KEY_CONTROL *key_control)
 

Macro Definition Documentation

#define isam_close (   is)    (*(is)->ictrl->f_close)(is)

Shortcut defines to access the functions through the key_control block

Definition at line 192 of file isam.h.

#define isam_cur_close (   cur)    (*(is)->ictrl->f_cur_close)(cur)

Definition at line 210 of file isam.h.

#define isam_cur_open (   is,
  pos 
)    (*(is)->ictrl->f_cur_open)((is),(pos))

Definition at line 202 of file isam.h.

#define isam_del (   is,
  pos,
  buf 
)    (*(is)->ictrl->f_del)((is),(pos)(buf))

Definition at line 196 of file isam.h.

#define isam_forward (   cur,
  buf,
  untilbuf 
)    (*(is)->ictrl->f_forward)((cur),(buf)(untilbuf))

Definition at line 206 of file isam.h.

#define isam_get (   is,
  pos,
  buf 
)    (*(is)->ictrl->f_get)((is),(pos)(buf))

Definition at line 198 of file isam.h.

#define isam_merge (   is,
  pos,
  data 
)    (*(is)->ictrl->f_merge)((is),(pos)(data))

Definition at line 200 of file isam.h.

#define isam_pos (   cur,
  current,
  total 
)    (*(is)->ictrl->f_pos)((cur),(current),(total))

Definition at line 208 of file isam.h.

#define isam_puf (   is,
  pos,
  buf 
)    (*(is)->ictrl->f_put)((is),(pos)(buf))

Definition at line 194 of file isam.h.

#define isam_read (   cur,
  buf 
)    (*(is)->ictrl->f_read)((cur),(buf))

Definition at line 204 of file isam.h.

#define isam_unlink (   is,
  pos 
)    (*(is)->ictrl->f_unlink)((is),(pos))

Definition at line 212 of file isam.h.

Typedef Documentation

typedef struct ISAM_s* ISAM

ISAM is a translation from POS to a set of values

Definition at line 113 of file isam.h.

typedef struct ISAM_CUR_s* ISAM_CUR

ISAM_CUR is a pointer into an ISAM

Definition at line 116 of file isam.h.

typedef struct isam_data_stram ISAM_DATA_STREAM

Definition at line 106 of file isam.h.

typedef zint ISAM_POS

ISAM_POS is a number the ISAM translates from

Definition at line 110 of file isam.h.

typedef struct key_control KEY_CONTROL

Definition at line 93 of file isam.h.

Function Documentation

const KEY_CONTROL* default_key_control ( )
ISAM isam_open ( BFiles  bfs,
const char *  isamtype,
const char *  filename,
int  flags,
const KEY_CONTROL key_control 
)

Open the isam system