Members in RecWord term_buf, index_name changed from char * to
[idzebra-moved-to-github.git] / include / idzebra / recctrl.h
index de543f4..4db54cc 100644 (file)
@@ -1,6 +1,6 @@
-/* $Id: recctrl.h,v 1.4 2004-11-29 21:45:11 adam Exp $
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
-   Index Data Aps
+/* $Id: recctrl.h,v 1.14 2005-08-22 08:19:51 adam Exp $
+   Copyright (C) 1995-2005
+   Index Data ApS
 
 This file is part of the Zebra server.
 
@@ -23,23 +23,38 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #ifndef RECCTRL_H
 #define RECCTRL_H
 
+#include <sys/types.h>
 #include <yaz/proto.h>
 #include <yaz/oid.h>
 #include <yaz/odr.h>
 #include <idzebra/res.h>
 #include <idzebra/data1.h>
+#include <idzebra/snippet.h>
 #include <idzebra/zebramap.h>
 
 YAZ_BEGIN_CDECL
 
+#if NATTR
+#define ZEBRA_XPATH_ELM_BEGIN "_XPATH_BEGIN"
+#define ZEBRA_XPATH_ELM_END   "_XPATH_END"
+#define ZEBRA_XPATH_CDATA     "_XPATH_CDATA"
+#define ZEBRA_XPATH_ATTR      "_XPATH_ATTR"
+#endif
+
 /* single word entity */
 typedef struct {
+#if NATTR
+#else
     int  attrSet;
     int  attrUse;
-    unsigned reg_type;
-    char *string;
-    int  length;
-    int  seqno;
+#endif
+    unsigned index_type;
+    const char *index_name;
+    const char *term_buf;
+    int  term_len;
+    zint seqno;
+    zint record_id;
+    zint section_id;
     ZebraMaps zebra_maps;
     struct recExtractCtrl *extractCtrl;
 } RecWord;
@@ -55,9 +70,13 @@ struct recExtractCtrl {
     void      (*init)(struct recExtractCtrl *p, RecWord *w);
     void      *clientData;
     void      (*tokenAdd)(RecWord *w);
+    void      (*setStoreData)(struct recExtractCtrl *p, void *buf, size_t size);
     ZebraMaps zebra_maps;
+    int       first_record;
     int       flagShowRecords;
     int       seqno[256];
+    char      match_criteria[256];
+    int       staticrank;
     void      (*schemaAdd)(struct recExtractCtrl *p, Odr_oid *oid);
     data1_handle dh;
     void      *handle;
@@ -80,6 +99,8 @@ struct recRetrieveCtrl {
     int       recordSize;             /* size of record in bytes */
     char      *fname;                 /* name of file (or NULL if internal) */
     data1_handle dh;
+    zebra_snippets *hit_snippet;
+    zebra_snippets *doc_snippet;
     
     /* response */
     oid_value  output_format;
@@ -93,6 +114,7 @@ typedef struct recType *RecType;
 
 struct recType
 {
+    int version;
     char *name;                           /* Name of record type */
     void *(*init)(Res res, RecType recType);  /* Init function - called once */
     void (*config)(void *clientData, Res res, const char *args); /* Config */