X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fisamc.h;h=706e4795fc60b500b1ce00b22f17444e89c3e80e;hb=68d94f14f5dc211c46689f33a9f61ad4682b8d0e;hp=8aa911bbfb365e9cf3278dfe33c021c7625d44b3;hpb=932697e4b6d6dd00a210b84b285bd8c0000f379f;p=idzebra-moved-to-github.git diff --git a/include/isamc.h b/include/isamc.h index 8aa911b..706e479 100644 --- a/include/isamc.h +++ b/include/isamc.h @@ -1,10 +1,28 @@ /* - * Copyright (c) 1995-1996, Index Data. + * Copyright (c) 1995-1997, Index Data. * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * * $Log: isamc.h,v $ - * Revision 1.1 1996-10-29 13:40:37 adam + * Revision 1.6 1997-09-17 12:19:10 adam + * Zebra version corresponds to YAZ version 1.4. + * Changed Zebra server so that it doesn't depend on global common_resource. + * + * Revision 1.5 1997/09/05 15:30:00 adam + * Changed prototype for chr_map_input - added const. + * Added support for C++, headers uses extern "C" for public definitions. + * + * Revision 1.4 1996/11/08 11:08:01 adam + * New internal release. + * + * Revision 1.3 1996/11/01 13:35:03 adam + * New element, max_blocks_mem, that control how many blocks of max size + * to store in memory during isc_merge. + * + * Revision 1.2 1996/10/29 16:44:42 adam + * Added isc_type, isc_block macros. + * + * Revision 1.1 1996/10/29 13:40:37 adam * First work. * */ @@ -12,6 +30,12 @@ #ifndef ISAMC_H #define ISAMC_H +#include + +#ifdef __cplusplus +extern "C" { +#endif + typedef struct ISAMC_s *ISAMC; typedef int ISAMC_P; typedef struct ISAMC_PP_s *ISAMC_PP; @@ -34,6 +58,7 @@ typedef struct ISAMC_M_s { void (*code_stop)(int mode, void *p); void (*code_item)(int mode, void *p, char **dst, char **src); + int max_blocks_mem; int debug; } *ISAMC_M; @@ -44,14 +69,21 @@ typedef struct ISAMC_I_s { ISAMC_M isc_getmethod (void); -ISAMC isc_open (const char *name, int writeflag, ISAMC_M method); +ISAMC isc_open (BFiles bfs, const char *name, int writeflag, ISAMC_M method); int isc_close (ISAMC is); ISAMC_P isc_merge (ISAMC is, ISAMC_P pos, ISAMC_I data); ISAMC_PP isc_pp_open (ISAMC is, ISAMC_P pos); void isc_pp_close (ISAMC_PP pp); int isc_read_item (ISAMC_PP pp, char **dst); -int isc_read_key (ISAMC_PP pp, void *buf); -int isc_numkeys (ISAMC_PP pp); +int isc_pp_read (ISAMC_PP pp, void *buf); +int isc_pp_num (ISAMC_PP pp); + +#define isc_type(x) ((x) & 7) +#define isc_block(x) ((x) >> 3) + +#ifdef __cplusplus +} +#endif #endif