X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=ir-tclp.h;h=8876c4c1111015c7a055ec94948a7e90abafbcf5;hb=aa30eee6a1b9d8b08982965c7235ba3b806e94b9;hp=1cfdcfeef85a7456ff4d317f3e2c5903777935bf;hpb=df5d5526e333bd83a4f656840e7bb57df4bd7f9d;p=ir-tcl-moved-to-github.git diff --git a/ir-tclp.h b/ir-tclp.h index 1cfdcfe..8876c4c 100644 --- a/ir-tclp.h +++ b/ir-tclp.h @@ -1,10 +1,31 @@ /* * 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.1 1995-05-23 15:34:49 adam + * 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 + * Work on idAuthentication, protocolVersion and options. + * + * Revision 1.1 1995/05/23 15:34:49 adam * Many new settings, userInformationField, smallSetUpperBound, etc. * A number of settings are inherited when ir-set is executed. * This version is incompatible with the graphical test client (client.tcl). @@ -16,8 +37,12 @@ #include +#include +#include +#if CCL2RPN #include -#include +#endif + #include #include @@ -38,13 +63,16 @@ typedef struct { char *queryType; 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 connectFlag; @@ -54,7 +82,12 @@ typedef struct { int maximumRecordSize; Odr_bitmask options; Odr_bitmask protocolVersion; - char *idAuthentication; + + char *idAuthenticationOpen; + char *idAuthenticationGroupId; + char *idAuthenticationUserId; + char *idAuthenticationPassword; + char *implementationName; char *implementationId; int initResult; @@ -79,34 +112,38 @@ typedef struct { char *callback; char *failback; +#if CCL2RPN CCL_bibset bibset; - oident bib1; +#endif - struct IRSetObj_ *set_child; - struct IRScanObj_ *scan_child; + struct IrTcl_SetObj_ *set_child; + struct IrTcl_ScanObj_ *scan_child; - IRSetCObj set_inher; -} IRObj; + IrTcl_SetCObj set_inher; +} IrTcl_Obj; -typedef struct IRRecordList_ { +typedef struct IrTcl_RecordList_ { int no; int which; union { struct { - Iso2709Rec rec; - } marc; + char *buf; + size_t size; + } dbrec; struct { int condition; char *addinfo; } diag; } 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; @@ -115,11 +152,11 @@ typedef struct IRSetObj_ { int which; int condition; char *addinfo; - IRRecordList *record_list; - IRSetCObj set_inher; -} IRSetObj; + IrTcl_RecordList *record_list; + IrTcl_SetCObj set_inher; +} IrTcl_SetObj; -typedef struct IRScanEntry_ { +typedef struct IrTcl_ScanEntry_ { int which; union { struct { @@ -131,14 +168,14 @@ typedef struct IRScanEntry_ { char *addinfo; } diag; } u; -} IRScanEntry; +} IrTcl_ScanEntry; -typedef struct IRScanDiag_ { +typedef struct IrTcl_ScanDiag_ { int dummy; -} IRScanDiag; +} IrTcl_ScanDiag; -typedef struct IRScanObj_ { - IRObj *parent; +typedef struct IrTcl_ScanObj_ { + IrTcl_Obj *parent; int stepSize; int numberOfTermsRequested; int preferredPositionInResponse; @@ -153,8 +190,16 @@ typedef struct IRScanObj_ { int num_entries; int num_diagRecs; - IRScanEntry *entries; - IRScanDiag *nonSurrogateDiagnostics; -} IRScanObj; + IrTcl_ScanEntry *entries; + IrTcl_ScanDiag *nonSurrogateDiagnostics; +} IrTcl_ScanObj; + +struct ir_named_entry { + char *name; + int pos; +}; +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); #endif