X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=ir-tclp.h;h=71870420417511ce3858594aa18918a5289cc3af;hb=75f125f3b9daba217659710c68582a4da91d65c3;hp=f41717f64a3a6c23db69e24fff3bf4109aa49e5c;hpb=534e39b7986d6cbbfac1c99bcca97d8d1fb5e990;p=ir-tcl-moved-to-github.git diff --git a/ir-tclp.h b/ir-tclp.h index f41717f..7187042 100644 --- a/ir-tclp.h +++ b/ir-tclp.h @@ -1,11 +1,39 @@ /* * 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. @@ -130,24 +158,25 @@ #include -#include -#include +#include +#include #if CCL2RPN -#include +#include #endif -#include -#include +#include +#include #if MOSI -#include +#include #endif -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include "ir-tcl.h" @@ -186,10 +215,7 @@ typedef struct { int protocol_type; int failInfo; COMSTACK cs_link; -#if IRTCL_GENERIC_FILES - Tcl_File csFile; -#endif - + int state; int preferredMessageSize; @@ -234,6 +260,7 @@ typedef struct { struct IrTcl_Request_ *request_queue; IrTcl_SetCObj set_inher; + } IrTcl_Obj; typedef struct IrTcl_Request_ { @@ -264,11 +291,12 @@ struct GRS_Record_entry { struct IrTcl_GRS_Record_ *sub; char *str; struct { - int len; + size_t len; char *buf; } octets; int num; int bool; + Odr_oid *oid; } tagData; }; @@ -288,7 +316,10 @@ typedef struct IrTcl_RecordList_ { union { IrTcl_GRS_Record *grs1; } u; + int type; +#if 0 enum oid_value type; +#endif } dbrec; struct { int num; @@ -302,6 +333,7 @@ typedef struct IrTcl_SetObj_ { IrTcl_Obj *parent; int searchStatus; int presentStatus; + int sortStatus; int resultCount; int nextResultSetPosition; int start; @@ -314,9 +346,13 @@ typedef struct IrTcl_SetObj_ { 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_ { @@ -344,7 +380,9 @@ typedef struct IrTcl_ScanObj_ { int positionOfTerm; int entries_flag; +#if 0 int which; +#endif int num_entries; int num_diagRecs; @@ -375,6 +413,9 @@ void ir_tcl_grs_del (IrTcl_GRS_Record **grs_record); 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);