From: Adam Dickmeiss Date: Thu, 4 Jan 1996 11:05:20 +0000 (+0000) Subject: New setting: PDUType - returns type of last PDU returned from the target. X-Git-Tag: IRTCL.1.4~179 X-Git-Url: http://lists.indexdata.com/cgi-bin?a=commitdiff_plain;h=ce0d0464e54cf6bed96cd32b7a99514beacd3989;p=ir-tcl-moved-to-github.git New setting: PDUType - returns type of last PDU returned from the target. Fixed a bug in configure/Makefile. --- diff --git a/CHANGELOG b/CHANGELOG index 74c7308..0132941 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,4 @@ -$Id: CHANGELOG,v 1.7 1995-11-13 09:55:34 adam Exp $ +$Id: CHANGELOG,v 1.8 1996-01-04 11:05:20 adam Exp $ 06/19/95 Release of ir-tcl-1.0b ------------------------------------------------------ @@ -55,3 +55,5 @@ $Id: CHANGELOG,v 1.7 1995-11-13 09:55:34 adam Exp $ 11/12/95:New setting: recordElements. This is used to get a record at a position with a given element specification. + +04/01/96:New setting: PDUType. Returns type of last PDU returned. diff --git a/Makefile.in b/Makefile.in index e31d21d..b84b1c8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -2,7 +2,7 @@ # (c) Index Data 1995 # See the file LICENSE for details. # Sebastian Hammer, Adam Dickmeiss -# $Id: Makefile.in,v 1.21 1995-12-22 09:10:03 adam Exp $ +# $Id: Makefile.in,v 1.22 1996-01-04 11:05:20 adam Exp $ SHELL=/bin/sh # IrTcl Version @@ -21,7 +21,6 @@ INCDIR=$(prefix)/include IRTCLDIR=$(prefix)/lib/irtcl YAZDIR=@YAZDIR@ -MOSIDIR=@MOSIDIR@ LIBS=@LIBS@ -lm CC=@CC@ @@ -35,17 +34,20 @@ TCLLIB=@TCLLIB@ TKLIB=@TKLIB@ TCLINCLUDE=@TCLINCLUDE@ -# MOSI directory with libmosi.a and source +# MOSI settings, directory with libmosi.a and source +MOSI=@MOSI@ +MOSIDIR=@MOSIDIR@ MOSILIB=@MOSILIB@ +MOSIINC=@MOSIINC@ # All YAZ libraries - including MOSI libraries. YAZLIB=$(YAZDIR)/lib/libyaz.a $(MOSILIB) # All include paths -INCLUDE=-I$(YAZDIR)/include $(XINCLUDE) $(TCLINCLUDE) +INCLUDE=-I$(YAZDIR)/include $(XINCLUDE) $(TCLINCLUDE) $(MOSIINC) # All command line options except CFLAGS -DEFS=-DCCL2RPN=0 @DEFS@ -DMOSI=@MOSI@ -DIRTCLDIR=\"$(IRTCLDIR)\" \ +DEFS=-DCCL2RPN=0 @DEFS@ -DMOSI=$(MOSI) -DIRTCLDIR=\"$(IRTCLDIR)\" \ $(INCLUDE) -DIR_TCL_VERSION=\"$(VERSION)\" INSTALL = @INSTALL@ diff --git a/configure.in b/configure.in index 5cfb867..270173b 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl IR toolkit for tcl/tk dnl (c) Index Data 1995 dnl See the file LICENSE for details. -dnl $Id: configure.in,v 1.11 1995-12-22 09:10:05 adam Exp $ +dnl $Id: configure.in,v 1.12 1996-01-04 11:05:21 adam Exp $ AC_INIT(ir-tcl.h) CC=${CC-cc} AC_SUBST(CC) @@ -38,8 +38,9 @@ for i in .a 4.0.a 4.1.a; do done AC_SUBST(YAZDIR) AC_SUBST(MOSI) -AC_SUBST(MOSILIB) AC_SUBST(MOSIDIR) +AC_SUBST(MOSILIB) +AC_SUBST(MOSIINC) AC_MSG_CHECKING(for YAZ directory) AC_ARG_WITH(yazdir,[ --with-yazdir Yaz directory], [YAZDIR=$withval]) if test "$YAZDIR" = "yes"; then @@ -67,11 +68,13 @@ if test -r ${YAZDIR}/lib/librfc.a; then MOSI=1 MOSIDIR=$MOSIDIR MOSILIB='$(MOSIDIR)/libmosi.a $(YAZDIR)/lib/librfc.a' + MOSIINC='-I$(MOSIDIR)' MOSITELL=yes else MOSI=0 MOSIDIR=$MOSIDIR MOSILIB='# $(MOSIDIR)/libmosi.a $(YAZDIR)/lib/librfc.a' + MOSIINC='# -I$(MOSIDIR)' MOSITELL=no fi AC_MSG_RESULT($MOSITELL) diff --git a/ir-tcl.c b/ir-tcl.c index 6a0999a..7383948 100644 --- a/ir-tcl.c +++ b/ir-tcl.c @@ -5,7 +5,11 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: ir-tcl.c,v $ - * Revision 1.67 1996-01-03 09:00:51 adam + * Revision 1.68 1996-01-04 11:05:22 adam + * New setting: PDUType - returns type of last PDU returned from the target. + * Fixed a bug in configure/Makefile. + * + * Revision 1.67 1996/01/03 09:00:51 adam * Updated to use new version of Yaz (names changed to avoid C++ conflict). * * Revision 1.66 1995/11/28 17:26:39 adam @@ -993,6 +997,7 @@ static int do_connect (void *obj, Tcl_Interp *interp, do_disconnect (p, NULL, 2, NULL); return TCL_ERROR; } + p->pduType = "connect"; ir_select_add (cs_fileno (p->cs_link), p); if (r == 1) { @@ -1022,6 +1027,7 @@ static int do_disconnect (void *obj, Tcl_Interp *interp, if (argc == 0) { p->state = IR_TCL_R_Idle; + p->pduType = NULL; p->hostname = NULL; p->cs_link = NULL; return TCL_OK; @@ -1096,10 +1102,28 @@ static int do_logLevel (void *o, Tcl_Interp *interp, /* + * do_pduType: Return type of last PDU received + */ +static int do_pduType (void *obj, Tcl_Interp *interp, + int argc, char **argv) +{ + IrTcl_Obj *p = obj; + + if (argc <= 0) + { + p->pduType = NULL; + return TCL_OK; + } + Tcl_AppendElement (interp, p->pduType ? p->pduType : ""); + return TCL_OK; +} + + +/* * do_callback: add callback */ static int do_callback (void *obj, Tcl_Interp *interp, - int argc, char **argv) + int argc, char **argv) { IrTcl_Obj *p = obj; @@ -1500,7 +1524,6 @@ static int do_mediumSetElementSetNames (void *obj, Tcl_Interp *interp, return TCL_OK; } - static IrTcl_Method ir_method_tab[] = { { 1, "comstack", do_comstack }, { 1, "protocol", do_protocol }, @@ -1508,6 +1531,7 @@ static IrTcl_Method ir_method_tab[] = { { 0, "failInfo", do_failInfo }, { 0, "logLevel", do_logLevel }, +{ 0, "PDUType", do_pduType }, { 1, "connect", do_connect }, { 0, "protocolVersion", do_protocolVersion }, { 1, "preferredMessageSize", do_preferredMessageSize }, @@ -3213,17 +3237,21 @@ void ir_select_read (ClientData clientData) switch(apdu->which) { case Z_APDU_initResponse: + p->pduType = "init"; ir_initResponse (p, apdu->u.initResponse); break; case Z_APDU_searchResponse: + p->pduType = "search"; ir_searchResponse (p, apdu->u.searchResponse, (IrTcl_SetObj *) cmd_info.clientData); break; case Z_APDU_presentResponse: + p->pduType = "present"; ir_presentResponse (p, apdu->u.presentResponse, (IrTcl_SetObj *) cmd_info.clientData); break; case Z_APDU_scanResponse: + p->pduType = "scan"; ir_scanResponse (p, apdu->u.scanResponse, (IrTcl_ScanObj *) cmd_info.clientData); break; diff --git a/ir-tclp.h b/ir-tclp.h index 436747d..93edf18 100644 --- a/ir-tclp.h +++ b/ir-tclp.h @@ -5,7 +5,11 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: ir-tclp.h,v $ - * Revision 1.19 1995-11-13 09:55:46 adam + * 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. * @@ -150,6 +154,7 @@ typedef struct { char *userInformationField; char *hostname; + char *pduType; char *buf_in; int len_in;