Added snippet utilities and snippet window implementation.
[idzebra-moved-to-github.git] / include / idzebra / recctrl.h
index 6f10701..03e21af 100644 (file)
@@ -1,6 +1,6 @@
-/* $Id: recctrl.h,v 1.5 2004-11-29 21:55:25 adam Exp $
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
-   Index Data Aps
+/* $Id: recctrl.h,v 1.11 2005-06-07 11:36:38 adam Exp $
+   Copyright (C) 1995-2005
+   Index Data ApS
 
 This file is part of the Zebra server.
 
@@ -23,11 +23,13 @@ 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
@@ -37,8 +39,9 @@ typedef struct {
     int  attrSet;
     int  attrUse;
     unsigned reg_type;
-    char *string;
-    int  length;
+    char *attrStr;
+    char *term_buf;
+    int  term_len;
     zint seqno;
     zint record_id;
     zint section_id;
@@ -57,7 +60,9 @@ 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];
@@ -83,6 +88,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;
@@ -96,6 +103,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 */