* Sebastian Hammer, Adam Dickmeiss
*
* $Log: ir-tclp.h,v $
- * Revision 1.14 1995-08-04 11:32:40 adam
+ * Revision 1.25 1996-02-05 17:58:04 adam
+ * Ported ir-tcl to use the beta releases of tcl7.5/tk4.1.
+ *
+ * Revision 1.24 1996/01/29 11:35:27 adam
+ * Bug fix: cs_type member renamed to comstackType to avoid conflict with
+ * cs_type macro defined by YAZ.
+ *
+ * Revision 1.23 1996/01/19 16:22:40 adam
+ * New method: apduDump - returns information about last incoming APDU.
+ *
+ * Revision 1.22 1996/01/10 09:18:44 adam
+ * PDU specific callbacks implemented: initRespnse, searchResponse,
+ * presentResponse and scanResponse.
+ * Bug fix in the command line shell (tclmain.c) - discovered on OSF/1.
+ *
+ * Revision 1.21 1996/01/04 16:12:14 adam
+ * Setting PDUType renamed to eventType.
+ *
+ * Revision 1.20 1996/01/04 11:05:23 adam
+ * New setting: PDUType - returns type of last PDU returned from the target.
+ * Fixed a bug in configure/Makefile.
+ *
+ * Revision 1.19 1995/11/13 09:55:46 adam
+ * Multiple records at a position in a result-set with differnt
+ * element specs.
+ *
+ * Revision 1.18 1995/10/18 16:42:44 adam
+ * New settings: smallSetElementSetNames and mediumSetElementSetNames.
+ *
+ * Revision 1.17 1995/10/16 17:00:56 adam
+ * New setting: elementSetNames.
+ * Various client improvements. Medium presentation format looks better.
+ *
+ * Revision 1.16 1995/09/20 11:37:01 adam
+ * Configure searches for tk4.1 and tk7.5.
+ * Work on GRS.
+ *
+ * Revision 1.15 1995/08/29 15:30:15 adam
+ * Work on GRS records.
+ *
+ * Revision 1.14 1995/08/04 11:32:40 adam
* More work on output queue. Memory related routines moved
* to mem.c
*
int replaceIndicator;
char *referenceId;
+ char *elementSetNames;
+ char *smallSetElementSetNames;
+ char *mediumSetElementSetNames;
+
int smallSetUpperBound;
int largeSetLowerBound;
int mediumSetPresentNumber;
typedef struct {
int ref_count;
- char *cs_type;
+ char *comstackType;
int protocol_type;
int failInfo;
COMSTACK cs_link;
+#if IRTCL_GENERIC_FILES
+ Tcl_File csFile;
+#endif
int state;
char *userInformationField;
char *hostname;
+ char *eventType;
char *buf_in;
int len_in;
Tcl_Interp *interp;
char *callback;
char *failback;
+ char *initResponse;
+
+ int apduLen;
+ int apduOffset;
#if CCL2RPN
CCL_bibset bibset;
char *addinfo;
} IrTcl_Diagnostic;
+struct GRS_Record_entry {
+ int tagType;
+ int tagWhich;
+ union {
+ int num;
+ char *str;
+ } tagVal;
+ int dataWhich;
+ union {
+ struct IrTcl_GRS_Record_ *sub;
+ char *str;
+ struct {
+ int len;
+ char *buf;
+ } octets;
+ int num;
+ int bool;
+ } tagData;
+};
+
+typedef struct IrTcl_GRS_Record_ {
+ int noTags;
+ struct GRS_Record_entry *entries;
+} IrTcl_GRS_Record;
+
typedef struct IrTcl_RecordList_ {
int no;
+ char *elements;
int which;
union {
struct {
char *buf;
size_t size;
+ union {
+ IrTcl_GRS_Record *grs1;
+ } u;
enum oid_value type;
} dbrec;
struct {
int number;
int numberOfRecordsReturned;
char *setName;
+ char *recordElements;
int recordFlag;
int which;
int nonSurrogateDiagnosticNum;
+ char *searchResponse;
+ char *presentResponse;
IrTcl_Diagnostic *nonSurrogateDiagnosticList;
IrTcl_RecordList *record_list;
IrTcl_SetCObj set_inher;
int num_entries;
int num_diagRecs;
+ char *scanResponse;
IrTcl_ScanEntry *entries;
IrTcl_Diagnostic *nonSurrogateDiagnosticList;
int nonSurrogateDiagnosticNum;
int ir_tcl_strdel (Tcl_Interp *interp, char **p);
char *ir_tcl_fread_marc (FILE *inf, size_t *size);
+void ir_tcl_read_grs (Z_GenericRecord *r, IrTcl_GRS_Record **grs_record);
+int ir_tcl_get_grs (Tcl_Interp *interp, IrTcl_GRS_Record *grs_record,
+ int argc, char **argv);
#define IR_TCL_FAIL_CONNECT 1
#define IR_TCL_FAIL_READ 2