-/* $Id: index.h,v 1.171 2006-08-14 10:40:15 adam Exp $
+/* $Id: index.h,v 1.181 2006-11-09 14:39:24 adam Exp $
Copyright (C) 1995-2006
Index Data ApS
#include "zinfo.h"
#include <passwddb.h>
#include <rset.h>
+#include <zebramap.h>
YAZ_BEGIN_CDECL
#define FNAME_CONFIG "zebra.cfg"
#define GMATCH_DICT "gmatch"
-#define FMATCH_DICT "fmatch"
+#define FMATCH_DICT "fmatch%d"
struct strtab *strtab_mk (void);
int strtab_src (struct strtab *t, const char *name, void ***infop);
int shadow_enable;
int m_staticrank;
+ int m_segment_indexing;
zint records_inserted;
zint records_updated;
int num_bases, char **basenames,
RSET *result_set);
-ZEBRA_RES rpn_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
- oid_value attributeset,
- int num_bases, char **basenames,
- int *position, int *num_entries, ZebraScanEntry **list,
- int *is_partial, RSET limit_set, int return_zero);
+ZEBRA_RES rpn_scan(ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt,
+ oid_value attributeset,
+ int num_bases, char **basenames,
+ int *position, int *num_entries, ZebraScanEntry **list,
+ int *is_partial, RSET limit_set);
RSET rset_trunc(ZebraHandle zh, ISAM_P *isam_p, int no,
const char *term, int length_term, const char *flags,
int force_update,
int allow_update);
+ZEBRA_RES zebra_extract_record_stream(ZebraHandle zh,
+ struct ZebraRecStream *stream,
+ int delete_flag,
+ int test_mode,
+ const char *recordType,
+ SYSNO *sysno,
+ const char *match_criteria,
+ const char *fname,
+ int force_update,
+ int allow_update,
+ RecType recType,
+ void *recTypeClientData);
+
#if 0
int extract_rec_in_mem (ZebraHandle zh, const char *recordType,
const char *buf, size_t buf_size,
#endif
void extract_flushWriteKeys (ZebraHandle zh, int final);
-struct zebra_fetch_control {
- off_t offset_end;
- off_t record_offset;
- off_t record_int_pos;
- const char *record_int_buf;
- int record_int_len;
- int fd;
-};
-
-int zebra_record_ext_read (void *fh, char *buf, size_t count);
-off_t zebra_record_ext_seek (void *fh, off_t offset);
-off_t zebra_record_ext_tell (void *fh);
-off_t zebra_record_int_seek (void *fh, off_t offset);
-off_t zebra_record_int_tell (void *fh);
-int zebra_record_int_read (void *fh, char *buf, size_t count);
-void zebra_record_int_end (void *fh, off_t offset);
-
+YAZ_EXPORT void zebra_create_stream_mem(struct ZebraRecStream *stream,
+ const char *buf, size_t sz);
+YAZ_EXPORT void zebra_create_stream_fd(struct ZebraRecStream *stream,
+ int fd, off_t start_offset);
void print_rec_keys(ZebraHandle zh, zebra_rec_keys_t reckeys);
-ZEBRA_RES zebra_snippets_rec_keys(ZebraHandle zh, zebra_rec_keys_t reckeys,
- zebra_snippets *snippets);
+ZEBRA_RES zebra_rec_keys_to_snippets(ZebraHandle zh, zebra_rec_keys_t reckeys,
+ zebra_snippets *snippets);
ZEBRA_RES zebra_snippets_hit_vector(ZebraHandle zh, const char *setname,
zint sysno, zebra_snippets *snippets);
void zebra_livcode_transform(ZebraHandle zh, Z_RPNQuery *query);
-void *iscz1_start ();
+void *iscz1_start (void);
void iscz1_reset (void *vp);
void iscz1_stop (void *p);
void iscz1_decode (void *vp, char **dst, const char **src);
ZEBRA_RES zebra_update_file_match(ZebraHandle zh, const char *path);
ZEBRA_RES zebra_update_from_path(ZebraHandle zh, const char *path);
ZEBRA_RES zebra_delete_from_path(ZebraHandle zh, const char *path);
+ZEBRA_RES zebra_remove_file_match(ZebraHandle zh);
+
+
+struct rpn_char_map_info
+{
+ ZebraMaps zm;
+ int reg_type;
+};
+
+void rpn_char_map_prepare(struct zebra_register *reg, int reg_type,
+ struct rpn_char_map_info *map_info);
+
+ZEBRA_RES zapt_term_to_utf8(ZebraHandle zh, Z_AttributesPlusTerm *zapt,
+ char *termz);
+
+
+#define FIRST_IN_FIELD_STR "\001^"
+#define FIRST_IN_FIELD_CHAR 1
+#define FIRST_IN_FIELD_LEN 2
YAZ_END_CDECL