/*
- * Copyright (C) 1994-1997, Index Data I/S
+ * Copyright (C) 1994-1999, Index Data
* All rights reserved.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: zebramap.h,v $
- * Revision 1.1 1997-10-27 14:33:04 adam
+ * Revision 1.11 2001-01-22 10:42:56 adam
+ * Added numerical sort.
+ *
+ * Revision 1.10 1999/11/30 13:48:03 adam
+ * Improved installation. Updated for inclusion of YAZ header files.
+ *
+ * Revision 1.9 1999/09/07 07:19:21 adam
+ * Work on character mapping. Implemented replace rules.
+ *
+ * Revision 1.8 1999/02/12 13:29:21 adam
+ * Implemented position-flag for registers.
+ *
+ * Revision 1.7 1999/02/02 14:50:46 adam
+ * Updated WIN32 code specific sections. Changed header.
+ *
+ * Revision 1.6 1998/06/23 15:33:33 adam
+ * Added feature to specify sort criteria in query (type 7 specifies
+ * sort flags).
+ *
+ * Revision 1.5 1998/03/05 08:39:26 adam
+ * Minor changes to zebramap data structures. Changed query
+ * mapping rules.
+ *
+ * Revision 1.4 1998/02/10 12:03:05 adam
+ * Implemented Sort.
+ *
+ * Revision 1.3 1997/11/18 10:05:08 adam
+ * Changed character map facility so that admin can specify character
+ * mapping files for each register type, w, p, etc.
+ *
+ * Revision 1.2 1997/10/29 12:02:47 adam
+ * Added missing prototype.
+ *
+ * Revision 1.1 1997/10/27 14:33:04 adam
* Moved towards generic character mapping depending on "structure"
* field in abstract syntax file. Fixed a few memory leaks. Fixed
* bug with negative integers when doing searches with relational
#ifndef ZEBRAMAP_H
#define ZEBRAMAP_H
-#include <proto.h>
+#include <yaz/proto.h>
+#include <res.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct zebra_maps *ZebraMaps;
-ZebraMaps zebra_maps_open (const char *tabpath);
+ZebraMaps zebra_maps_open (Res res);
void zebra_maps_close (ZebraMaps zm);
-const char **zebra_maps_input (ZebraMaps zms, int reg_type,
+const char **zebra_maps_input (ZebraMaps zms, unsigned reg_id,
const char **from, int len);
-const char *zebra_maps_output(ZebraMaps, int reg_type, const char **from);
+const char *zebra_maps_output(ZebraMaps, unsigned reg_id, const char **from);
int zebra_maps_attr (ZebraMaps zms, Z_AttributesPlusTerm *zapt,
- int *reg_type, char **search_type, int *complete_flag);
+ unsigned *reg_id, char **search_type, char **rank_type,
+ int *complete_flag, int *sort_flag);
+
+int zebra_maps_sort (ZebraMaps zms, Z_SortAttributes *sortAttributes,
+ int *numerical);
+
+int zebra_maps_is_complete (ZebraMaps zms, unsigned reg_id);
+int zebra_maps_is_sort (ZebraMaps zms, unsigned reg_id);
+int zebra_maps_is_positioned (ZebraMaps zms, unsigned reg_id);
+
+WRBUF zebra_replace(ZebraMaps zms, unsigned reg_id, const char *ex_list,
+ const char *input_str, int input_len);
#ifdef __cplusplus
}