IDZEBRA 2.2.11
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()

◆ flush_block()

void flush_block ( ISAMC is,
int cat )
static

Definition at line 361 of file isamc.c.

Referenced by isamc_close().

◆ init_fc()

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()

◆ isamc_getmethod()

◆ isamc_open()

◆ isamc_pp_close()

◆ 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_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()

◆ 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()

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

◆ release_fc()

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().