IDZEBRA  2.2.7
Macros | Functions
isamc.c File Reference
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include <stdio.h>
#include <yaz/log.h>
#include <yaz/snprintf.h>
#include <yaz/xmalloc.h>
#include "isamc-p.h"

Go to the source code of this file.

Macros

#define ISAMC_FREELIST_CHUNK   0
 
#define SMALL_TEST   0
 

Functions

static void flush_block (ISAMC is, int cat)
 
static void release_fc (ISAMC is, int cat)
 
static void init_fc (ISAMC is, int cat)
 
void isamc_getmethod (ISAMC_M *m)
 
ISAMC isamc_open (BFiles bfs, const char *name, int writeflag, ISAMC_M *method)
 
zint isamc_block_used (ISAMC is, int type)
 
int isamc_block_size (ISAMC is, int type)
 
int isamc_close (ISAMC is)
 
int isamc_read_block (ISAMC is, int cat, zint pos, char *dst)
 
int isamc_write_block (ISAMC is, int cat, zint pos, char *src)
 
int isamc_write_dblock (ISAMC is, int cat, zint pos, char *src, zint nextpos, int offset)
 
static zint alloc_block (ISAMC is, int cat)
 
static void release_block (ISAMC is, int cat, zint pos)
 
zint isamc_alloc_block (ISAMC is, int cat)
 
void isamc_release_block (ISAMC is, int cat, zint pos)
 
void isamc_pp_close (ISAMC_PP pp)
 
ISAMC_PP isamc_pp_open (ISAMC is, ISAM_P ipos)
 
int isamc_pp_read (ISAMC_PP pp, void *buf)
 
int isamc_read_item (ISAMC_PP pp, char **dst)
 
zint isamc_pp_num (ISAMC_PP pp)
 

Macro Definition Documentation

◆ ISAMC_FREELIST_CHUNK

#define ISAMC_FREELIST_CHUNK   0

Definition at line 41 of file isamc.c.

◆ SMALL_TEST

#define SMALL_TEST   0

Definition at line 43 of file isamc.c.

Function Documentation

◆ alloc_block()

static zint alloc_block ( ISAMC  is,
int  cat 
)
static

◆ flush_block()

static void flush_block ( ISAMC  is,
int  cat 
)
static

Definition at line 361 of file isamc.c.

Referenced by isamc_close().

◆ init_fc()

static void init_fc ( ISAMC  is,
int  cat 
)
static

Definition at line 434 of file isamc.c.

References ISAMC_file_s::fc_list, ISAMC_file_s::fc_max, and ISAMC_s::files.

Referenced by isamc_open().

◆ isamc_alloc_block()

zint isamc_alloc_block ( ISAMC  is,
int  cat 
)

◆ isamc_block_size()

int isamc_block_size ( ISAMC  is,
int  type 
)

◆ isamc_block_used()

zint isamc_block_used ( ISAMC  is,
int  type 
)

◆ isamc_close()

int isamc_close ( ISAMC  is)

◆ isamc_getmethod()

void isamc_getmethod ( ISAMC_M m)

◆ isamc_open()

ISAMC isamc_open ( BFiles  bfs,
const char *  name,
int  writeflag,
ISAMC_M method 
)

◆ isamc_pp_close()

void isamc_pp_close ( ISAMC_PP  pp)

◆ isamc_pp_num()

zint isamc_pp_num ( ISAMC_PP  pp)

Definition at line 587 of file isamc.c.

References ISAMC_PP_s::numKeys.

Referenced by inv_stat_handle(), and isamc_merge().

◆ isamc_pp_open()

ISAMC_PP isamc_pp_open ( ISAMC  is,
ISAM_P  ipos 
)

◆ isamc_pp_read()

int isamc_pp_read ( ISAMC_PP  pp,
void *  buf 
)

Definition at line 511 of file isamc.c.

References isamc_read_item().

Referenced by inv_stat_handle(), r_read(), and rset_trunc_r().

◆ isamc_read_block()

int isamc_read_block ( ISAMC  is,
int  cat,
zint  pos,
char *  dst 
)

Definition at line 238 of file isamc.c.

References ISAMC_file_s::bf, bf_read(), ISAMC_s::files, and ISAMC_file_s::no_reads.

Referenced by isamc_pp_open(), and isamc_read_item().

◆ isamc_read_item()

int isamc_read_item ( ISAMC_PP  pp,
char **  dst 
)

◆ isamc_release_block()

void isamc_release_block ( ISAMC  is,
int  cat,
zint  pos 
)

◆ isamc_write_block()

int isamc_write_block ( ISAMC  is,
int  cat,
zint  pos,
char *  src 
)

◆ isamc_write_dblock()

int isamc_write_dblock ( ISAMC  is,
int  cat,
zint  pos,
char *  src,
zint  nextpos,
int  offset 
)

◆ release_block()

static void release_block ( ISAMC  is,
int  cat,
zint  pos 
)
static

◆ release_fc()

static void release_fc ( ISAMC  is,
int  cat 
)
static

Definition at line 445 of file isamc.c.

References ISAMC_file_s::fc_list, ISAMC_file_s::fc_max, ISAMC_s::files, and release_block().

Referenced by isamc_close().