-/* $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) 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
#define DICT_DEFAULT_PAGESIZE 4096
+typedef unsigned char Dict_char;
+typedef unsigned Dict_ptr;
+
struct Dict_head {
char magic_str[8];
int page_size;
{
int cache;
BFile bf;
-
+
struct Dict_file_block *all_blocks;
struct Dict_file_block *free_list;
struct Dict_file_block **hash_array;
-
+
struct Dict_file_block *lru_back, *lru_front;
int hash_size;
void *all_data;
-
+
int block_size;
int hits;
int misses;
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;
};
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]
dir[0..nodir-1]
ptr,info,string
*/
-
+
YAZ_END_CDECL
#endif
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab