X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dict%2Fdict-p.h;h=2fe503d3bb5e3ccedebfb9e5b2427cb4ef311d47;hb=f549d4f3a0081285ecbc3406305abde674ad048e;hp=3d9c722d521e75a1d91c36224687787c0fcaab0d;hpb=4478d785b7769691261005c98063b98a5a5971b3;p=idzebra-moved-to-github.git diff --git a/dict/dict-p.h b/dict/dict-p.h index 3d9c722..2fe503d 100644 --- a/dict/dict-p.h +++ b/dict/dict-p.h @@ -1,5 +1,5 @@ -/* $Id: dict-p.h,v 1.5 2006-08-14 10:40:09 adam Exp $ - Copyright (C) 1995-2006 +/* $Id: dict-p.h,v 1.9 2007-01-15 20:08:23 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -33,6 +33,9 @@ YAZ_BEGIN_CDECL #define DICT_DEFAULT_PAGESIZE 4096 +typedef unsigned char Dict_char; +typedef unsigned Dict_ptr; + struct Dict_head { char magic_str[8]; int page_size; @@ -74,6 +77,12 @@ struct Dict_struct { Dict_BFile dbf; const char **(*grep_cmap)(void *vp, const char **from, int len); void *grep_cmap_data; + /** number of split page operations, since dict_open */ + zint no_split; + /** number of insert operations, since dict_open */ + zint no_insert; + /** number of lookup operations, since dict_open */ + zint no_lookup; struct Dict_head head; }; @@ -86,6 +95,13 @@ Dict_BFile dict_bf_open (BFiles bfs, const char *name, int block_size, int dict_bf_close (Dict_BFile dbf); void dict_bf_compact (Dict_BFile dbf); +int dict_strcmp (const Dict_char *s1, const Dict_char *s2); + +int dict_strncmp (const Dict_char *s1, const Dict_char *s2, size_t n); + +int dict_strlen (const Dict_char *s); + + #define DICT_EOS 0 #define DICT_type(x) 0[(Dict_ptr*) x] #define DICT_backptr(x) 1[(Dict_ptr*) x]