X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=include%2Fisams.h;h=eac4fd5b6907b5d9697fefe5432b12dfe4e202c4;hp=242b165ac79937b62e6485e6ac31fea48738ba1d;hb=3ba097accecfc6ff9b7620d580314a83568c0f27;hpb=896c0427df9d8eff5de6a1735dcd992e067df844 diff --git a/include/isams.h b/include/isams.h index 242b165..eac4fd5 100644 --- a/include/isams.h +++ b/include/isams.h @@ -1,5 +1,5 @@ -/* $Id: isams.h,v 1.3 2002-08-02 19:26:55 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 +/* $Id: isams.h,v 1.7 2004-12-08 12:23:09 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps This file is part of the Zebra server. @@ -24,38 +24,37 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef ISAMS_H #define ISAMS_H -#include +#include +#include +#include #ifdef __cplusplus extern "C" { #endif typedef struct ISAMS_s *ISAMS; -typedef int ISAMS_P; +typedef ISAMC_P ISAMS_P; typedef struct ISAMS_PP_s *ISAMS_PP; typedef struct ISAMS_M_s { int (*compare_item)(const void *a, const void *b); + void (*log_item)(int logmask, const void *p, const char *txt); -#define ISAMC_DECODE 0 -#define ISAMC_ENCODE 1 - void *(*code_start)(int mode); - void (*code_stop)(int mode, void *p); - void (*code_item)(int mode, void *p, char **dst, char **src); + ISAM_CODEC codec; int debug; int block_size; -} *ISAMS_M; +} ISAMS_M; typedef struct ISAMS_I_s { int (*read_item)(void *clientData, char **dst, int *insertMode); void *clientData; } *ISAMS_I; -void isams_getmethod (ISAMS_M me); +void isams_getmethod (ISAMS_M *me); ISAMS isams_open (BFiles bfs, const char *name, int writeflag, - ISAMS_M method); + ISAMS_M *method); int isams_close (ISAMS is); ISAMS_P isams_merge (ISAMS is, ISAMS_I data); ISAMS_PP isams_pp_open (ISAMS is, ISAMS_P pos);