X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=include%2Fdict.h;h=4dd87ca2a8592084419db291de0331f3f23ac67e;hb=76474239da7b68e6dd05b3cc7528b85cb3d29b84;hp=df5cc28d74ca229f0c821215fcc483dfebb4bd02;hpb=2f0932393fb205b2e9b941db50cf5aebfba5c385;p=idzebra-moved-to-github.git diff --git a/include/dict.h b/include/dict.h index df5cc28..4dd87ca 100644 --- a/include/dict.h +++ b/include/dict.h @@ -4,7 +4,22 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: dict.h,v $ - * Revision 1.3 1994-08-18 12:41:12 adam + * Revision 1.7 1994-09-22 10:44:47 adam + * Don't remember what changed!! + * + * Revision 1.6 1994/09/16 15:39:21 adam + * Initial code of lookup - not tested yet. + * + * Revision 1.5 1994/09/06 13:05:29 adam + * Further development of insertion. Some special cases are + * not properly handled yet! assert(0) are put here. The + * binary search in each page definitely reduce usr CPU. + * + * Revision 1.4 1994/09/01 17:44:40 adam + * Work on insertion in dictionary. Not finished yet. + * CVS ---------------------------------------------------------------------- + * + * Revision 1.3 1994/08/18 12:41:12 adam * Some development of dictionary. Not finished at all! * * Revision 1.2 1994/08/17 13:32:33 adam @@ -51,11 +66,13 @@ typedef struct Dict_file_struct int hash_size; void *all_data; + int block_size; int hits; int misses; } *Dict_BFile; typedef struct Dict_struct { + int rw; Dict_BFile dbf; struct Dict_head head; } *Dict; @@ -68,14 +85,14 @@ Dict_BFile dict_bf_open (const char *name, int block_size, int cache, int rw); int dict_bf_close (Dict_BFile dbf); #define DICT_MAGIC "dict00" -typedef int Dict_info; - #define DICT_PAGESIZE 8192 Dict dict_open (const char *name, int cache, int rw); int dict_close (Dict dict); -int dict_insert (Dict dict, const Dict_char *p, void *userinfo); -int dict_lookup (Dict dict, Dict_char *p); +int dict_insert (Dict dict, const Dict_char *p, int userlen, void *userinfo); +char *dict_lookup (Dict dict, Dict_char *p); +int dict_lookup_ec (Dict dict, Dict_char *p, int range, + int (*f)(Dict_char*name)); int dict_strcmp (const Dict_char *s1, const Dict_char *s2); int dict_strlen (const Dict_char *s);