X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=dict%2Fdict-p.h;h=53cb8307bfa1f58f179df038078588c498e20b3d;hp=3d9c722d521e75a1d91c36224687787c0fcaab0d;hb=5d536c8cf5400b1e4da91061cf736a9ab53e5bd1;hpb=4478d785b7769691261005c98063b98a5a5971b3 diff --git a/dict/dict-p.h b/dict/dict-p.h index 3d9c722..53cb830 100644 --- a/dict/dict-p.h +++ b/dict/dict-p.h @@ -1,8 +1,5 @@ -/* $Id: dict-p.h,v 1.5 2006-08-14 10:40:09 adam Exp $ - Copyright (C) 1995-2006 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 1994-2011 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -33,6 +30,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 +74,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 +92,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] @@ -114,6 +127,7 @@ YAZ_END_CDECL /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab