IDZEBRA  2.2.7
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

◆ isam_close

#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.

◆ isam_cur_close

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

Definition at line 210 of file isam.h.

◆ isam_cur_open

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

Definition at line 202 of file isam.h.

◆ isam_del

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

Definition at line 196 of file isam.h.

◆ isam_forward

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

Definition at line 206 of file isam.h.

◆ isam_get

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

Definition at line 198 of file isam.h.

◆ isam_merge

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

Definition at line 200 of file isam.h.

◆ isam_pos

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

Definition at line 208 of file isam.h.

◆ isam_puf

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

Definition at line 194 of file isam.h.

◆ isam_read

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

Definition at line 204 of file isam.h.

◆ isam_unlink

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

Definition at line 212 of file isam.h.

Typedef Documentation

◆ ISAM

typedef struct ISAM_s* ISAM

ISAM is a translation from POS to a set of values

Definition at line 113 of file isam.h.

◆ ISAM_CUR

typedef struct ISAM_CUR_s* ISAM_CUR

ISAM_CUR is a pointer into an ISAM

Definition at line 116 of file isam.h.

◆ ISAM_DATA_STREAM

typedef struct isam_data_stram ISAM_DATA_STREAM

Definition at line 95 of file isam.h.

◆ ISAM_POS

typedef zint ISAM_POS

ISAM_POS is a number the ISAM translates from

Definition at line 110 of file isam.h.

◆ KEY_CONTROL

typedef struct key_control KEY_CONTROL

Definition at line 1 of file isam.h.

Function Documentation

◆ default_key_control()

const KEY_CONTROL* default_key_control ( )

◆ isam_open()

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

Open the isam system