/*
* IR toolkit for tcl/tk
- * (c) Index Data 1995
+ * (c) Index Data 1995-2002
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: ir-tclp.h,v $
- * Revision 1.31 1996-03-05 09:21:19 adam
+ * Revision 1.40 2002-03-20 14:48:54 adam
+ * implemented USR.1 SearchResult-1
+ *
+ * Revision 1.39 1999/11/30 14:05:58 adam
+ * Updated for new location of YAZ headers.
+ *
+ * Revision 1.38 1999/03/22 06:51:34 adam
+ * Implemented sort.
+ *
+ * Revision 1.37 1998/04/02 14:31:08 adam
+ * This version works with compiled ASN.1 code.
+ *
+ * Revision 1.36 1997/11/19 11:22:09 adam
+ * Object identifiers can be accessed in GRS-1 records.
+ *
+ * Revision 1.35 1997/09/09 10:19:54 adam
+ * New MSV5.0 port with fewer warnings.
+ *
+ * Revision 1.34 1996/08/16 15:07:47 adam
+ * First work on Explain.
+ *
+ * Revision 1.33 1996/07/03 13:31:13 adam
+ * The xmalloc/xfree functions from YAZ are used to manage memory.
+ *
+ * Revision 1.32 1996/03/20 13:54:05 adam
+ * The Tcl_File structure is only manipulated in the Tk-event interface
+ * in tkinit.c.
+ *
+ * Revision 1.31 1996/03/05 09:21:19 adam
* Bug fix: memory used by GRS records wasn't freed.
* Rewrote some of the error handling code - the connection is always
* closed before failback is called.
#include <tcl.h>
-#include <log.h>
-#include <pquery.h>
+#include <yaz/log.h>
+#include <yaz/pquery.h>
#if CCL2RPN
-#include <yaz-ccl.h>
+#include <yaz/yaz-ccl.h>
#endif
-#include <comstack.h>
-#include <tcpip.h>
+#include <yaz/comstack.h>
+#include <yaz/tcpip.h>
#if MOSI
-#include <xmosi.h>
+#include <yas/xmosi.h>
#endif
-#include <yaz-version.h>
-#include <odr.h>
-#include <proto.h>
-#include <oid.h>
-#include <diagbib1.h>
+#include <yaz/yaz-version.h>
+#include <yaz/odr.h>
+#include <yaz/proto.h>
+#include <yaz/oid.h>
+#include <yaz/diagbib1.h>
+#include <yaz/xmalloc.h>
#include "ir-tcl.h"
int protocol_type;
int failInfo;
COMSTACK cs_link;
-#if IRTCL_GENERIC_FILES
- Tcl_File csFile;
-#endif
-
+
int state;
int preferredMessageSize;
struct IrTcl_Request_ *request_queue;
IrTcl_SetCObj set_inher;
+
} IrTcl_Obj;
typedef struct IrTcl_Request_ {
struct IrTcl_GRS_Record_ *sub;
char *str;
struct {
- int len;
+ size_t len;
char *buf;
} octets;
int num;
int bool;
+ Odr_oid *oid;
} tagData;
};
union {
IrTcl_GRS_Record *grs1;
} u;
+ int type;
+#if 0
enum oid_value type;
+#endif
} dbrec;
struct {
int num;
IrTcl_Obj *parent;
int searchStatus;
int presentStatus;
+ int sortStatus;
int resultCount;
int nextResultSetPosition;
int start;
int nonSurrogateDiagnosticNum;
char *searchResponse;
char *presentResponse;
+ char *sortResponse;
IrTcl_Diagnostic *nonSurrogateDiagnosticList;
IrTcl_RecordList *record_list;
IrTcl_SetCObj set_inher;
+ int searchResult_num;
+ char **searchResult_terms;
+ int *searchResult_count;
} IrTcl_SetObj;
typedef struct IrTcl_ScanEntry_ {
int positionOfTerm;
int entries_flag;
+#if 0
int which;
+#endif
int num_entries;
int num_diagRecs;
int ir_tcl_get_grs (Tcl_Interp *interp, IrTcl_GRS_Record *grs_record,
int argc, char **argv);
+int ir_tcl_get_explain (Tcl_Interp *interp, Z_ExplainRecord *rec,
+ int argc, char **argv);
+
int ir_tcl_method (Tcl_Interp *interp, int argc, char **argv,
IrTcl_Methods *tab, int *ret);
int ir_tcl_get_set_int (int *val, Tcl_Interp *interp, int argc, char **argv);