X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fisamc.h;h=b68b0d63f72d6d93c2afe4b94ee017a3ed33b895;hb=c0c85097014e5b007075ab71d9b5bee412e28dd5;hp=8aa911bbfb365e9cf3278dfe33c021c7625d44b3;hpb=932697e4b6d6dd00a210b84b285bd8c0000f379f;p=idzebra-moved-to-github.git diff --git a/include/isamc.h b/include/isamc.h index 8aa911b..b68b0d6 100644 --- a/include/isamc.h +++ b/include/isamc.h @@ -1,10 +1,24 @@ /* - * 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.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 +26,10 @@ #ifndef ISAMC_H #define ISAMC_H +#ifdef __cplusplus +extern "C" { +#endif + typedef struct ISAMC_s *ISAMC; typedef int ISAMC_P; typedef struct ISAMC_PP_s *ISAMC_PP; @@ -34,6 +52,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; @@ -51,7 +70,14 @@ 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