X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=ir-tclp.h;h=17e1c89867cec5a3e9324f33bd9e9f49a3e3d874;hb=bbf493d419191bb2650c061f5f00a39f42cc272f;hp=5cda7ffebfb5d2d55c7bb0d786f636518b14b878;hpb=fdc81f8a51fab1968b43efabab47d367e33ead32;p=ir-tcl-moved-to-github.git diff --git a/ir-tclp.h b/ir-tclp.h index 5cda7ff..17e1c89 100644 --- a/ir-tclp.h +++ b/ir-tclp.h @@ -5,7 +5,27 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: ir-tclp.h,v $ - * Revision 1.28 1996-02-23 17:31:41 adam + * 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. + * If failback is defined the send APDU methods (init, search, ...) will + * return OK but invoke failback (as is the case if the write operation + * fails). + * Bug fix: ref_count in assoc object could grow if fraction of PDU was + * read. + * + * Revision 1.30 1996/02/29 15:30:23 adam + * Export of IrTcl functionality to extensions. + * + * Revision 1.29 1996/02/26 18:38:33 adam + * Work on export of set methods. + * + * Revision 1.28 1996/02/23 17:31:41 adam * More functions made available to the wais tcl extension. * * Revision 1.27 1996/02/23 13:41:41 adam @@ -170,10 +190,7 @@ typedef struct { int protocol_type; int failInfo; COMSTACK cs_link; -#if IRTCL_GENERIC_FILES - Tcl_File csFile; -#endif - + int state; int preferredMessageSize; @@ -354,23 +371,27 @@ int ir_tcl_strdup (Tcl_Interp *interp, char** p, const char *s); 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); +void ir_tcl_grs_mk (Z_GenericRecord *r, IrTcl_GRS_Record **grs_record); +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_method (Tcl_Interp *interp, int argc, char **argv, - IrTcl_Methods *tab); + IrTcl_Methods *tab, int *ret); +int ir_tcl_get_set_int (int *val, Tcl_Interp *interp, int argc, char **argv); typedef struct { const char *name; int (*ir_init) (ClientData clientData, Tcl_Interp *interp, - int argc, char **argv, ClientData *subData); + int argc, char **argv, ClientData *subData, + ClientData parentData); int (*ir_method) (ClientData clientData, Tcl_Interp *interp, int argc, char **argv); void (*ir_delete)(ClientData clientData); } IrTcl_Class; extern IrTcl_Class ir_obj_class; +extern IrTcl_Class ir_set_obj_class; void ir_select_add (int fd, void *obj); void ir_select_add_write (int fd, void *obj); @@ -378,6 +399,7 @@ void ir_select_remove (int fd, void *obj); void ir_select_remove_write (int fd, void *obj); int ir_tcl_eval (Tcl_Interp *interp, const char *command); +void ir_tcl_disconnect (IrTcl_Obj *p); #define IR_TCL_FAIL_CONNECT 1 #define IR_TCL_FAIL_READ 2