Fixed bug regarding user-defined attribute sets.
[idzebra-moved-to-github.git] / index / index.h
index dd7166e..b241e6a 100644 (file)
@@ -1,25 +1,34 @@
 /*
- * Copyright (C) 1995-1999, Index Data
+ * Copyright (C) 1995-0000, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss, Heikki Levanto
  * (log at the end)
  */
+
+#ifndef INDEX_H
+#define INDEX_H
+
 #include <time.h>
 #include <zebraver.h>
 #include <zebrautl.h>
 #include <zebramap.h>
 
 #include <dict.h>
+#include <isams.h>
+#if ZMBOL
 #include <isam.h>
 #include <isamc.h>
-#include <isams.h>
-#include <isamh.h>
-#include <data1.h>
+#include <isamd.h>
+#define ISAM_DEFAULT "c"
+#else
+#define ISAM_DEFAULT "s"
+#endif
+#include <yaz/data1.h>
 #include <recctrl.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+YAZ_BEGIN_CDECL
+
+#define SU_SCHEME 1
 
 #define IT_MAX_WORD 256
 #define IT_KEY_HAVE_SEQNO 1
@@ -68,7 +77,7 @@ struct recordGroup {
     RecTypes     recTypes;
 };
 
-void getFnameTmp (char *fname, int no);
+void getFnameTmp (Res res, char *fname, int no);
         
 struct dirs_info *dirs_open (Dict dict, const char *rep, int rw);
 struct dirs_info *dirs_fopen (Dict dict, const char *path);
@@ -98,10 +107,12 @@ int key_qsort_compare (const void *p1, const void *p2);
 void key_logdump (int mask, const void *p);
 void inv_prstat (BFiles bfs);
 void inv_compact (BFiles bfs);
-void key_input (BFiles bfs, int nkeys, int cache);
-ISAMC_M key_isamc_m (Res res);
-ISAMS_M key_isams_m (Res res);
-ISAMH_M key_isamh_m (Res res);
+void key_input (BFiles bfs, int nkeys, int cache, Res res);
+ISAMS_M key_isams_m (Res res, ISAMS_M me);
+#if ZMBOL
+ISAMC_M key_isamc_m (Res res, ISAMC_M me);
+ISAMD_M key_isamd_m (Res res, ISAMD_M me);
+#endif
 int merge_sort (char **buf, int from, int to);
 int key_SU_code (int ch, char *out);
 
@@ -110,6 +121,7 @@ int key_SU_code (int ch, char *out);
 #define FNAME_ISAMC "isamc"
 #define FNAME_ISAMS "isams"
 #define FNAME_ISAMH "isamh"
+#define FNAME_ISAMD "isamd"
 #define FNAME_CONFIG "zebra.cfg"
 
 #define GMATCH_DICT "gmatch"
@@ -129,7 +141,7 @@ int fileExtract (SYSNO *sysno, const char *fname,
 
 void zebraIndexLockMsg (const char *str);
 void zebraIndexUnlock (void);
-void zebraIndexLock (BFiles bfs, int commitNow, const char *rval);
+int zebraIndexLock (BFiles bfs, int commitNow, const char *rval);
 int zebraIndexWait (int commitPhase);
 
 #define FNAME_MAIN_LOCK   "zebraidx.LCK"
@@ -150,15 +162,32 @@ void zebra_load_atts (data1_handle dh, Res res);
 
 extern Res common_resource;
 
-#ifdef __cplusplus
-}
-#endif
-
-
+YAZ_END_CDECL
 
+#endif
 /*
  * $Log: index.h,v $
- * Revision 1.64  1999-06-30 15:07:23  heikki
+ * Revision 1.70  2000-12-05 10:01:44  adam
+ * Fixed bug regarding user-defined attribute sets.
+ *
+ * Revision 1.69  2000/03/20 19:08:36  adam
+ * Added remote record import using Z39.50 extended services and Segment
+ * Requests.
+ *
+ * Revision 1.68  2000/02/24 11:00:07  adam
+ * Fixed bug: indexer would run forever when lock dir was non-existant.
+ *
+ * Revision 1.67  1999/11/30 13:48:03  adam
+ * Improved installation. Updated for inclusion of YAZ header files.
+ *
+ * Revision 1.66  1999/07/14 13:21:34  heikki
+ * Added isam-d files. Compiles (almost) clean. Doesn't work at all
+ *
+ * Revision 1.65  1999/07/14 10:59:26  adam
+ * Changed functions isc_getmethod, isams_getmethod.
+ * Improved fatal error handling (such as missing EXPLAIN schema).
+ *
+ * Revision 1.64  1999/06/30 15:07:23  heikki
  * Adding isamh stuff
  *
  * Revision 1.63  1999/05/26 07:49:13  adam