From cf784482d7256a192c0b4f95e4746ed12efb3bab Mon Sep 17 00:00:00 2001 From: ian Date: Tue, 14 Mar 2000 09:22:15 +0000 Subject: [PATCH] Added asn & encoders/decoders for Admin Extended Service --- z39.50/Makefile.am | 9 ++-- z39.50/Makefile.in | 18 ++++---- z39.50/z.tcl | 10 ++++- z39.50/zes-admin.c | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 141 insertions(+), 11 deletions(-) create mode 100644 z39.50/zes-admin.c diff --git a/z39.50/Makefile.am b/z39.50/Makefile.am index 589e69c..5c7bb5e 100644 --- a/z39.50/Makefile.am +++ b/z39.50/Makefile.am @@ -1,16 +1,16 @@ -## $Id: Makefile.am,v 1.2 2000-03-02 08:48:21 adam Exp $ +## $Id: Makefile.am,v 1.3 2000-03-14 09:22:15 ian Exp $ INCLUDES=-I../include noinst_LIBRARIES = libasn.a -EXTRA_DIST=datetime.asn esupdate.asn univres.asn z3950v3.asn z.tcl +EXTRA_DIST=datetime.asn esupdate.asn univres.asn z3950v3.asn z.tcl esadmin.asn libasn_a_SOURCES = z-accdes1.c z-accform1.c z-acckrb1.c z-core.c \ z-diag1.c z-espec1.c z-estask.c z-exp.c z-grs.c z-opac.c z-uifr1.c \ z-rrf1.c z-rrf2.c z-sum.c z-sutrs.c \ zes-expi.c zes-exps.c zes-order.c zes-pquery.c zes-psched.c \ - zes-pset.c zes-update0.c z-date.c z-univ.c zes-update.c + zes-pset.c zes-update0.c z-date.c z-univ.c zes-update.c zes-admin.c z-accdes1.c z-accform1.c z-acckrb1.c z-core.c \ z-diag1.c z-espec1.c z-estask.c z-exp.c z-grs.c z-opac.c z-uifr1.c \ @@ -28,3 +28,6 @@ z-univ.c ../include/yaz/z-univ.h: z.tcl univres.asn ../util/yaz-comp zes-update.c ../include/yaz/zes-update.h: z.tcl esupdate.asn ../util/yaz-comp ../util/yaz-comp -d z.tcl -i yaz -I ../include $(YCFLAGS) esupdate.asn + +zes-admin.c ../include/yaz/zes-admin.h: z.tcl esadmin.asn ../util/yaz-comp + ../util/yaz-comp -d z.tcl -i yaz -I ../include $(YCFLAGS) esadmin.asn diff --git a/z39.50/Makefile.in b/z39.50/Makefile.in index 85f7c3d..6dcac8a 100644 --- a/z39.50/Makefile.in +++ b/z39.50/Makefile.in @@ -72,9 +72,9 @@ INCLUDES = -I../include noinst_LIBRARIES = libasn.a -EXTRA_DIST = datetime.asn esupdate.asn univres.asn z3950v3.asn z.tcl +EXTRA_DIST = datetime.asn esupdate.asn univres.asn z3950v3.asn z.tcl esadmin.asn -libasn_a_SOURCES = z-accdes1.c z-accform1.c z-acckrb1.c z-core.c z-diag1.c z-espec1.c z-estask.c z-exp.c z-grs.c z-opac.c z-uifr1.c z-rrf1.c z-rrf2.c z-sum.c z-sutrs.c zes-expi.c zes-exps.c zes-order.c zes-pquery.c zes-psched.c zes-pset.c zes-update0.c z-date.c z-univ.c zes-update.c +libasn_a_SOURCES = z-accdes1.c z-accform1.c z-acckrb1.c z-core.c z-diag1.c z-espec1.c z-estask.c z-exp.c z-grs.c z-opac.c z-uifr1.c z-rrf1.c z-rrf2.c z-sum.c z-sutrs.c zes-expi.c zes-exps.c zes-order.c zes-pquery.c zes-psched.c zes-pset.c zes-update0.c z-date.c z-univ.c zes-update.c zes-admin.c mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = @@ -90,7 +90,7 @@ libasn_a_OBJECTS = z-accdes1.o z-accform1.o z-acckrb1.o z-core.o \ z-diag1.o z-espec1.o z-estask.o z-exp.o z-grs.o z-opac.o z-uifr1.o \ z-rrf1.o z-rrf2.o z-sum.o z-sutrs.o zes-expi.o zes-exps.o zes-order.o \ zes-pquery.o zes-psched.o zes-pset.o zes-update0.o z-date.o z-univ.o \ -zes-update.o +zes-update.o zes-admin.o AR = ar CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -107,9 +107,10 @@ DEP_FILES = .deps/z-accdes1.P .deps/z-accform1.P .deps/z-acckrb1.P \ .deps/z-core.P .deps/z-date.P .deps/z-diag1.P .deps/z-espec1.P \ .deps/z-estask.P .deps/z-exp.P .deps/z-grs.P .deps/z-opac.P \ .deps/z-rrf1.P .deps/z-rrf2.P .deps/z-sum.P .deps/z-sutrs.P \ -.deps/z-uifr1.P .deps/z-univ.P .deps/zes-expi.P .deps/zes-exps.P \ -.deps/zes-order.P .deps/zes-pquery.P .deps/zes-psched.P \ -.deps/zes-pset.P .deps/zes-update.P .deps/zes-update0.P +.deps/z-uifr1.P .deps/z-univ.P .deps/zes-admin.P .deps/zes-expi.P \ +.deps/zes-exps.P .deps/zes-order.P .deps/zes-pquery.P \ +.deps/zes-psched.P .deps/zes-pset.P .deps/zes-update.P \ +.deps/zes-update0.P SOURCES = $(libasn_a_SOURCES) OBJECTS = $(libasn_a_OBJECTS) @@ -196,7 +197,7 @@ distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ @@ -325,6 +326,9 @@ z-univ.c ../include/yaz/z-univ.h: z.tcl univres.asn ../util/yaz-comp zes-update.c ../include/yaz/zes-update.h: z.tcl esupdate.asn ../util/yaz-comp ../util/yaz-comp -d z.tcl -i yaz -I ../include $(YCFLAGS) esupdate.asn +zes-admin.c ../include/yaz/zes-admin.h: z.tcl esadmin.asn ../util/yaz-comp + ../util/yaz-comp -d z.tcl -i yaz -I ../include $(YCFLAGS) esadmin.asn + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/z39.50/z.tcl b/z39.50/z.tcl index 9342d65..48b4038 100644 --- a/z39.50/z.tcl +++ b/z39.50/z.tcl @@ -1,5 +1,5 @@ # YC Sample Config File for Z39.50 -# $Id: z.tcl,v 1.2 1999-12-16 23:36:19 adam Exp $ +# $Id: z.tcl,v 1.3 2000-03-14 09:22:15 ian Exp $ # ---------------------------------------------------------- # Prefix Specifications # @@ -320,6 +320,14 @@ set unionmap($m,DateFlags,era) {} # ---- set m ResourceReport-Format-Universe-1 set filename($m) z-univ +# ---- +set m ESFormat-Admin +set filename($m) zes-admin +set map($m,EsRequest) ESAdminRequest +set map($m,TaskPackage) ESAdminTaskPackage +set map($m,OriginPartToKeep) ESAdminOriginPartToKeep +set map($m,OriginPartNotToKeep) ESAdminOriginPartNotToKeep +set map($m,TargetPart) ESAdminTargetPart # ---------------------------------------------------------- # "Constructed" types defined by means of C-types are declared here. diff --git a/z39.50/zes-admin.c b/z39.50/zes-admin.c new file mode 100644 index 0000000..0f177fe --- /dev/null +++ b/z39.50/zes-admin.c @@ -0,0 +1,115 @@ +/* Generated automatically by the YAZ ASN.1 Compiler 0.3 */ +/* Module-C: ESFormat-Admin */ + +#include + +int z_AdminEsRequest (ODR o, Z_AdminEsRequest **p, int opt, const char *name) +{ + if (!odr_sequence_begin (o, p, sizeof(**p), name)) + return opt && odr_ok (o); + return + odr_explicit_tag (o, z_ESAdminOriginPartToKeep, + &(*p)->toKeep, ODR_CONTEXT, 1, 0, "toKeep") && + odr_explicit_tag (o, z_ESAdminOriginPartNotToKeep, + &(*p)->notToKeep, ODR_CONTEXT, 2, 0, "notToKeep") && + odr_sequence_end (o); +} + +int z_AdminTaskPackage (ODR o, Z_AdminTaskPackage **p, int opt, const char *name) +{ + if (!odr_sequence_begin (o, p, sizeof(**p), name)) + return opt && odr_ok (o); + return + odr_explicit_tag (o, z_ESAdminOriginPartToKeep, + &(*p)->originPart, ODR_CONTEXT, 1, 0, "originPart") && + odr_explicit_tag (o, z_ESAdminTargetPart, + &(*p)->targetPart, ODR_CONTEXT, 2, 0, "targetPart") && + odr_sequence_end (o); +} + +int z_Admin (ODR o, Z_Admin **p, int opt, const char *name) +{ + static Odr_arm arm[] = { + {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Admin_esRequest, + (Odr_fun) z_AdminEsRequest, "esRequest"}, + {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Admin_taskPackage, + (Odr_fun) z_AdminTaskPackage, "taskPackage"}, + {-1, -1, -1, -1, (Odr_fun) 0, 0} + }; + if (!odr_initmember(o, p, sizeof(**p))) + return opt && odr_ok(o); + if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) + return 1; + *p = 0; + return opt && odr_ok(o); +} + +int z_ESAdminOriginPartToKeep (ODR o, Z_ESAdminOriginPartToKeep **p, int opt, const char *name) +{ + static Odr_arm arm[] = { + {ODR_EXPLICIT, ODR_CONTEXT, 1, Z_ESAdminOriginPartToKeep_reIndex, + (Odr_fun) odr_null, "reIndex"}, + {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_ESAdminOriginPartToKeep_truncate, + (Odr_fun) odr_null, "truncate"}, + {ODR_EXPLICIT, ODR_CONTEXT, 3, Z_ESAdminOriginPartToKeep_delete, + (Odr_fun) odr_null, "delete"}, + {ODR_EXPLICIT, ODR_CONTEXT, 4, Z_ESAdminOriginPartToKeep_create, + (Odr_fun) odr_null, "create"}, + {ODR_EXPLICIT, ODR_CONTEXT, 5, Z_ESAdminOriginPartToKeep_import, + (Odr_fun) z_ImportParameters, "import"}, + {ODR_EXPLICIT, ODR_CONTEXT, 6, Z_ESAdminOriginPartToKeep_refresh, + (Odr_fun) odr_null, "refresh"}, + {ODR_EXPLICIT, ODR_CONTEXT, 7, Z_ESAdminOriginPartToKeep_commit, + (Odr_fun) odr_null, "commit"}, + {-1, -1, -1, -1, (Odr_fun) 0, 0} + }; + if (!odr_sequence_begin (o, p, sizeof(**p), name)) + return opt && odr_ok (o); + return + odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "action") && + odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) && + odr_constructed_end (o) && + odr_implicit_tag (o, z_InternationalString, + &(*p)->databaseName, ODR_CONTEXT, 2, 1, "databaseName") && + odr_sequence_end (o); +} + +int z_ESAdminOriginPartNotToKeep (ODR o, Z_ESAdminOriginPartNotToKeep **p, int opt, const char *name) +{ + static Odr_arm arm[] = { + {ODR_EXPLICIT, ODR_CONTEXT, 1, Z_ESAdminOriginPartNotToKeep_records, + (Odr_fun) z_Segment, "records"}, + {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_ESAdminOriginPartNotToKeep_recordsWillFollow, + (Odr_fun) odr_null, "recordsWillFollow"}, + {-1, -1, -1, -1, (Odr_fun) 0, 0} + }; + if (!odr_initmember(o, p, sizeof(**p))) + return opt && odr_ok(o); + if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) + return 1; + *p = 0; + return opt && odr_ok(o); +} + +int z_ESAdminTargetPart (ODR o, Z_ESAdminTargetPart **p, int opt, const char *name) +{ + if (!odr_sequence_begin (o, p, sizeof(**p), name)) + return opt && odr_ok (o); + return + odr_implicit_tag (o, odr_integer, + &(*p)->updateStatus, ODR_CONTEXT, 1, 0, "updateStatus") && + odr_implicit_settag (o, ODR_CONTEXT, 2) && + (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->globalDiagnostics, + &(*p)->num_globalDiagnostics, "globalDiagnostics") || odr_ok(o)) && + odr_sequence_end (o); +} + +int z_ImportParameters (ODR o, Z_ImportParameters **p, int opt, const char *name) +{ + if (!odr_sequence_begin (o, p, sizeof(**p), name)) + return opt && odr_ok (o); + return + odr_implicit_tag (o, z_InternationalString, + &(*p)->recordType, ODR_CONTEXT, 1, 0, "recordType") && + odr_sequence_end (o); +} -- 1.7.10.4