X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=ir-tclp.h;h=0898d3a3383a019aff4a564e03a133a3a8bfaada;hb=000faad0bd6e38eeef017b0edaafc6917e57bd63;hp=21d9ae484f73c0d809887190de1223d863cfae21;hpb=06c9c5c547ac216c72d12b0d9b3539b9038d8a05;p=ir-tcl-moved-to-github.git diff --git a/ir-tclp.h b/ir-tclp.h index 21d9ae4..0898d3a 100644 --- a/ir-tclp.h +++ b/ir-tclp.h @@ -1,10 +1,42 @@ /* * IR toolkit for tcl/tk * (c) Index Data 1995 + * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * * $Log: ir-tclp.h,v $ - * Revision 1.3 1995-05-26 08:54:17 adam + * Revision 1.11 1995-06-20 08:07:35 adam + * New setting: failInfo. + * Working on better cancel mechanism. + * + * Revision 1.10 1995/06/16 12:28:20 adam + * Implemented preferredRecordSyntax. + * Minor changes in diagnostic handling. + * Record list deleted when connection closes. + * + * Revision 1.9 1995/06/14 15:08:01 adam + * Bug fix in cascade-target-list. Uses yaz-version.h. + * + * Revision 1.8 1995/06/14 13:37:18 adam + * Setting recordType implemented. + * Setting implementationVersion implemented. + * Settings implementationId / implementationName edited. + * + * Revision 1.7 1995/06/01 07:31:28 adam + * Rename of many typedefs -> IrTcl_... + * + * Revision 1.6 1995/05/31 08:36:40 adam + * Bug fix in client.tcl: didn't save options on clientrc.tcl. + * New method: referenceId. More work on scan. + * + * Revision 1.5 1995/05/29 08:44:25 adam + * Work on delete of objects. + * + * Revision 1.4 1995/05/26 11:44:10 adam + * Bugs fixed. More work on MARC utilities and queries. Test + * client is up-to-date again. + * + * Revision 1.3 1995/05/26 08:54:17 adam * New MARC utilities. Uses prefix query. * * Revision 1.2 1995/05/24 14:10:23 adam @@ -22,13 +54,11 @@ #include +#include #include #if CCL2RPN #include #endif -#if 0 -#include -#endif #include #include @@ -37,6 +67,7 @@ #include #endif +#include #include #include #include @@ -47,19 +78,23 @@ typedef struct { char **databaseNames; int num_databaseNames; - char *queryType; + enum oid_value *preferredRecordSyntax; int replaceIndicator; + char *referenceId; int smallSetUpperBound; int largeSetLowerBound; int mediumSetPresentNumber; -} IRSetCObj; +} IrTcl_SetCObj; typedef struct { + int ref_count; + char *cs_type; - char *protocol_type; + int protocol_type; int connectFlag; + int failInfo; COMSTACK cs_link; int preferredMessageSize; @@ -74,6 +109,7 @@ typedef struct { char *implementationName; char *implementationId; + char *implementationVersion; int initResult; char *targetImplementationName; char *targetImplementationId; @@ -100,47 +136,53 @@ typedef struct { CCL_bibset bibset; #endif - oident bib1; + struct IrTcl_SetObj_ *set_child; + struct IrTcl_ScanObj_ *scan_child; - struct IRSetObj_ *set_child; - struct IRScanObj_ *scan_child; + IrTcl_SetCObj set_inher; +} IrTcl_Obj; - IRSetCObj set_inher; -} IRObj; +typedef struct { + int condition; + char *addinfo; +} IrTcl_Diagnostic; -typedef struct IRRecordList_ { +typedef struct IrTcl_RecordList_ { int no; int which; union { struct { char *buf; size_t size; + enum oid_value type; } dbrec; struct { - int condition; - char *addinfo; - } diag; + int num; + IrTcl_Diagnostic *list; + } surrogateDiagnostics; } u; - struct IRRecordList_ *next; -} IRRecordList; + struct IrTcl_RecordList_ *next; +} IrTcl_RecordList; -typedef struct IRSetObj_ { - IRObj *parent; +typedef struct IrTcl_SetObj_ { + IrTcl_Obj *parent; int searchStatus; + int presentStatus; int resultCount; + int nextResultSetPosition; int start; int number; int numberOfRecordsReturned; char *setName; int recordFlag; int which; - int condition; - char *addinfo; - IRRecordList *record_list; - IRSetCObj set_inher; -} IRSetObj; + int nonSurrogateDiagnosticNum; + IrTcl_Diagnostic *nonSurrogateDiagnosticList; + IrTcl_RecordList *record_list; + IrTcl_SetCObj set_inher; +} IrTcl_SetObj; -typedef struct IRScanEntry_ { +typedef struct IrTcl_ScanEntry_ { int which; union { struct { @@ -148,18 +190,14 @@ typedef struct IRScanEntry_ { int globalOccurrences; } term; struct { - int condition; - char *addinfo; + IrTcl_Diagnostic *list; + int num; } diag; } u; -} IRScanEntry; - -typedef struct IRScanDiag_ { - int dummy; -} IRScanDiag; +} IrTcl_ScanEntry; -typedef struct IRScanObj_ { - IRObj *parent; +typedef struct IrTcl_ScanObj_ { + IrTcl_Obj *parent; int stepSize; int numberOfTermsRequested; int preferredPositionInResponse; @@ -174,9 +212,10 @@ typedef struct IRScanObj_ { int num_entries; int num_diagRecs; - IRScanEntry *entries; - IRScanDiag *nonSurrogateDiagnostics; -} IRScanObj; + IrTcl_ScanEntry *entries; + IrTcl_Diagnostic *nonSurrogateDiagnosticList; + int nonSurrogateDiagnosticNum; +} IrTcl_ScanObj; struct ir_named_entry { char *name; @@ -186,4 +225,10 @@ struct ir_named_entry { int ir_tcl_get_marc (Tcl_Interp *interp, const char *buf, int argc, char **argv); char *ir_tcl_fread_marc (FILE *inf, size_t *size); + +#define IR_TCL_FAIL_CONNECT 1 +#define IR_TCL_FAIL_READ 2 +#define IR_TCL_FAIL_WRITE 3 +#define IR_TCL_FAIL_IN_APDU 4 +#define IR_TCL_FAIL_UNKNOWN_APDU 5 #endif