Charmap work
[idzebra-moved-to-github.git] / include / dict.h
index 2323ac7..4cd048c 100644 (file)
@@ -1,10 +1,20 @@
 /*
- * Copyright (C) 1994, Index Data I/S 
+ * Copyright (C) 1994-1996, Index Data I/S 
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: dict.h,v $
- * Revision 1.19  1996-02-02 13:43:54  adam
+ * Revision 1.22  1996-06-04 10:20:10  adam
+ * Added support for character mapping.
+ *
+ * Revision 1.21  1996/05/24  14:46:07  adam
+ * Added dict_grep_cmap function to define user-mapping in grep lookups.
+ *
+ * Revision 1.20  1996/03/20  09:35:23  adam
+ * Function dict_lookup_grep got extra parameter, init_pos, which marks
+ * from which position in pattern approximate pattern matching should occur.
+ *
+ * Revision 1.19  1996/02/02  13:43:54  adam
  * The public functions simply use char instead of Dict_char to represent
  * search strings. Dict_char is used internally only.
  *
@@ -114,9 +124,9 @@ typedef struct Dict_file_struct
 typedef struct Dict_struct {
     int rw;
     Dict_BFile dbf;
+    char **(*grep_cmap)(const char **from, int len);
     struct Dict_head head;
-}
-*Dict;
+} *Dict;
 
 #define DICT_MAGIC "dict00"
 
@@ -137,7 +147,7 @@ char      *dict_lookup (Dict dict, const char *p);
 int        dict_lookup_ec (Dict dict, char *p, int range,
                            int (*f)(char *name));
 int        dict_lookup_grep (Dict dict, const char *p, int range, void *client,
-                             int *max_pos,
+                             int *max_pos, int init_pos,
                              int (*f)(char *name, const char *info,
                                       void *client));
 int        dict_strcmp (const Dict_char *s1, const Dict_char *s2);
@@ -147,6 +157,10 @@ int           dict_scan (Dict dict, char *str,
                      int (*f)(char *name, const char *info, int pos,
                                void *client));
 
+void       dict_grep_cmap (Dict dict,
+                           char **(*cmap)(const char **from, int len));
+
+
 #define DICT_EOS        0
 #define DICT_type(x)    0[(Dict_ptr*) x]
 #define DICT_backptr(x) 1[(Dict_ptr*) x]