From 8d363b42a1805306b5df26aac694a4491d5c9119 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Tue, 8 Jun 1999 13:11:55 +0000 Subject: [PATCH] Fixed problem with proto.h. --- Makefile.in | 16 +- asn/Makefile.in | 4 +- configure | 95 ++-- configure.in | 9 +- include/proto.h | 1344 --------------------------------------------------- include/prt-proto.h | 1169 ++++++++++++++++++++++++++++++++++++++++++++ include/z-proto.h | 115 +++++ z39.50/Makefile.in | 10 +- zutil/Makefile.in | 5 +- 9 files changed, 1355 insertions(+), 1412 deletions(-) delete mode 100644 include/proto.h create mode 100644 include/prt-proto.h create mode 100644 include/z-proto.h diff --git a/Makefile.in b/Makefile.in index 965778e..f191b33 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ # Copyright (C) 1995-1999, Index Data # All rights reserved. # Sebastian Hammer, Adam Dickmeiss -# $Id: Makefile.in,v 1.10 1999-06-08 10:16:17 adam Exp $ +# $Id: Makefile.in,v 1.11 1999-06-08 13:11:55 adam Exp $ # Uncomment the lines below to enable mOSI communcation. #CDEFS=-DUSE_XTIMOSI @@ -22,7 +22,7 @@ CC=@CC@ CPP=@CPP@ SHELL=/bin/sh MAKE=make -SUBDIR=util odr $(MOD) zutil $(RFC1006) ccl comstack retrieval client server ztest lib +SUBDIR=util odr $(MOD) zutil $(RFC1006) ccl comstack client server ztest retrieval lib # Add external libraries to the LIBS macro LIBS=@LIBS@ @@ -41,17 +41,17 @@ INCDIR=$(prefix)/include YAZDIR=$(prefix)/lib/yaz all: - for i in $(SUBDIR); do (cd $$i; $(MAKE) CC="$(CC)" \ + for i in $(SUBDIR); do cd $$i; if $(MAKE) CC="$(CC)" \ RANLIB="$(RANLIB)" LIBS="$(LIBS)" \ INCLUDE="$(INCLUDE)" CFLAGS="$(CFLAGS)" \ CDEFS="$(CDEFS)" \ - LIBMOSI="$(LIBMOSI)" XMOSI="$(XMOSI)");\ - done + LIBMOSI="$(LIBMOSI)" XMOSI="$(XMOSI)";\ + then cd ..; else exit 1; fi; done dep depend: - for i in $(SUBDIR); do (cd $$i; $(MAKE) CPP="$(CPP)" \ - INCLUDE="$(INCLUDE)" CDEFS="$(CDEFS)" depend);\ - done + for i in $(SUBDIR); do cd $$i; if $(MAKE) CPP="$(CPP)" \ + INCLUDE="$(INCLUDE)" CDEFS="$(CDEFS)" depend; \ + then cd ..; else exit 1; fi; done clean: for i in $(SUBDIR); do (cd $$i; $(MAKE) clean); done diff --git a/asn/Makefile.in b/asn/Makefile.in index 61baa3e..deeae0d 100644 --- a/asn/Makefile.in +++ b/asn/Makefile.in @@ -1,7 +1,7 @@ # Copyright (C) 1995-1999, Index Data # All rights reserved. # Sebastian Hammer, Adam Dickmeiss -# $Id: Makefile.in,v 1.4 1999-06-08 10:10:16 adam Exp $ +# $Id: Makefile.in,v 1.5 1999-06-08 13:11:55 adam Exp $ SHELL=/bin/sh @@ -11,7 +11,7 @@ RANLIB=@RANLIB@ CDEFS=@DEFS@ LIBS=@LIBS@ -INCLUDE=-I../include -I. +INCLUDE=-I. -I../include LIBDIR=../lib LIBINCLUDE=-L$(LIBDIR) diff --git a/configure b/configure index 1b0bc14..f89c327 100755 --- a/configure +++ b/configure @@ -949,20 +949,21 @@ else YCDIR="" fi - if test "$YCDIR" = "yes"; then - ASNMODULE=z39.50 + ASNMODULE="z39.50" + cp -f include/z-proto.h include/proto.h else ASNMODULE=asn + cp -f include/prt-proto.h include/proto.h fi checkBoth=0 echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:961: checking for connect" >&5 +echo "configure:962: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -1006,7 +1007,7 @@ fi if test "$ac_cv_func_connect" = "no"; then echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6 -echo "configure:1010: checking for main in -lsocket" >&5 +echo "configure:1011: checking for main in -lsocket" >&5 ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1014,14 +1015,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1047,12 +1048,12 @@ if test "$checkBoth" = "1"; then oldLibs=$LIBS LIBS="$LIBS -lsocket -lnsl" echo $ac_n "checking for accept""... $ac_c" 1>&6 -echo "configure:1051: checking for accept" >&5 +echo "configure:1052: checking for accept" >&5 if eval "test \"`echo '$''{'ac_cv_func_accept'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_accept=yes" else @@ -1097,12 +1098,12 @@ fi fi echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:1101: checking for gethostbyname" >&5 +echo "configure:1102: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -1143,7 +1144,7 @@ if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6 -echo "configure:1147: checking for main in -lnsl" >&5 +echo "configure:1148: checking for main in -lnsl" >&5 ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1151,14 +1152,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1181,7 +1182,7 @@ fi fi echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6 -echo "configure:1185: checking for readline in -lreadline" >&5 +echo "configure:1186: checking for readline in -lreadline" >&5 ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1189,7 +1190,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lreadline $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1221,7 +1222,7 @@ else fi echo $ac_n "checking for add_history in -lhistory""... $ac_c" 1>&6 -echo "configure:1225: checking for add_history in -lhistory" >&5 +echo "configure:1226: checking for add_history in -lhistory" >&5 ac_lib_var=`echo history'_'add_history | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1229,7 +1230,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lhistory $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1265,17 +1266,17 @@ if test "$ac_cv_lib_readline_readline" = "yes"; then do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1269: checking for $ac_hdr" >&5 +echo "configure:1270: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1303,11 +1304,11 @@ done fi echo $ac_n "checking for working tcpd.h""... $ac_c" 1>&6 -echo "configure:1307: checking for working tcpd.h" >&5 +echo "configure:1308: checking for working tcpd.h" >&5 oldLibs=$LIBS LIBS="$LIBS -lwrap" cat > conftest.$ac_ext < #include @@ -1318,7 +1319,7 @@ struct request_info request_info; int i; i = hosts_access(&request_info); ; return 0; } EOF -if { (eval echo configure:1322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* tcpd_ok=1 else @@ -1339,12 +1340,12 @@ EOF fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1343: checking for ANSI C header files" >&5 +echo "configure:1344: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1352,7 +1353,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1356: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1357: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1369,7 +1370,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1387,7 +1388,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1408,7 +1409,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1419,7 +1420,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1458,17 +1459,17 @@ if test "$threads_ok" = "yes"; then do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1462: checking for $ac_hdr" >&5 +echo "configure:1463: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1473: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1495,12 +1496,12 @@ fi done echo $ac_n "checking for pthread_mutex_lock""... $ac_c" 1>&6 -echo "configure:1499: checking for pthread_mutex_lock" >&5 +echo "configure:1500: checking for pthread_mutex_lock" >&5 if eval "test \"`echo '$''{'ac_cv_func_pthread_mutex_lock'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_pthread_mutex_lock=yes" else @@ -1544,7 +1545,7 @@ fi if test "$ac_cv_func_pthread_mutex_lock" = "no"; then echo $ac_n "checking for main in -lpthread""... $ac_c" 1>&6 -echo "configure:1548: checking for main in -lpthread" >&5 +echo "configure:1549: checking for main in -lpthread" >&5 ac_lib_var=`echo pthread'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1552,14 +1553,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1705,7 +1706,7 @@ done ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" -trap 'rm -fr `echo "Makefile util/Makefile asn/Makefile odr/Makefile zutil/Makefile comstack/Makefile client/Makefile server/Makefile ztest/Makefile retrieval/Makefile ccl/Makefile lib/Makefile rfc1006/Makefile z39.50/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +trap 'rm -fr `echo "Makefile util/Makefile odr/Makefile z39.50/Makefile asn/Makefile zutil/Makefile comstack/Makefile client/Makefile server/Makefile ztest/Makefile retrieval/Makefile ccl/Makefile lib/Makefile rfc1006/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then diff --git a/configure.in b/configure.in index f1cfa19..bde016a 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl YAZ Toolkit dnl (c) Index Data 1994-1999 dnl See the file LICENSE for details. -dnl $Id: configure.in,v 1.9 1999-06-08 10:10:16 adam Exp $ +dnl $Id: configure.in,v 1.10 1999-06-08 13:11:55 adam Exp $ AC_INIT(include/yaz-version.h) dnl dnl ------ Checking programs @@ -13,11 +13,12 @@ dnl dnl ----- YC: The Yaz Compiler AC_SUBST(ASNMODULE) AC_ARG_WITH(yc,[ --with-yc compile using YC: The Yaz Compiler], [YCDIR=$withval],[YCDIR=""]) - if test "$YCDIR" = "yes"; then - ASNMODULE=z39.50 + ASNMODULE="z39.50" + cp -f include/z-proto.h include/proto.h else ASNMODULE=asn + cp -f include/prt-proto.h include/proto.h fi dnl dnl ----- Sockets @@ -77,4 +78,4 @@ if test "$threads_ok" = "yes"; then fi dnl dnl ------ Makefiles -AC_OUTPUT(Makefile util/Makefile asn/Makefile odr/Makefile zutil/Makefile comstack/Makefile client/Makefile server/Makefile ztest/Makefile retrieval/Makefile ccl/Makefile lib/Makefile rfc1006/Makefile z39.50/Makefile) +AC_OUTPUT(Makefile util/Makefile odr/Makefile z39.50/Makefile asn/Makefile zutil/Makefile comstack/Makefile client/Makefile server/Makefile ztest/Makefile retrieval/Makefile ccl/Makefile lib/Makefile rfc1006/Makefile) diff --git a/include/proto.h b/include/proto.h deleted file mode 100644 index 901ec32..0000000 --- a/include/proto.h +++ /dev/null @@ -1,1344 +0,0 @@ -/* - * Copyright (c) 1995-1999, Index Data. - * - * Permission to use, copy, modify, distribute, and sell this software and - * its documentation, in whole or in part, for any purpose, is hereby granted, - * provided that: - * - * 1. This copyright and permission notice appear in all copies of the - * software and its documentation. Notices of copyright or attribution - * which appear at the beginning of any file must remain unchanged. - * - * 2. The name of Index Data or the individual authors may not be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR - * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF - * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - * - * $Log: proto.h,v $ - * Revision 1.47 1999-04-20 09:56:48 adam - * Added 'name' paramter to encoder/decoder routines (typedef Odr_fun). - * Modified all encoders/decoders to reflect this change. - * - * Revision 1.46 1998/10/20 13:55:44 quinn - * Fixed Scan bug in asn and client - * - * Revision 1.45 1998/08/19 16:10:07 adam - * Changed som member names of DeleteResultSetRequest/Response. - * - * Revision 1.44 1998/05/18 10:14:08 adam - * Minor change - removed 'dead' definitions. - * - * Revision 1.43 1998/03/31 11:07:45 adam - * Furhter work on UNIverse resource report. - * Added Extended Services handling in frontend server. - * - * Revision 1.42 1998/03/20 14:46:06 adam - * Added UNIverse Resource Reports. - * - * Revision 1.41 1998/02/10 15:31:52 adam - * Implemented date and time structure. Changed the Update Extended - * Service. - * - * Revision 1.40 1997/09/01 08:49:50 adam - * New windows NT/95 port using MSV5.0. To export DLL functions the - * YAZ_EXPORT modifier was added. Defined in yconfig.h. - * - * Revision 1.39 1997/05/14 06:53:44 adam - * C++ support. - * - * Revision 1.38 1997/04/30 08:52:09 quinn - * Null - * - * Revision 1.37 1996/10/09 15:54:58 quinn - * Added SearchInfoReport - * - * Revision 1.36 1996/10/07 15:29:20 quinn - * Added SOIF support - * - * Revision 1.35 1996/06/10 08:57:38 quinn - * Added OPAC, ResourceReport - * - * Revision 1.34 1996/06/10 08:55:36 quinn - * Added Summary. - * - * Revision 1.33 1996/02/23 10:00:51 quinn - * SCAN Work - * - * Revision 1.32 1996/02/20 12:52:39 quinn - * Various - * - * Revision 1.31 1996/01/22 09:46:45 quinn - * Added Sort PDU. Moved StringList to main protocol file. - * - * Revision 1.30 1996/01/10 15:21:32 quinn - * Added links to access control PDUs - * - * Revision 1.29 1996/01/02 11:46:49 quinn - * Changed 'operator' to 'roperator' to avoid C++ conflict. - * Moved to pl3 - * - * Revision 1.28 1996/01/02 08:57:32 quinn - * Changed enums in the ASN.1 .h files to #defines. Changed oident.class to oclass - * - * Revision 1.27 1995/10/12 10:34:46 quinn - * Added Espec-1. - * - * Revision 1.26 1995/09/29 17:12:08 quinn - * Smallish - * - * Revision 1.25 1995/09/27 15:02:49 quinn - * Modified function heads & prototypes. - * - * Revision 1.24 1995/08/29 11:17:43 quinn - * *** empty log message *** - * - * Revision 1.23 1995/08/21 09:10:36 quinn - * Smallish fixes to suppport new formats. - * - * Revision 1.22 1995/08/17 12:45:14 quinn - * Fixed minor problems with GRS-1. Added support in c&s. - * - * Revision 1.21 1995/08/15 12:00:11 quinn - * Updated External - * - * Revision 1.20 1995/08/10 08:54:35 quinn - * Added Explain. - * - * Revision 1.19 1995/06/19 12:38:28 quinn - * Reorganized include-files. Added small features. - * - * Revision 1.18 1995/06/16 13:16:05 quinn - * Fixed Defaultdiagformat. - * - * Revision 1.17 1995/06/15 15:42:05 quinn - * Fixed some v3 bugs - * - * Revision 1.16 1995/06/15 07:45:06 quinn - * Moving to v3. - * - * Revision 1.15 1995/06/14 15:26:43 quinn - * *** empty log message *** - * - * Revision 1.14 1995/06/07 14:42:34 quinn - * Fixed CLOSE - * - * Revision 1.13 1995/06/07 14:36:47 quinn - * Added CLOSE - * - * Revision 1.12 1995/06/05 10:53:13 quinn - * Smallish. - * - * Revision 1.11 1995/06/02 09:49:47 quinn - * Add access control - * - * Revision 1.10 1995/05/29 08:11:34 quinn - * Moved oid from odr/asn to util. - * - * Revision 1.9 1995/05/22 11:31:25 quinn - * Added PDUs - * - * Revision 1.8 1995/05/17 08:41:35 quinn - * Added delete to proto & other little things. - * Relaying auth info to backend. - * - * Revision 1.7 1995/05/16 08:50:37 quinn - * License, documentation, and memory fixes - * - * Revision 1.6 1995/05/15 11:55:55 quinn - * Work on asynchronous activity. - * - * Revision 1.5 1995/04/17 11:28:18 quinn - * Smallish - * - * Revision 1.4 1995/04/10 10:22:47 quinn - * Added SCAN - * - * Revision 1.3 1995/03/30 12:18:09 quinn - * Added info. - * - * Revision 1.2 1995/03/30 10:26:48 quinn - * Added Term structure - * - * Revision 1.1 1995/03/30 09:39:42 quinn - * Moved .h files to include directory - * - * Revision 1.11 1995/03/30 09:08:44 quinn - * Added Resource control protocol - * - * Revision 1.10 1995/03/29 15:39:39 quinn - * Adding some resource control elements, and a null-check to getentbyoid - * - * Revision 1.9 1995/03/29 08:06:18 quinn - * Added a few v3 elements - * - * Revision 1.8 1995/03/22 10:12:49 quinn - * Added Z_PRES constants. - * - * Revision 1.7 1995/03/20 09:45:12 quinn - * Working towards v3 - * - * Revision 1.5 1995/03/07 16:29:34 quinn - * Added authentication stuff. - * - * Revision 1.4 1995/03/07 10:13:00 quinn - * Added prototype for z_APDU() - * - * Revision 1.3 1995/02/14 11:54:23 quinn - * Fixing include. - * - * Revision 1.2 1995/02/09 15:51:40 quinn - * Works better now. - * - * Revision 1.1 1995/02/06 16:44:48 quinn - * First hack at Z/SR protocol - * - */ - -#ifndef PROTO_H -#define PROTO_H - -#include -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* ----------------- GLOBAL AUXILIARY DEFS ----------------*/ - -struct Z_External; -typedef struct Z_External Z_External; - -typedef Odr_oct Z_ReferenceId; -typedef char Z_DatabaseName; -typedef char Z_ResultSetId; -typedef Odr_oct Z_ResultsetId; - -typedef struct Z_InfoCategory -{ - Odr_oid *categoryTypeId; /* OPTIONAL */ - int *categoryValue; -} Z_InfoCategory; - -typedef struct Z_OtherInformationUnit -{ - Z_InfoCategory *category; /* OPTIONAL */ - int which; -#define Z_OtherInfo_characterInfo 0 -#define Z_OtherInfo_binaryInfo 1 -#define Z_OtherInfo_externallyDefinedInfo 2 -#define Z_OtherInfo_oid 3 - union - { - char *characterInfo; - Odr_oct *binaryInfo; - Z_External *externallyDefinedInfo; - Odr_oid *oid; - } information; -} Z_OtherInformationUnit; - -typedef struct Z_OtherInformation -{ - int num_elements; - Z_OtherInformationUnit **list; -} Z_OtherInformation; - -typedef struct Z_StringOrNumeric -{ - int which; -#define Z_StringOrNumeric_string 0 -#define Z_StringOrNumeric_numeric 1 - union - { - char *string; - int *numeric; - } u; -} Z_StringOrNumeric; - -typedef struct Z_Unit -{ - char *unitSystem; /* OPTIONAL */ - Z_StringOrNumeric *unitType; /* OPTIONAL */ - Z_StringOrNumeric *unit; /* OPTIONAL */ - int *scaleFactor; /* OPTIONAL */ -} Z_Unit; - -typedef struct Z_IntUnit -{ - int *value; - Z_Unit *unitUsed; -} Z_IntUnit; - -typedef Odr_oct Z_SUTRS; - -typedef struct Z_StringList -{ - int num_strings; - char **strings; -} Z_StringList; - -/* ----------------- INIT SERVICE ----------------*/ - -typedef struct -{ - char *groupId; /* OPTIONAL */ - char *userId; /* OPTIONAL */ - char *password; /* OPTIONAL */ -} Z_IdPass; - -typedef struct Z_IdAuthentication -{ - int which; -#define Z_IdAuthentication_open 0 -#define Z_IdAuthentication_idPass 1 -#define Z_IdAuthentication_anonymous 2 -#define Z_IdAuthentication_other 3 - union - { - char *open; - Z_IdPass *idPass; - Odr_null *anonymous; - Z_External *other; - } u; -} Z_IdAuthentication; - -#define Z_ProtocolVersion_1 0 -#define Z_ProtocolVersion_2 1 -#define Z_ProtocolVersion_3 2 - -#define Z_Options_search 0 -#define Z_Options_present 1 -#define Z_Options_delSet 2 -#define Z_Options_resourceReport 3 -#define Z_Options_triggerResourceCtrl 4 -#define Z_Options_resourceCtrl 5 -#define Z_Options_accessCtrl 6 -#define Z_Options_scan 7 -#define Z_Options_sort 8 -#define Z_Options_reserved 9 -#define Z_Options_extendedServices 10 -#define Z_Options_level_1Segmentation 11 -#define Z_Options_level_2Segmentation 12 -#define Z_Options_concurrentOperations 13 -#define Z_Options_namedResultSets 14 - -typedef struct Z_InitRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - Odr_bitmask *protocolVersion; - Odr_bitmask *options; - int *preferredMessageSize; - int *maximumRecordSize; - Z_IdAuthentication* idAuthentication; /* OPTIONAL */ - char *implementationId; /* OPTIONAL */ - char *implementationName; /* OPTIONAL */ - char *implementationVersion; /* OPTIONAL */ - Z_External *userInformationField; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_InitRequest; - -typedef struct Z_InitResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - Odr_bitmask *protocolVersion; - Odr_bitmask *options; - int *preferredMessageSize; - int *maximumRecordSize; - bool_t *result; - char *implementationId; /* OPTIONAL */ - char *implementationName; /* OPTIONAL */ - char *implementationVersion; /* OPTIONAL */ - Z_External *userInformationField; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_InitResponse; - -typedef struct Z_NSRAuthentication -{ - char *user; - char *password; - char *account; -} Z_NSRAuthentication; - -int z_NSRAuthentication(ODR o, Z_NSRAuthentication **p, int opt, - const char *name); - -int z_StrAuthentication(ODR o, char **p, int opt, const char *name); - -/* ------------------ SEARCH SERVICE ----------------*/ - -typedef struct Z_DatabaseSpecificUnit -{ - char *databaseName; - char *elementSetName; -} Z_DatabaseSpecificUnit; - -typedef struct Z_DatabaseSpecific -{ - int num_elements; - Z_DatabaseSpecificUnit **elements; -} Z_DatabaseSpecific; - -typedef struct Z_ElementSetNames -{ - int which; -#define Z_ElementSetNames_generic 0 -#define Z_ElementSetNames_databaseSpecific 1 - union - { - char *generic; - Z_DatabaseSpecific *databaseSpecific; - } u; -} Z_ElementSetNames; - -/* ---------------------- RPN QUERY --------------------------- */ - -typedef struct Z_ComplexAttribute -{ - int num_list; - Z_StringOrNumeric **list; - int num_semanticAction; - int **semanticAction; /* OPTIONAL */ -} Z_ComplexAttribute; - -typedef struct Z_AttributeElement -{ - Odr_oid *attributeSet; /* OPTIONAL - v3 only */ - int *attributeType; - int which; -#define Z_AttributeValue_numeric 0 -#define Z_AttributeValue_complex 1 - union - { - int *numeric; - Z_ComplexAttribute *complex; - } value; -} Z_AttributeElement; - -typedef struct Z_Term -{ - int which; -#define Z_Term_general 0 -#define Z_Term_numeric 1 -#define Z_Term_characterString 2 -#define Z_Term_oid 3 -#define Z_Term_dateTime 4 -#define Z_Term_external 5 -#define Z_Term_integerAndUnit 6 -#define Z_Term_null 7 - union - { - Odr_oct *general; /* this is required for v2 */ - int *numeric; - char *characterString; - Odr_oid *oid; - char *dateTime; - Z_External *external; - /* Z_IntUnit *integerAndUnit; */ - Odr_null *null; - } u; -} Z_Term; - -typedef struct Z_AttributesPlusTerm -{ - int num_attributes; - Z_AttributeElement **attributeList; - Z_Term *term; -} Z_AttributesPlusTerm; - -typedef struct Z_ResultSetPlusAttributes -{ - char *resultSet; - int num_attributes; - Z_AttributeElement **attributeList; -} Z_ResultSetPlusAttributes; - -typedef struct Z_ProximityOperator -{ - bool_t *exclusion; /* OPTIONAL */ - int *distance; - bool_t *ordered; - int *relationType; -#define Z_Prox_lessThan 1 -#define Z_Prox_lessThanOrEqual 2 -#define Z_Prox_equal 3 -#define Z_Prox_greaterThanOrEqual 4 -#define Z_Prox_greaterThan 5 -#define Z_Prox_notEqual 6 - int which; -#define Z_ProxCode_known 0 -#define Z_ProxCode_private 1 - int *proximityUnitCode; -#define Z_ProxUnit_character 1 -#define Z_ProxUnit_word 2 -#define Z_ProxUnit_sentence 3 -#define Z_ProxUnit_paragraph 4 -#define Z_ProxUnit_section 5 -#define Z_ProxUnit_chapter 6 -#define Z_ProxUnit_document 7 -#define Z_ProxUnit_element 8 -#define Z_ProxUnit_subelement 9 -#define Z_ProxUnit_elementType 10 -#define Z_ProxUnit_byte 11 /* v3 only */ -} Z_ProximityOperator; - -typedef struct Z_Operator -{ - int which; -#define Z_Operator_and 0 -#define Z_Operator_or 1 -#define Z_Operator_and_not 2 -#define Z_Operator_prox 3 - union - { - Odr_null *and; /* these guys are nulls. */ - Odr_null *or; - Odr_null *and_not; - Z_ProximityOperator *prox; - } u; -} Z_Operator; - -typedef struct Z_Operand -{ - int which; -#define Z_Operand_APT 0 -#define Z_Operand_resultSetId 1 -#define Z_Operand_resultAttr /* v3 only */ 2 - union - { - Z_AttributesPlusTerm *attributesPlusTerm; - Z_ResultSetId *resultSetId; - Z_ResultSetPlusAttributes *resultAttr; - } u; -} Z_Operand; - -typedef struct Z_Complex -{ - struct Z_RPNStructure *s1; - struct Z_RPNStructure *s2; - Z_Operator *roperator; -} Z_Complex; - -typedef struct Z_RPNStructure -{ - int which; -#define Z_RPNStructure_simple 0 -#define Z_RPNStructure_complex 1 - union - { - Z_Operand *simple; - Z_Complex *complex; - } u; -} Z_RPNStructure; - -typedef struct Z_RPNQuery -{ - Odr_oid *attributeSetId; - Z_RPNStructure *RPNStructure; -} Z_RPNQuery; - -/* -------------------------- SEARCHREQUEST -------------------------- */ - -typedef struct Z_Query -{ - int which; -#define Z_Query_type_1 1 -#define Z_Query_type_2 2 -#define Z_Query_type_101 3 - union - { - Z_RPNQuery *type_1; - Odr_oct *type_2; - Z_RPNQuery *type_101; - } u; -} Z_Query; - -typedef struct Z_SearchRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *smallSetUpperBound; - int *largeSetLowerBound; - int *mediumSetPresentNumber; - bool_t *replaceIndicator; - char *resultSetName; - int num_databaseNames; - char **databaseNames; - Z_ElementSetNames *smallSetElementSetNames; /* OPTIONAL */ - Z_ElementSetNames *mediumSetElementSetNames; /* OPTIONAL */ - Odr_oid *preferredRecordSyntax; /* OPTIONAL */ - Z_Query *query; - Z_OtherInformation *additionalSearchInfo; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_SearchRequest; - -/* ------------------------ RECORD -------------------------- */ - -typedef Z_External Z_DatabaseRecord; - -typedef struct Z_DefaultDiagFormat -{ - Odr_oid *diagnosticSetId; /* This is opt'l to interwork with bad targets */ - int *condition; - /* until the whole character set issue becomes more definite, - * you can probably ignore this on input. */ - int which; -#define Z_DiagForm_v2AddInfo 0 -#define Z_DiagForm_v3AddInfo 1 - char *addinfo; -} Z_DefaultDiagFormat; - -typedef struct Z_DiagRec -{ - int which; -#define Z_DiagRec_defaultFormat 0 -#define Z_DiagRec_externallyDefined 1 - union - { - Z_DefaultDiagFormat *defaultFormat; - Z_External *externallyDefined; - } u; -} Z_DiagRec; - -typedef struct Z_DiagRecs -{ - int num_diagRecs; - Z_DiagRec **diagRecs; -} Z_DiagRecs; - -typedef struct Z_NamePlusRecord -{ - char *databaseName; /* OPTIONAL */ - int which; -#define Z_NamePlusRecord_databaseRecord 0 -#define Z_NamePlusRecord_surrogateDiagnostic 1 - union - { - Z_DatabaseRecord *databaseRecord; - Z_DiagRec *surrogateDiagnostic; - } u; -} Z_NamePlusRecord; - -typedef struct Z_NamePlusRecordList -{ - int num_records; - Z_NamePlusRecord **records; -} Z_NamePlusRecordList; - -typedef struct Z_Records -{ - int which; -#define Z_Records_DBOSD 0 -#define Z_Records_NSD 1 -#define Z_Records_multipleNSD 2 - union - { - Z_NamePlusRecordList *databaseOrSurDiagnostics; - Z_DiagRec *nonSurrogateDiagnostic; - Z_DiagRecs *multipleNonSurDiagnostics; - } u; -} Z_Records; - -/* ------------------------ SEARCHRESPONSE ------------------ */ - -typedef struct Z_SearchResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *resultCount; - int *numberOfRecordsReturned; - int *nextResultSetPosition; - bool_t *searchStatus; - int *resultSetStatus; /* OPTIONAL */ -#define Z_RES_SUBSET 1 -#define Z_RES_INTERIM 2 -#define Z_RES_NONE 3 - int *presentStatus; /* OPTIONAL */ -#define Z_PRES_SUCCESS 0 -#define Z_PRES_PARTIAL_1 1 -#define Z_PRES_PARTIAL_2 2 -#define Z_PRES_PARTIAL_3 3 -#define Z_PRES_PARTIAL_4 4 -#define Z_PRES_FAILURE 5 - Z_Records *records; /* OPTIONAL */ - Z_OtherInformation *additionalSearchInfo; - Z_OtherInformation *otherInfo; -} Z_SearchResponse; - -/* ------------------------- PRESENT SERVICE -----------------*/ - -typedef struct Z_ElementSpec -{ - int which; -#define Z_ElementSpec_elementSetName 0 -#define Z_ElementSpec_externalSpec 1 - union - { - char *elementSetName; - Z_External *externalSpec; - } u; -} Z_ElementSpec; - -typedef struct Z_Specification -{ - Odr_oid *schema; /* OPTIONAL */ - Z_ElementSpec *elementSpec; /* OPTIONAL */ -} Z_Specification; - -typedef struct Z_DbSpecific -{ - char *databaseName; - Z_Specification *spec; -} Z_DbSpecific; - -typedef struct Z_CompSpec -{ - bool_t *selectAlternativeSyntax; - Z_Specification *generic; /* OPTIONAL */ - int num_dbSpecific; - Z_DbSpecific **dbSpecific; /* OPTIONAL */ - int num_recordSyntax; - Odr_oid **recordSyntax; /* OPTIONAL */ -} Z_CompSpec; - -typedef struct Z_RecordComposition -{ - int which; -#define Z_RecordComp_simple 0 -#define Z_RecordComp_complex 1 - union - { - Z_ElementSetNames *simple; - Z_CompSpec *complex; - } u; -} Z_RecordComposition; - -typedef struct Z_Range -{ - int *startingPosition; - int *numberOfRecords; -} Z_Range; - -typedef struct Z_PresentRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - Z_ResultSetId *resultSetId; - int *resultSetStartPoint; - int *numberOfRecordsRequested; - int num_ranges; - Z_Range **additionalRanges; /* OPTIONAL */ - Z_RecordComposition *recordComposition; /* OPTIONAL */ - Odr_oid *preferredRecordSyntax; /* OPTIONAL */ - int *maxSegmentCount; /* OPTIONAL */ - int *maxRecordSize; /* OPTIONAL */ - int *maxSegmentSize; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_PresentRequest; - -typedef struct Z_PresentResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *numberOfRecordsReturned; - int *nextResultSetPosition; - int *presentStatus; - Z_Records *records; - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_PresentResponse; - -/* ------------------ RESOURCE CONTROL ----------------*/ - -typedef struct Z_TriggerResourceControlRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *requestedAction; -#define Z_TriggerResourceCtrl_resourceReport 1 -#define Z_TriggerResourceCtrl_resourceControl 2 -#define Z_TriggerResourceCtrl_cancel 3 - Odr_oid *prefResourceReportFormat; /* OPTIONAL */ - bool_t *resultSetWanted; /* OPTIONAL */ - Z_OtherInformation *otherInfo; -} Z_TriggerResourceControlRequest; - -typedef struct Z_ResourceControlRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - bool_t *suspendedFlag; /* OPTIONAL */ - Z_External *resourceReport; /* OPTIONAL */ - int *partialResultsAvailable; /* OPTIONAL */ -#define Z_ResourceControlRequest_subset 1 -#define Z_ResourceControlRequest_interim 2 -#define Z_ResourceControlRequest_none 3 - bool_t *responseRequired; - bool_t *triggeredRequestFlag; /* OPTIONAL */ - Z_OtherInformation *otherInfo; -} Z_ResourceControlRequest; - -typedef struct Z_ResourceControlResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - bool_t *continueFlag; - bool_t *resultSetWanted; /* OPTIONAL */ - Z_OtherInformation *otherInfo; -} Z_ResourceControlResponse; - - -/* ------------------ ACCESS CTRL SERVICE ----------------*/ - -typedef struct Z_AccessControlRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int which; -#define Z_AccessRequest_simpleForm 0 -#define Z_AccessRequest_externallyDefined 1 - union - { - Odr_oct *simpleForm; - Z_External *externallyDefined; - } u; - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_AccessControlRequest; - -typedef struct Z_AccessControlResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int which; -#define Z_AccessResponse_simpleForm 0 -#define Z_AccessResponse_externallyDefined 1 - union - { - Odr_oct *simpleForm; - Z_External *externallyDefined; - } u; - Z_DiagRec *diagnostic; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_AccessControlResponse; - -/* ------------------------ SCAN SERVICE -------------------- */ - -typedef struct Z_AttributeList -{ - int num_attributes; - Z_AttributeElement **attributes; -} Z_AttributeList; - -typedef struct Z_AlternativeTerm -{ - int num_terms; - Z_AttributesPlusTerm **terms; -} Z_AlternativeTerm; - -typedef struct Z_ByDatabase -{ - char *db; - int *num; /* OPTIONAL */ - Z_OtherInformation *otherDbInfo; /* OPTIONAL */ -} Z_ByDatabase; - -typedef struct Z_ByDatabaseList -{ - int num_elements; - Z_ByDatabase **elements; -} Z_ByDatabaseList; - -typedef struct Z_ScanOccurrences -{ - int which; -#define Z_ScanOccurrences_global 0 -#define Z_ScanOccurrences_byDatabase 1 - union - { - int *global; - Z_ByDatabaseList *byDatabase; - } u; - -} Z_ScanOccurrences; - -typedef struct Z_OccurrenceByAttributesElem -{ - Z_AttributeList *attributes; - Z_ScanOccurrences *occurrences; /* OPTIONAL */ - Z_OtherInformation *otherOccurInfo; /* OPTIONAL */ -} Z_OccurrenceByAttributesElem; - -typedef struct Z_OccurrenceByAttributes -{ - int num_elements; - Z_OccurrenceByAttributesElem **elements; -} Z_OccurrenceByAttributes; - -typedef struct Z_TermInfo -{ - Z_Term *term; - char *displayTerm; /* OPTIONAL */ - Z_AttributeList *suggestedAttributes; /* OPTIONAL */ - Z_AlternativeTerm *alternativeTerm; /* OPTIONAL */ - int *globalOccurrences; /* OPTIONAL */ - Z_OccurrenceByAttributes *byAttributes; /* OPTIONAL */ - Z_OtherInformation *otherTermInfo; /* OPTIONAL */ -} Z_TermInfo; - -typedef struct Z_Entry -{ - int which; -#define Z_Entry_termInfo 0 -#define Z_Entry_surrogateDiagnostic 1 - union - { - Z_TermInfo *termInfo; - Z_DiagRec *surrogateDiagnostic; - } u; -} Z_Entry; - -#ifdef BUGGY_LISTENTRIES - -typedef struct Z_Entries -{ - int num_entries; - Z_Entry **entries; -} Z_Entries; - -typedef struct Z_ListEntries -{ - int which; -#define Z_ListEntries_entries 0 -#define Z_ListEntries_nonSurrogateDiagnostics 1 - union - { - Z_Entries *entries; - Z_DiagRecs *nonSurrogateDiagnostics; - } u; -} Z_ListEntries; - -#endif - -typedef struct Z_ListEntries { - int num_entries; - Z_Entry **entries; /* OPT */ - int num_nonsurrogateDiagnostics; - Z_DiagRec **nonsurrogateDiagnostics; /* OPT */ -} Z_ListEntries; - -typedef struct Z_ScanRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int num_databaseNames; - char **databaseNames; - Odr_oid *attributeSet; /* OPTIONAL */ - Z_AttributesPlusTerm *termListAndStartPoint; - int *stepSize; /* OPTIONAL */ - int *numberOfTermsRequested; - int *preferredPositionInResponse; /* OPTIONAL */ - Z_OtherInformation *otherInfo; -} Z_ScanRequest; - -typedef struct Z_ScanResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *stepSize; /* OPTIONAL */ - int *scanStatus; -#define Z_Scan_success 0 -#define Z_Scan_partial_1 1 -#define Z_Scan_partial_2 2 -#define Z_Scan_partial_3 3 -#define Z_Scan_partial_4 4 -#define Z_Scan_partial_5 5 -#define Z_Scan_failure 6 - int *numberOfEntriesReturned; - int *positionOfTerm; /* OPTIONAL */ - Z_ListEntries *entries; /* OPTIONAL */ - Odr_oid *attributeSet; /* OPTIONAL */ - Z_OtherInformation *otherInfo; -} Z_ScanResponse; - - -/* ------------------------ DELETE -------------------------- */ - -#define Z_DeleteStatus_success 0 -#define Z_DeleteStatus_resultSetDidNotExist 1 -#define Z_DeleteStatus_previouslyDeletedByTarget 2 -#define Z_DeleteStatus_systemProblemAtTarget 3 -#define Z_DeleteStatus_accessNotAllowed 4 -#define Z_DeleteStatus_resourceControlAtOrigin 5 -#define Z_DeleteStatus_resourceControlAtTarget 6 -#define Z_DeleteStatus_bulkDeleteNotSupported 7 -#define Z_DeleteStatus_notAllRsltSetsDeletedOnBulkDlte 8 -#define Z_DeleteStatus_notAllRequestedResultSetsDeleted 9 -#define Z_DeleteStatus_resultSetInUse 10 - -typedef struct Z_ListStatus -{ - Z_ResultSetId *id; - int *status; -} Z_ListStatus; - -typedef struct Z_DeleteResultSetRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *deleteFunction; -#define Z_DeleteRequest_list 0 -#define Z_DeleteRequest_all 1 - int num_resultSetList; - Z_ResultSetId **resultSetList; /* OPTIONAL */ - Z_OtherInformation *otherInfo; -} Z_DeleteResultSetRequest; - -typedef struct Z_ListStatuses { - int num; - Z_ListStatus **elements; -} Z_ListStatuses; - -typedef struct Z_DeleteResultSetResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *deleteOperationStatus; - Z_ListStatuses *deleteListStatuses;/* OPTIONAL */ - int *numberNotDeleted; /* OPTIONAL */ - Z_ListStatuses *bulkStatuses; /* OPTIONAL */ - char *deleteMessage; /* OPTIONAL */ - Z_OtherInformation *otherInfo; -} Z_DeleteResultSetResponse; - -/* ------------------------ CLOSE SERVICE ------------------- */ - -typedef struct Z_Close -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *closeReason; -#define Z_Close_finished 0 -#define Z_Close_shutdown 1 -#define Z_Close_systemProblem 2 -#define Z_Close_costLimit 3 -#define Z_Close_resources 4 -#define Z_Close_securityViolation 5 -#define Z_Close_protocolError 6 -#define Z_Close_lackOfActivity 7 -#define Z_Close_peerAbort 8 -#define Z_Close_unspecified 9 - char *diagnosticInformation; /* OPTIONAL */ - Odr_oid *resourceReportFormat; /* OPTIONAL */ - Z_External *resourceReport; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_Close; - -/* ------------------------ SEGMENTATION -------------------- */ - -typedef struct Z_Segment -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *numberOfRecordsReturned; - int num_segmentRecords; - Z_NamePlusRecord **segmentRecords; - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_Segment; - -/* ----------------------- Extended Services ---------------- */ - -typedef struct Z_Permissions -{ - char *userId; - int num_allowableFunctions; - int **allowableFunctions; -#define Z_Permissions_delete 1 -#define Z_Permissions_modifyContents 2 -#define Z_Permissions_modifyPermissions 3 -#define Z_Permissions_present 4 -#define Z_Permissions_invoke 5 -} Z_Permissions; - -typedef struct Z_ExtendedServicesRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *function; -#define Z_ExtendedServicesRequest_create 1 -#define Z_ExtendedServicesRequest_delete 2 -#define Z_ExtendedServicesRequest_modify 3 - Odr_oid *packageType; - char *packageName; /* OPTIONAL */ - char *userId; /* OPTIONAL */ - Z_IntUnit *retentionTime; /* OPTIONAL */ - Z_Permissions *permissions; /* OPTIONAL */ - char *description; /* OPTIONAL */ - Z_External *taskSpecificParameters; /* OPTIONAL */ - int *waitAction; -#define Z_ExtendedServicesRequest_wait 1 -#define Z_ExtendedServicesRequest_waitIfPossible 2 -#define Z_ExtendedServicesRequest_dontWait 3 -#define Z_ExtendedServicesRequest_dontReturnPackage 4 - char *elements; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_ExtendedServicesRequest; - -typedef struct Z_ExtendedServicesResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *operationStatus; -#define Z_ExtendedServicesResponse_done 1 -#define Z_ExtendedServicesResponse_accepted 2 -#define Z_ExtendedServicesResponse_failure 3 - int num_diagnostics; - Z_DiagRec **diagnostics; /* OPTIONAL */ - Z_External *taskPackage; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_ExtendedServicesResponse; - -/* ------------------------ Sort --------------------------- */ - -typedef struct Z_SortAttributes -{ - Odr_oid *id; - Z_AttributeList *list; -} Z_SortAttributes; - -typedef struct Z_SortKey -{ - int which; -#define Z_SortKey_sortField 0 -#define Z_SortKey_elementSpec 1 -#define Z_SortKey_sortAttributes 2 - union - { - char *sortField; - Z_Specification *elementSpec; - Z_SortAttributes *sortAttributes; - } u; -} Z_SortKey; - -typedef struct Z_SortDbSpecific -{ - char *databaseName; - Z_SortKey *dbSort; -} Z_SortDbSpecific; - -typedef struct Z_SortDbSpecificList -{ - int num_dbSpecific; - Z_SortDbSpecific **dbSpecific; -} Z_SortDbSpecificList; - -typedef struct Z_SortElement -{ - int which; -#define Z_SortElement_generic 0 -#define Z_SortElement_databaseSpecific 1 - union - { - Z_SortKey *generic; - Z_SortDbSpecificList *databaseSpecific; - } u; -} Z_SortElement; - -typedef struct Z_SortMissingValueAction -{ - int which; -#define Z_SortMissingValAct_abort 0 -#define Z_SortMissingValAct_null 1 -#define Z_SortMissingValAct_valData 2 - union - { - Odr_null *abort; - Odr_null *null; - Odr_oct *valData; - } u; -} Z_SortMissingValueAction; - -typedef struct Z_SortKeySpec -{ - Z_SortElement *sortElement; - int *sortRelation; -#define Z_SortRelation_ascending 0 -#define Z_SortRelation_descending 1 -#define Z_SortRelation_ascendingByFreq 3 -#define Z_SortRelation_descendingByFreq 4 - int *caseSensitivity; -#define Z_SortCase_caseSensitive 0 -#define Z_SortCase_caseInsensitive 1 - Z_SortMissingValueAction *missingValueAction; /* OPTIONAL */ -} Z_SortKeySpec; - -typedef struct Z_SortResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *sortStatus; -#define Z_SortStatus_success 0 -#define Z_SortStatus_partial_1 1 -#define Z_SortStatus_failure 2 - int *resultSetStatus; /* OPTIONAL */ -#define Z_SortResultSetStatus_empty 1 -#define Z_SortResultSetStatus_interim 2 -#define Z_SortResultSetStatus_unchanged 3 -#define Z_SortResultSetStatus_none 4 - Z_DiagRecs *diagnostics; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_SortResponse; - -typedef struct Z_SortKeySpecList -{ - int num_specs; - Z_SortKeySpec **specs; -} Z_SortKeySpecList; - -typedef struct Z_SortRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - Z_StringList *inputResultSetNames; - char *sortedResultSetName; - Z_SortKeySpecList *sortSequence; - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_SortRequest; - -/* ----------------------- Resource Report ------------------ */ - -typedef struct Z_ResourceReportRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - Z_ReferenceId *opId; /* OPTIONAL */ - Odr_oid *prefResourceReportFormat; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_ResourceReportRequest; - -typedef struct Z_ResourceReportResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *resourceReportStatus; -#define Z_ResourceReportStatus_success 0 -#define Z_ResourceReportStatus_partial 1 -#define Z_ResourceReportStatus_failure_1 2 -#define Z_ResourceReportStatus_failure_2 3 -#define Z_ResourceReportStatus_failure_3 4 -#define Z_ResourceReportStatus_failure_4 5 -#define Z_ResourceReportStatus_failure_5 6 -#define Z_ResourceReportStatus_failure_6 7 - Z_External *resourceReport; /* OPTIONAL */ - Z_OtherInformation *otherInfo; /* OPTIONAL */ -} Z_ResourceReportResponse; - -/* ------------------------ APDU ---------------------------- */ - -typedef struct Z_APDU -{ - int which; -#define Z_APDU_initRequest 0 -#define Z_APDU_initResponse 1 -#define Z_APDU_searchRequest 2 -#define Z_APDU_searchResponse 3 -#define Z_APDU_presentRequest 4 -#define Z_APDU_presentResponse 5 -#define Z_APDU_deleteResultSetRequest 6 -#define Z_APDU_deleteResultSetResponse 7 -#define Z_APDU_resourceControlRequest 8 -#define Z_APDU_resourceControlResponse 9 -#define Z_APDU_triggerResourceControlRequest 10 -#define Z_APDU_scanRequest 11 -#define Z_APDU_scanResponse 12 -#define Z_APDU_segmentRequest 13 -#define Z_APDU_extendedServicesRequest 14 -#define Z_APDU_extendedServicesResponse 15 -#define Z_APDU_close 16 -#define Z_APDU_accessControlRequest 17 -#define Z_APDU_accessControlResponse 18 -#define Z_APDU_sortRequest 20 -#define Z_APDU_sortResponse 21 -#define Z_APDU_resourceReportRequest 22 -#define Z_APDU_resourceReportResponse 23 - union - { - Z_InitRequest *initRequest; - Z_InitResponse *initResponse; - Z_SearchRequest *searchRequest; - Z_SearchResponse *searchResponse; - Z_PresentRequest *presentRequest; - Z_PresentResponse *presentResponse; - Z_DeleteResultSetRequest *deleteResultSetRequest; - Z_DeleteResultSetResponse *deleteResultSetResponse; - Z_AccessControlRequest *accessControlRequest; - Z_AccessControlResponse *accessControlResponse; - Z_ResourceControlRequest *resourceControlRequest; - Z_ResourceControlResponse *resourceControlResponse; - Z_TriggerResourceControlRequest *triggerResourceControlRequest; - Z_ResourceReportRequest *resourceReportRequest; - Z_ResourceReportResponse *resourceReportResponse; - Z_ScanRequest *scanRequest; - Z_ScanResponse *scanResponse; - Z_SortRequest *sortRequest; - Z_SortResponse *sortResponse; - Z_Segment *segmentRequest; - Z_ExtendedServicesRequest *extendedServicesRequest; - Z_ExtendedServicesResponse *extendedServicesResponse; - Z_Close *close; - } u; -} Z_APDU; - -YAZ_EXPORT int z_APDU(ODR o, Z_APDU **p, int opt, const char *name); -YAZ_EXPORT int z_SUTRS(ODR o, Odr_oct **p, int opt, const char *name); - -YAZ_EXPORT Z_InitRequest *zget_InitRequest(ODR o); -YAZ_EXPORT Z_InitResponse *zget_InitResponse(ODR o); -YAZ_EXPORT Z_SearchRequest *zget_SearchRequest(ODR o); -YAZ_EXPORT Z_SearchResponse *zget_SearchResponse(ODR o); -YAZ_EXPORT Z_PresentRequest *zget_PresentRequest(ODR o); -YAZ_EXPORT Z_PresentResponse *zget_PresentResponse(ODR o); -YAZ_EXPORT Z_DeleteResultSetRequest *zget_DeleteResultSetRequest(ODR o); -YAZ_EXPORT Z_DeleteResultSetResponse *zget_DeleteResultSetResponse(ODR o); -YAZ_EXPORT Z_ScanRequest *zget_ScanRequest(ODR o); -YAZ_EXPORT Z_ScanResponse *zget_ScanResponse(ODR o); -YAZ_EXPORT Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o); -YAZ_EXPORT Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o); -YAZ_EXPORT Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o); -YAZ_EXPORT Z_Close *zget_Close(ODR o); -YAZ_EXPORT int z_StringList(ODR o, Z_StringList **p, int opt, - const char *name); -YAZ_EXPORT int z_InternationalString(ODR o, char **p, int opt, - const char *name); -YAZ_EXPORT int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt, - const char *naem); -YAZ_EXPORT int z_ElementSetName(ODR o, char **p, int opt, const char *name); -YAZ_EXPORT int z_IntUnit(ODR o, Z_IntUnit **p, int opt, const char *name); -YAZ_EXPORT int z_Unit(ODR o, Z_Unit **p, int opt, const char *name); -YAZ_EXPORT int z_DatabaseName(ODR o, Z_DatabaseName **p, int opt, - const char *name); -YAZ_EXPORT int z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt, - const char *name); -YAZ_EXPORT int z_OtherInformationUnit(ODR o, Z_OtherInformationUnit **p, - int opt, const char *name); -YAZ_EXPORT int z_Term(ODR o, Z_Term **p, int opt, const char *name); -YAZ_EXPORT int z_Specification(ODR o, Z_Specification **p, int opt, - const char *name); -YAZ_EXPORT int z_Permissions(ODR o, Z_Permissions **p, int opt, - const char *name); -YAZ_EXPORT int z_DiagRec(ODR o, Z_DiagRec **p, int opt, const char *name); -YAZ_EXPORT int z_DiagRecs(ODR o, Z_DiagRecs **p, int opt, const char *name); -YAZ_EXPORT int z_AttributeList(ODR o, Z_AttributeList **p, int opt, - const char *name); -YAZ_EXPORT int z_DefaultDiagFormat(ODR o, Z_DefaultDiagFormat **p, int opt, - const char *name); -YAZ_EXPORT Z_APDU *zget_APDU(ODR o, int which); -YAZ_EXPORT int z_Query(ODR o, Z_Query **p, int opt, const char *name); - -#ifdef __cplusplus -} -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#endif diff --git a/include/prt-proto.h b/include/prt-proto.h new file mode 100644 index 0000000..4e42310 --- /dev/null +++ b/include/prt-proto.h @@ -0,0 +1,1169 @@ +/* + * Copyright (c) 1995-1999, Index Data. + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation, in whole or in part, for any purpose, is hereby granted, + * provided that: + * + * 1. This copyright and permission notice appear in all copies of the + * software and its documentation. Notices of copyright or attribution + * which appear at the beginning of any file must remain unchanged. + * + * 2. The name of Index Data or the individual authors may not be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR + * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF + * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + * + * $Id: prt-proto.h,v 1.1 1999-06-08 13:11:55 adam Exp $ + */ + +#ifndef PRT_PROTO_H +#define PRT_PROTO_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ----------------- GLOBAL AUXILIARY DEFS ----------------*/ + +struct Z_External; +typedef struct Z_External Z_External; + +typedef Odr_oct Z_ReferenceId; +typedef char Z_DatabaseName; +typedef char Z_ResultSetId; +typedef Odr_oct Z_ResultsetId; + +typedef struct Z_InfoCategory +{ + Odr_oid *categoryTypeId; /* OPTIONAL */ + int *categoryValue; +} Z_InfoCategory; + +typedef struct Z_OtherInformationUnit +{ + Z_InfoCategory *category; /* OPTIONAL */ + int which; +#define Z_OtherInfo_characterInfo 0 +#define Z_OtherInfo_binaryInfo 1 +#define Z_OtherInfo_externallyDefinedInfo 2 +#define Z_OtherInfo_oid 3 + union + { + char *characterInfo; + Odr_oct *binaryInfo; + Z_External *externallyDefinedInfo; + Odr_oid *oid; + } information; +} Z_OtherInformationUnit; + +typedef struct Z_OtherInformation +{ + int num_elements; + Z_OtherInformationUnit **list; +} Z_OtherInformation; + +typedef struct Z_StringOrNumeric +{ + int which; +#define Z_StringOrNumeric_string 0 +#define Z_StringOrNumeric_numeric 1 + union + { + char *string; + int *numeric; + } u; +} Z_StringOrNumeric; + +typedef struct Z_Unit +{ + char *unitSystem; /* OPTIONAL */ + Z_StringOrNumeric *unitType; /* OPTIONAL */ + Z_StringOrNumeric *unit; /* OPTIONAL */ + int *scaleFactor; /* OPTIONAL */ +} Z_Unit; + +typedef struct Z_IntUnit +{ + int *value; + Z_Unit *unitUsed; +} Z_IntUnit; + +typedef Odr_oct Z_SUTRS; + +typedef struct Z_StringList +{ + int num_strings; + char **strings; +} Z_StringList; + +/* ----------------- INIT SERVICE ----------------*/ + +typedef struct +{ + char *groupId; /* OPTIONAL */ + char *userId; /* OPTIONAL */ + char *password; /* OPTIONAL */ +} Z_IdPass; + +typedef struct Z_IdAuthentication +{ + int which; +#define Z_IdAuthentication_open 0 +#define Z_IdAuthentication_idPass 1 +#define Z_IdAuthentication_anonymous 2 +#define Z_IdAuthentication_other 3 + union + { + char *open; + Z_IdPass *idPass; + Odr_null *anonymous; + Z_External *other; + } u; +} Z_IdAuthentication; + +#define Z_ProtocolVersion_1 0 +#define Z_ProtocolVersion_2 1 +#define Z_ProtocolVersion_3 2 + +#define Z_Options_search 0 +#define Z_Options_present 1 +#define Z_Options_delSet 2 +#define Z_Options_resourceReport 3 +#define Z_Options_triggerResourceCtrl 4 +#define Z_Options_resourceCtrl 5 +#define Z_Options_accessCtrl 6 +#define Z_Options_scan 7 +#define Z_Options_sort 8 +#define Z_Options_reserved 9 +#define Z_Options_extendedServices 10 +#define Z_Options_level_1Segmentation 11 +#define Z_Options_level_2Segmentation 12 +#define Z_Options_concurrentOperations 13 +#define Z_Options_namedResultSets 14 + +typedef struct Z_InitRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + Odr_bitmask *protocolVersion; + Odr_bitmask *options; + int *preferredMessageSize; + int *maximumRecordSize; + Z_IdAuthentication* idAuthentication; /* OPTIONAL */ + char *implementationId; /* OPTIONAL */ + char *implementationName; /* OPTIONAL */ + char *implementationVersion; /* OPTIONAL */ + Z_External *userInformationField; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_InitRequest; + +typedef struct Z_InitResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + Odr_bitmask *protocolVersion; + Odr_bitmask *options; + int *preferredMessageSize; + int *maximumRecordSize; + bool_t *result; + char *implementationId; /* OPTIONAL */ + char *implementationName; /* OPTIONAL */ + char *implementationVersion; /* OPTIONAL */ + Z_External *userInformationField; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_InitResponse; + +typedef struct Z_NSRAuthentication +{ + char *user; + char *password; + char *account; +} Z_NSRAuthentication; + +int z_NSRAuthentication(ODR o, Z_NSRAuthentication **p, int opt, + const char *name); + +int z_StrAuthentication(ODR o, char **p, int opt, const char *name); + +/* ------------------ SEARCH SERVICE ----------------*/ + +typedef struct Z_DatabaseSpecificUnit +{ + char *databaseName; + char *elementSetName; +} Z_DatabaseSpecificUnit; + +typedef struct Z_DatabaseSpecific +{ + int num_elements; + Z_DatabaseSpecificUnit **elements; +} Z_DatabaseSpecific; + +typedef struct Z_ElementSetNames +{ + int which; +#define Z_ElementSetNames_generic 0 +#define Z_ElementSetNames_databaseSpecific 1 + union + { + char *generic; + Z_DatabaseSpecific *databaseSpecific; + } u; +} Z_ElementSetNames; + +/* ---------------------- RPN QUERY --------------------------- */ + +typedef struct Z_ComplexAttribute +{ + int num_list; + Z_StringOrNumeric **list; + int num_semanticAction; + int **semanticAction; /* OPTIONAL */ +} Z_ComplexAttribute; + +typedef struct Z_AttributeElement +{ + Odr_oid *attributeSet; /* OPTIONAL - v3 only */ + int *attributeType; + int which; +#define Z_AttributeValue_numeric 0 +#define Z_AttributeValue_complex 1 + union + { + int *numeric; + Z_ComplexAttribute *complex; + } value; +} Z_AttributeElement; + +typedef struct Z_Term +{ + int which; +#define Z_Term_general 0 +#define Z_Term_numeric 1 +#define Z_Term_characterString 2 +#define Z_Term_oid 3 +#define Z_Term_dateTime 4 +#define Z_Term_external 5 +#define Z_Term_integerAndUnit 6 +#define Z_Term_null 7 + union + { + Odr_oct *general; /* this is required for v2 */ + int *numeric; + char *characterString; + Odr_oid *oid; + char *dateTime; + Z_External *external; + /* Z_IntUnit *integerAndUnit; */ + Odr_null *null; + } u; +} Z_Term; + +typedef struct Z_AttributesPlusTerm +{ + int num_attributes; + Z_AttributeElement **attributeList; + Z_Term *term; +} Z_AttributesPlusTerm; + +typedef struct Z_ResultSetPlusAttributes +{ + char *resultSet; + int num_attributes; + Z_AttributeElement **attributeList; +} Z_ResultSetPlusAttributes; + +typedef struct Z_ProximityOperator +{ + bool_t *exclusion; /* OPTIONAL */ + int *distance; + bool_t *ordered; + int *relationType; +#define Z_Prox_lessThan 1 +#define Z_Prox_lessThanOrEqual 2 +#define Z_Prox_equal 3 +#define Z_Prox_greaterThanOrEqual 4 +#define Z_Prox_greaterThan 5 +#define Z_Prox_notEqual 6 + int which; +#define Z_ProxCode_known 0 +#define Z_ProxCode_private 1 + int *proximityUnitCode; +#define Z_ProxUnit_character 1 +#define Z_ProxUnit_word 2 +#define Z_ProxUnit_sentence 3 +#define Z_ProxUnit_paragraph 4 +#define Z_ProxUnit_section 5 +#define Z_ProxUnit_chapter 6 +#define Z_ProxUnit_document 7 +#define Z_ProxUnit_element 8 +#define Z_ProxUnit_subelement 9 +#define Z_ProxUnit_elementType 10 +#define Z_ProxUnit_byte 11 /* v3 only */ +} Z_ProximityOperator; + +typedef struct Z_Operator +{ + int which; +#define Z_Operator_and 0 +#define Z_Operator_or 1 +#define Z_Operator_and_not 2 +#define Z_Operator_prox 3 + union + { + Odr_null *and; /* these guys are nulls. */ + Odr_null *or; + Odr_null *and_not; + Z_ProximityOperator *prox; + } u; +} Z_Operator; + +typedef struct Z_Operand +{ + int which; +#define Z_Operand_APT 0 +#define Z_Operand_resultSetId 1 +#define Z_Operand_resultAttr /* v3 only */ 2 + union + { + Z_AttributesPlusTerm *attributesPlusTerm; + Z_ResultSetId *resultSetId; + Z_ResultSetPlusAttributes *resultAttr; + } u; +} Z_Operand; + +typedef struct Z_Complex +{ + struct Z_RPNStructure *s1; + struct Z_RPNStructure *s2; + Z_Operator *roperator; +} Z_Complex; + +typedef struct Z_RPNStructure +{ + int which; +#define Z_RPNStructure_simple 0 +#define Z_RPNStructure_complex 1 + union + { + Z_Operand *simple; + Z_Complex *complex; + } u; +} Z_RPNStructure; + +typedef struct Z_RPNQuery +{ + Odr_oid *attributeSetId; + Z_RPNStructure *RPNStructure; +} Z_RPNQuery; + +/* -------------------------- SEARCHREQUEST -------------------------- */ + +typedef struct Z_Query +{ + int which; +#define Z_Query_type_1 1 +#define Z_Query_type_2 2 +#define Z_Query_type_101 3 + union + { + Z_RPNQuery *type_1; + Odr_oct *type_2; + Z_RPNQuery *type_101; + } u; +} Z_Query; + +typedef struct Z_SearchRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *smallSetUpperBound; + int *largeSetLowerBound; + int *mediumSetPresentNumber; + bool_t *replaceIndicator; + char *resultSetName; + int num_databaseNames; + char **databaseNames; + Z_ElementSetNames *smallSetElementSetNames; /* OPTIONAL */ + Z_ElementSetNames *mediumSetElementSetNames; /* OPTIONAL */ + Odr_oid *preferredRecordSyntax; /* OPTIONAL */ + Z_Query *query; + Z_OtherInformation *additionalSearchInfo; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_SearchRequest; + +/* ------------------------ RECORD -------------------------- */ + +typedef Z_External Z_DatabaseRecord; + +typedef struct Z_DefaultDiagFormat +{ + Odr_oid *diagnosticSetId; /* This is opt'l to interwork with bad targets */ + int *condition; + /* until the whole character set issue becomes more definite, + * you can probably ignore this on input. */ + int which; +#define Z_DiagForm_v2AddInfo 0 +#define Z_DiagForm_v3AddInfo 1 + char *addinfo; +} Z_DefaultDiagFormat; + +typedef struct Z_DiagRec +{ + int which; +#define Z_DiagRec_defaultFormat 0 +#define Z_DiagRec_externallyDefined 1 + union + { + Z_DefaultDiagFormat *defaultFormat; + Z_External *externallyDefined; + } u; +} Z_DiagRec; + +typedef struct Z_DiagRecs +{ + int num_diagRecs; + Z_DiagRec **diagRecs; +} Z_DiagRecs; + +typedef struct Z_NamePlusRecord +{ + char *databaseName; /* OPTIONAL */ + int which; +#define Z_NamePlusRecord_databaseRecord 0 +#define Z_NamePlusRecord_surrogateDiagnostic 1 + union + { + Z_DatabaseRecord *databaseRecord; + Z_DiagRec *surrogateDiagnostic; + } u; +} Z_NamePlusRecord; + +typedef struct Z_NamePlusRecordList +{ + int num_records; + Z_NamePlusRecord **records; +} Z_NamePlusRecordList; + +typedef struct Z_Records +{ + int which; +#define Z_Records_DBOSD 0 +#define Z_Records_NSD 1 +#define Z_Records_multipleNSD 2 + union + { + Z_NamePlusRecordList *databaseOrSurDiagnostics; + Z_DiagRec *nonSurrogateDiagnostic; + Z_DiagRecs *multipleNonSurDiagnostics; + } u; +} Z_Records; + +/* ------------------------ SEARCHRESPONSE ------------------ */ + +typedef struct Z_SearchResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *resultCount; + int *numberOfRecordsReturned; + int *nextResultSetPosition; + bool_t *searchStatus; + int *resultSetStatus; /* OPTIONAL */ +#define Z_RES_SUBSET 1 +#define Z_RES_INTERIM 2 +#define Z_RES_NONE 3 + int *presentStatus; /* OPTIONAL */ +#define Z_PRES_SUCCESS 0 +#define Z_PRES_PARTIAL_1 1 +#define Z_PRES_PARTIAL_2 2 +#define Z_PRES_PARTIAL_3 3 +#define Z_PRES_PARTIAL_4 4 +#define Z_PRES_FAILURE 5 + Z_Records *records; /* OPTIONAL */ + Z_OtherInformation *additionalSearchInfo; + Z_OtherInformation *otherInfo; +} Z_SearchResponse; + +/* ------------------------- PRESENT SERVICE -----------------*/ + +typedef struct Z_ElementSpec +{ + int which; +#define Z_ElementSpec_elementSetName 0 +#define Z_ElementSpec_externalSpec 1 + union + { + char *elementSetName; + Z_External *externalSpec; + } u; +} Z_ElementSpec; + +typedef struct Z_Specification +{ + Odr_oid *schema; /* OPTIONAL */ + Z_ElementSpec *elementSpec; /* OPTIONAL */ +} Z_Specification; + +typedef struct Z_DbSpecific +{ + char *databaseName; + Z_Specification *spec; +} Z_DbSpecific; + +typedef struct Z_CompSpec +{ + bool_t *selectAlternativeSyntax; + Z_Specification *generic; /* OPTIONAL */ + int num_dbSpecific; + Z_DbSpecific **dbSpecific; /* OPTIONAL */ + int num_recordSyntax; + Odr_oid **recordSyntax; /* OPTIONAL */ +} Z_CompSpec; + +typedef struct Z_RecordComposition +{ + int which; +#define Z_RecordComp_simple 0 +#define Z_RecordComp_complex 1 + union + { + Z_ElementSetNames *simple; + Z_CompSpec *complex; + } u; +} Z_RecordComposition; + +typedef struct Z_Range +{ + int *startingPosition; + int *numberOfRecords; +} Z_Range; + +typedef struct Z_PresentRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + Z_ResultSetId *resultSetId; + int *resultSetStartPoint; + int *numberOfRecordsRequested; + int num_ranges; + Z_Range **additionalRanges; /* OPTIONAL */ + Z_RecordComposition *recordComposition; /* OPTIONAL */ + Odr_oid *preferredRecordSyntax; /* OPTIONAL */ + int *maxSegmentCount; /* OPTIONAL */ + int *maxRecordSize; /* OPTIONAL */ + int *maxSegmentSize; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_PresentRequest; + +typedef struct Z_PresentResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *numberOfRecordsReturned; + int *nextResultSetPosition; + int *presentStatus; + Z_Records *records; + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_PresentResponse; + +/* ------------------ RESOURCE CONTROL ----------------*/ + +typedef struct Z_TriggerResourceControlRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *requestedAction; +#define Z_TriggerResourceCtrl_resourceReport 1 +#define Z_TriggerResourceCtrl_resourceControl 2 +#define Z_TriggerResourceCtrl_cancel 3 + Odr_oid *prefResourceReportFormat; /* OPTIONAL */ + bool_t *resultSetWanted; /* OPTIONAL */ + Z_OtherInformation *otherInfo; +} Z_TriggerResourceControlRequest; + +typedef struct Z_ResourceControlRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + bool_t *suspendedFlag; /* OPTIONAL */ + Z_External *resourceReport; /* OPTIONAL */ + int *partialResultsAvailable; /* OPTIONAL */ +#define Z_ResourceControlRequest_subset 1 +#define Z_ResourceControlRequest_interim 2 +#define Z_ResourceControlRequest_none 3 + bool_t *responseRequired; + bool_t *triggeredRequestFlag; /* OPTIONAL */ + Z_OtherInformation *otherInfo; +} Z_ResourceControlRequest; + +typedef struct Z_ResourceControlResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + bool_t *continueFlag; + bool_t *resultSetWanted; /* OPTIONAL */ + Z_OtherInformation *otherInfo; +} Z_ResourceControlResponse; + + +/* ------------------ ACCESS CTRL SERVICE ----------------*/ + +typedef struct Z_AccessControlRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int which; +#define Z_AccessRequest_simpleForm 0 +#define Z_AccessRequest_externallyDefined 1 + union + { + Odr_oct *simpleForm; + Z_External *externallyDefined; + } u; + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_AccessControlRequest; + +typedef struct Z_AccessControlResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int which; +#define Z_AccessResponse_simpleForm 0 +#define Z_AccessResponse_externallyDefined 1 + union + { + Odr_oct *simpleForm; + Z_External *externallyDefined; + } u; + Z_DiagRec *diagnostic; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_AccessControlResponse; + +/* ------------------------ SCAN SERVICE -------------------- */ + +typedef struct Z_AttributeList +{ + int num_attributes; + Z_AttributeElement **attributes; +} Z_AttributeList; + +typedef struct Z_AlternativeTerm +{ + int num_terms; + Z_AttributesPlusTerm **terms; +} Z_AlternativeTerm; + +typedef struct Z_ByDatabase +{ + char *db; + int *num; /* OPTIONAL */ + Z_OtherInformation *otherDbInfo; /* OPTIONAL */ +} Z_ByDatabase; + +typedef struct Z_ByDatabaseList +{ + int num_elements; + Z_ByDatabase **elements; +} Z_ByDatabaseList; + +typedef struct Z_ScanOccurrences +{ + int which; +#define Z_ScanOccurrences_global 0 +#define Z_ScanOccurrences_byDatabase 1 + union + { + int *global; + Z_ByDatabaseList *byDatabase; + } u; + +} Z_ScanOccurrences; + +typedef struct Z_OccurrenceByAttributesElem +{ + Z_AttributeList *attributes; + Z_ScanOccurrences *occurrences; /* OPTIONAL */ + Z_OtherInformation *otherOccurInfo; /* OPTIONAL */ +} Z_OccurrenceByAttributesElem; + +typedef struct Z_OccurrenceByAttributes +{ + int num_elements; + Z_OccurrenceByAttributesElem **elements; +} Z_OccurrenceByAttributes; + +typedef struct Z_TermInfo +{ + Z_Term *term; + char *displayTerm; /* OPTIONAL */ + Z_AttributeList *suggestedAttributes; /* OPTIONAL */ + Z_AlternativeTerm *alternativeTerm; /* OPTIONAL */ + int *globalOccurrences; /* OPTIONAL */ + Z_OccurrenceByAttributes *byAttributes; /* OPTIONAL */ + Z_OtherInformation *otherTermInfo; /* OPTIONAL */ +} Z_TermInfo; + +typedef struct Z_Entry +{ + int which; +#define Z_Entry_termInfo 0 +#define Z_Entry_surrogateDiagnostic 1 + union + { + Z_TermInfo *termInfo; + Z_DiagRec *surrogateDiagnostic; + } u; +} Z_Entry; + +#ifdef BUGGY_LISTENTRIES + +typedef struct Z_Entries +{ + int num_entries; + Z_Entry **entries; +} Z_Entries; + +typedef struct Z_ListEntries +{ + int which; +#define Z_ListEntries_entries 0 +#define Z_ListEntries_nonSurrogateDiagnostics 1 + union + { + Z_Entries *entries; + Z_DiagRecs *nonSurrogateDiagnostics; + } u; +} Z_ListEntries; + +#endif + +typedef struct Z_ListEntries { + int num_entries; + Z_Entry **entries; /* OPT */ + int num_nonsurrogateDiagnostics; + Z_DiagRec **nonsurrogateDiagnostics; /* OPT */ +} Z_ListEntries; + +typedef struct Z_ScanRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int num_databaseNames; + char **databaseNames; + Odr_oid *attributeSet; /* OPTIONAL */ + Z_AttributesPlusTerm *termListAndStartPoint; + int *stepSize; /* OPTIONAL */ + int *numberOfTermsRequested; + int *preferredPositionInResponse; /* OPTIONAL */ + Z_OtherInformation *otherInfo; +} Z_ScanRequest; + +typedef struct Z_ScanResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *stepSize; /* OPTIONAL */ + int *scanStatus; +#define Z_Scan_success 0 +#define Z_Scan_partial_1 1 +#define Z_Scan_partial_2 2 +#define Z_Scan_partial_3 3 +#define Z_Scan_partial_4 4 +#define Z_Scan_partial_5 5 +#define Z_Scan_failure 6 + int *numberOfEntriesReturned; + int *positionOfTerm; /* OPTIONAL */ + Z_ListEntries *entries; /* OPTIONAL */ + Odr_oid *attributeSet; /* OPTIONAL */ + Z_OtherInformation *otherInfo; +} Z_ScanResponse; + + +/* ------------------------ DELETE -------------------------- */ + +#define Z_DeleteStatus_success 0 +#define Z_DeleteStatus_resultSetDidNotExist 1 +#define Z_DeleteStatus_previouslyDeletedByTarget 2 +#define Z_DeleteStatus_systemProblemAtTarget 3 +#define Z_DeleteStatus_accessNotAllowed 4 +#define Z_DeleteStatus_resourceControlAtOrigin 5 +#define Z_DeleteStatus_resourceControlAtTarget 6 +#define Z_DeleteStatus_bulkDeleteNotSupported 7 +#define Z_DeleteStatus_notAllRsltSetsDeletedOnBulkDlte 8 +#define Z_DeleteStatus_notAllRequestedResultSetsDeleted 9 +#define Z_DeleteStatus_resultSetInUse 10 + +typedef struct Z_ListStatus +{ + Z_ResultSetId *id; + int *status; +} Z_ListStatus; + +typedef struct Z_DeleteResultSetRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *deleteFunction; +#define Z_DeleteRequest_list 0 +#define Z_DeleteRequest_all 1 + int num_resultSetList; + Z_ResultSetId **resultSetList; /* OPTIONAL */ + Z_OtherInformation *otherInfo; +} Z_DeleteResultSetRequest; + +typedef struct Z_ListStatuses { + int num; + Z_ListStatus **elements; +} Z_ListStatuses; + +typedef struct Z_DeleteResultSetResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *deleteOperationStatus; + Z_ListStatuses *deleteListStatuses;/* OPTIONAL */ + int *numberNotDeleted; /* OPTIONAL */ + Z_ListStatuses *bulkStatuses; /* OPTIONAL */ + char *deleteMessage; /* OPTIONAL */ + Z_OtherInformation *otherInfo; +} Z_DeleteResultSetResponse; + +/* ------------------------ CLOSE SERVICE ------------------- */ + +typedef struct Z_Close +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *closeReason; +#define Z_Close_finished 0 +#define Z_Close_shutdown 1 +#define Z_Close_systemProblem 2 +#define Z_Close_costLimit 3 +#define Z_Close_resources 4 +#define Z_Close_securityViolation 5 +#define Z_Close_protocolError 6 +#define Z_Close_lackOfActivity 7 +#define Z_Close_peerAbort 8 +#define Z_Close_unspecified 9 + char *diagnosticInformation; /* OPTIONAL */ + Odr_oid *resourceReportFormat; /* OPTIONAL */ + Z_External *resourceReport; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_Close; + +/* ------------------------ SEGMENTATION -------------------- */ + +typedef struct Z_Segment +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *numberOfRecordsReturned; + int num_segmentRecords; + Z_NamePlusRecord **segmentRecords; + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_Segment; + +/* ----------------------- Extended Services ---------------- */ + +typedef struct Z_Permissions +{ + char *userId; + int num_allowableFunctions; + int **allowableFunctions; +#define Z_Permissions_delete 1 +#define Z_Permissions_modifyContents 2 +#define Z_Permissions_modifyPermissions 3 +#define Z_Permissions_present 4 +#define Z_Permissions_invoke 5 +} Z_Permissions; + +typedef struct Z_ExtendedServicesRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *function; +#define Z_ExtendedServicesRequest_create 1 +#define Z_ExtendedServicesRequest_delete 2 +#define Z_ExtendedServicesRequest_modify 3 + Odr_oid *packageType; + char *packageName; /* OPTIONAL */ + char *userId; /* OPTIONAL */ + Z_IntUnit *retentionTime; /* OPTIONAL */ + Z_Permissions *permissions; /* OPTIONAL */ + char *description; /* OPTIONAL */ + Z_External *taskSpecificParameters; /* OPTIONAL */ + int *waitAction; +#define Z_ExtendedServicesRequest_wait 1 +#define Z_ExtendedServicesRequest_waitIfPossible 2 +#define Z_ExtendedServicesRequest_dontWait 3 +#define Z_ExtendedServicesRequest_dontReturnPackage 4 + char *elements; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_ExtendedServicesRequest; + +typedef struct Z_ExtendedServicesResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *operationStatus; +#define Z_ExtendedServicesResponse_done 1 +#define Z_ExtendedServicesResponse_accepted 2 +#define Z_ExtendedServicesResponse_failure 3 + int num_diagnostics; + Z_DiagRec **diagnostics; /* OPTIONAL */ + Z_External *taskPackage; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_ExtendedServicesResponse; + +/* ------------------------ Sort --------------------------- */ + +typedef struct Z_SortAttributes +{ + Odr_oid *id; + Z_AttributeList *list; +} Z_SortAttributes; + +typedef struct Z_SortKey +{ + int which; +#define Z_SortKey_sortField 0 +#define Z_SortKey_elementSpec 1 +#define Z_SortKey_sortAttributes 2 + union + { + char *sortField; + Z_Specification *elementSpec; + Z_SortAttributes *sortAttributes; + } u; +} Z_SortKey; + +typedef struct Z_SortDbSpecific +{ + char *databaseName; + Z_SortKey *dbSort; +} Z_SortDbSpecific; + +typedef struct Z_SortDbSpecificList +{ + int num_dbSpecific; + Z_SortDbSpecific **dbSpecific; +} Z_SortDbSpecificList; + +typedef struct Z_SortElement +{ + int which; +#define Z_SortElement_generic 0 +#define Z_SortElement_databaseSpecific 1 + union + { + Z_SortKey *generic; + Z_SortDbSpecificList *databaseSpecific; + } u; +} Z_SortElement; + +typedef struct Z_SortMissingValueAction +{ + int which; +#define Z_SortMissingValAct_abort 0 +#define Z_SortMissingValAct_null 1 +#define Z_SortMissingValAct_valData 2 + union + { + Odr_null *abort; + Odr_null *null; + Odr_oct *valData; + } u; +} Z_SortMissingValueAction; + +typedef struct Z_SortKeySpec +{ + Z_SortElement *sortElement; + int *sortRelation; +#define Z_SortRelation_ascending 0 +#define Z_SortRelation_descending 1 +#define Z_SortRelation_ascendingByFreq 3 +#define Z_SortRelation_descendingByFreq 4 + int *caseSensitivity; +#define Z_SortCase_caseSensitive 0 +#define Z_SortCase_caseInsensitive 1 + Z_SortMissingValueAction *missingValueAction; /* OPTIONAL */ +} Z_SortKeySpec; + +typedef struct Z_SortResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *sortStatus; +#define Z_SortStatus_success 0 +#define Z_SortStatus_partial_1 1 +#define Z_SortStatus_failure 2 + int *resultSetStatus; /* OPTIONAL */ +#define Z_SortResultSetStatus_empty 1 +#define Z_SortResultSetStatus_interim 2 +#define Z_SortResultSetStatus_unchanged 3 +#define Z_SortResultSetStatus_none 4 + Z_DiagRecs *diagnostics; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_SortResponse; + +typedef struct Z_SortKeySpecList +{ + int num_specs; + Z_SortKeySpec **specs; +} Z_SortKeySpecList; + +typedef struct Z_SortRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + Z_StringList *inputResultSetNames; + char *sortedResultSetName; + Z_SortKeySpecList *sortSequence; + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_SortRequest; + +/* ----------------------- Resource Report ------------------ */ + +typedef struct Z_ResourceReportRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + Z_ReferenceId *opId; /* OPTIONAL */ + Odr_oid *prefResourceReportFormat; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_ResourceReportRequest; + +typedef struct Z_ResourceReportResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *resourceReportStatus; +#define Z_ResourceReportStatus_success 0 +#define Z_ResourceReportStatus_partial 1 +#define Z_ResourceReportStatus_failure_1 2 +#define Z_ResourceReportStatus_failure_2 3 +#define Z_ResourceReportStatus_failure_3 4 +#define Z_ResourceReportStatus_failure_4 5 +#define Z_ResourceReportStatus_failure_5 6 +#define Z_ResourceReportStatus_failure_6 7 + Z_External *resourceReport; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_ResourceReportResponse; + +/* ------------------------ APDU ---------------------------- */ + +typedef struct Z_APDU +{ + int which; +#define Z_APDU_initRequest 0 +#define Z_APDU_initResponse 1 +#define Z_APDU_searchRequest 2 +#define Z_APDU_searchResponse 3 +#define Z_APDU_presentRequest 4 +#define Z_APDU_presentResponse 5 +#define Z_APDU_deleteResultSetRequest 6 +#define Z_APDU_deleteResultSetResponse 7 +#define Z_APDU_resourceControlRequest 8 +#define Z_APDU_resourceControlResponse 9 +#define Z_APDU_triggerResourceControlRequest 10 +#define Z_APDU_scanRequest 11 +#define Z_APDU_scanResponse 12 +#define Z_APDU_segmentRequest 13 +#define Z_APDU_extendedServicesRequest 14 +#define Z_APDU_extendedServicesResponse 15 +#define Z_APDU_close 16 +#define Z_APDU_accessControlRequest 17 +#define Z_APDU_accessControlResponse 18 +#define Z_APDU_sortRequest 20 +#define Z_APDU_sortResponse 21 +#define Z_APDU_resourceReportRequest 22 +#define Z_APDU_resourceReportResponse 23 + union + { + Z_InitRequest *initRequest; + Z_InitResponse *initResponse; + Z_SearchRequest *searchRequest; + Z_SearchResponse *searchResponse; + Z_PresentRequest *presentRequest; + Z_PresentResponse *presentResponse; + Z_DeleteResultSetRequest *deleteResultSetRequest; + Z_DeleteResultSetResponse *deleteResultSetResponse; + Z_AccessControlRequest *accessControlRequest; + Z_AccessControlResponse *accessControlResponse; + Z_ResourceControlRequest *resourceControlRequest; + Z_ResourceControlResponse *resourceControlResponse; + Z_TriggerResourceControlRequest *triggerResourceControlRequest; + Z_ResourceReportRequest *resourceReportRequest; + Z_ResourceReportResponse *resourceReportResponse; + Z_ScanRequest *scanRequest; + Z_ScanResponse *scanResponse; + Z_SortRequest *sortRequest; + Z_SortResponse *sortResponse; + Z_Segment *segmentRequest; + Z_ExtendedServicesRequest *extendedServicesRequest; + Z_ExtendedServicesResponse *extendedServicesResponse; + Z_Close *close; + } u; +} Z_APDU; + +#define z_APDU z_APDU_old + +YAZ_EXPORT int z_APDU(ODR o, Z_APDU **p, int opt, const char *name); +YAZ_EXPORT int z_SUTRS(ODR o, Odr_oct **p, int opt, const char *name); + +YAZ_EXPORT Z_InitRequest *zget_InitRequest(ODR o); +YAZ_EXPORT Z_InitResponse *zget_InitResponse(ODR o); +YAZ_EXPORT Z_SearchRequest *zget_SearchRequest(ODR o); +YAZ_EXPORT Z_SearchResponse *zget_SearchResponse(ODR o); +YAZ_EXPORT Z_PresentRequest *zget_PresentRequest(ODR o); +YAZ_EXPORT Z_PresentResponse *zget_PresentResponse(ODR o); +YAZ_EXPORT Z_DeleteResultSetRequest *zget_DeleteResultSetRequest(ODR o); +YAZ_EXPORT Z_DeleteResultSetResponse *zget_DeleteResultSetResponse(ODR o); +YAZ_EXPORT Z_ScanRequest *zget_ScanRequest(ODR o); +YAZ_EXPORT Z_ScanResponse *zget_ScanResponse(ODR o); +YAZ_EXPORT Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o); +YAZ_EXPORT Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o); +YAZ_EXPORT Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o); +YAZ_EXPORT Z_Close *zget_Close(ODR o); +YAZ_EXPORT int z_StringList(ODR o, Z_StringList **p, int opt, + const char *name); +YAZ_EXPORT int z_InternationalString(ODR o, char **p, int opt, + const char *name); +YAZ_EXPORT int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt, + const char *naem); +YAZ_EXPORT int z_ElementSetName(ODR o, char **p, int opt, const char *name); +YAZ_EXPORT int z_IntUnit(ODR o, Z_IntUnit **p, int opt, const char *name); +YAZ_EXPORT int z_Unit(ODR o, Z_Unit **p, int opt, const char *name); +YAZ_EXPORT int z_DatabaseName(ODR o, Z_DatabaseName **p, int opt, + const char *name); +YAZ_EXPORT int z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt, + const char *name); +YAZ_EXPORT int z_OtherInformationUnit(ODR o, Z_OtherInformationUnit **p, + int opt, const char *name); +YAZ_EXPORT int z_Term(ODR o, Z_Term **p, int opt, const char *name); +YAZ_EXPORT int z_Specification(ODR o, Z_Specification **p, int opt, + const char *name); +YAZ_EXPORT int z_Permissions(ODR o, Z_Permissions **p, int opt, + const char *name); +YAZ_EXPORT int z_DiagRec(ODR o, Z_DiagRec **p, int opt, const char *name); +YAZ_EXPORT int z_DiagRecs(ODR o, Z_DiagRecs **p, int opt, const char *name); +YAZ_EXPORT int z_AttributeList(ODR o, Z_AttributeList **p, int opt, + const char *name); +YAZ_EXPORT int z_DefaultDiagFormat(ODR o, Z_DefaultDiagFormat **p, int opt, + const char *name); +YAZ_EXPORT Z_APDU *zget_APDU(ODR o, int which); +YAZ_EXPORT int z_Query(ODR o, Z_Query **p, int opt, const char *name); + +#ifdef __cplusplus +} +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#endif diff --git a/include/z-proto.h b/include/z-proto.h new file mode 100644 index 0000000..2d849b6 --- /dev/null +++ b/include/z-proto.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 1998-1999, Index Data + * See the file LICENSE for details. + * Sebastian Hammer, Adam Dickmeiss + * + * $Log: z-proto.h,v $ + * Revision 1.1 1999-06-08 13:11:55 adam + * Fixed problem with proto.h. + * + * Revision 1.2 1999/04/20 10:37:04 adam + * Updated for ODR - added name parameter. + * + * Revision 1.1 1998/03/31 16:04:05 adam + * First version of proto.h which is almost compatible with the old one. + * + */ +#ifndef Z_PROTO_H +#define Z_PROTO_H + +#define Z_95 1 +#define ASN_COMPILED 1 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define Z_PRES_SUCCESS Z_PresentStatus_success +#define Z_PRES_PARTIAL_1 Z_PresentStatus_partial_1 +#define Z_PRES_PARTIAL_2 Z_PresentStatus_partial_2 +#define Z_PRES_PARTIAL_3 Z_PresentStatus_partial_3 +#define Z_PRES_PARTIAL_4 Z_PresentStatus_partial_4 +#define Z_PRES_FAILURE Z_PresentStatus_failure + +#define Z_RES_SUBSET Z_SearchResponse_subset +#define Z_RES_INTERIM Z_SearchResponse_interim +#define Z_RES_NONE Z_SearchResponse_none + +#define Z_SortStatus_success Z_SortResponse_success +#define Z_SortStatus_partial_1 Z_SortResponse_partial_1 +#define Z_SortStatus_failure Z_SortResponse_failure + +#define Z_SortRelation_ascending Z_SortKeySpec_ascending +#define Z_SortRelation_descending Z_SortKeySpec_descending +#define Z_SortRelation_ascendingByFreq Z_SortKeySpec_ascendingByFrequency +#define Z_SortRelation_descendingByFreq Z_SortKeySpec_descendingByfrequency + +#define Z_SortCase_caseSensitive Z_SortKeySpec_caseSensitive +#define Z_SortCase_caseInsensitive Z_SortKeySpec_descendingByfrequency + +#define Z_TriggerResourceCtrl_resourceReport Z_TriggerResourceControlRequest_resourceReport +#define Z_TriggerResourceCtrl_resourceControl Z_TriggerResourceControlRequest_resourceControl +#define Z_TriggerResourceCtrl_cancel Z_TriggerResourceControlRequest_cancel + +#define Z_DeleteRequest_list Z_DeleteResultSetRequest_list +#define Z_DeleteRequest_all Z_DeleteResultSetRequest_all + +#define Z_AccessRequest_simpleForm Z_AccessControlRequest_simpleForm +#define Z_AccessRequest_externallyDefined Z_AccessControlRequest_externallyDefined + +#define Z_AccessResponse_simpleForm Z_AccessControlResponse_simpleForm +#define Z_AccessResponse_externallyDefined Z_AccessControlResponse_externallyDefined + +#define Z_ResourceReportStatus_success Z_ResourceReportResponse_success +#define Z_ResourceReportStatus_partial Z_ResourceReportResponse_partial +#define Z_ResourceReportStatus_failure_1 Z_ResourceReportResponse_failure_1 +#define Z_ResourceReportStatus_failure_2 Z_ResourceReportResponse_failure_2 +#define Z_ResourceReportStatus_failure_3 Z_ResourceReportResponse_failure_3 +#define Z_ResourceReportStatus_failure_4 Z_ResourceReportResponse_failure_4 +#define Z_ResourceReportStatus_failure_5 Z_ResourceReportResponse_failure_5 +#define Z_ResourceReportStatus_failure_6 Z_ResourceReportResponse_failure_6 + +#define Z_SortResultSetStatus_empty Z_SortResponse_empty +#define Z_SortResultSetStatus_interim Z_SortResponse_interim +#define Z_SortResultSetStatus_unchanged Z_SortResponse_unchanged +#define Z_SortResultSetStatus_none Z_SortResponse_none + +typedef Z_External Z_DatabaseRecord; +typedef struct Z_IOItemOrder Z_ItemOrder; + +Z_APDU *zget_APDU(ODR o, int which); +Z_Close *zget_Close (ODR o); + +#ifdef __cplusplus +} +#endif + +#include + +#endif diff --git a/z39.50/Makefile.in b/z39.50/Makefile.in index b8a0cf8..0f071c9 100644 --- a/z39.50/Makefile.in +++ b/z39.50/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.1 1999-06-08 10:10:16 adam Exp $ +# $Id: Makefile.in,v 1.2 1999-06-08 13:11:55 adam Exp $ SHELL=/bin/sh @@ -42,8 +42,8 @@ $(LIB): $(PO) ar qc $(LIB) $(PO) $(RANLIB) $(LIB) -z-accdes1.h z-core.h: z.tcl z3950v3.asn ../util/yc.tcl - ../util/yc.tcl -d z.tcl $(YCFLAGS) z3950v3.asn +$(CF) z-accdes1.h z-core.h: z.tcl z3950v3.asn ../util/yc.tcl + ../util/yc.tcl -d z.tcl $(YCFLAGS) z3950v3.asn z-date.h z-date.c: z.tcl datetime.asn ../util/yc.tcl ../util/yc.tcl -d z.tcl $(YCFLAGS) datetime.asn @@ -63,7 +63,9 @@ clean: realclean: clean -rm -f z-*.[cho] zes-*.[cho] -depend: z-core.h z-date.h z-univ.h zes-update.c +comp: z-core.h z-date.h z-univ.h zes-update.h + +depend: z-core.h z-date.h z-univ.h zes-update.h sed '/^#Depend/q' Makefile.tmp $(CPP) $(DEFS) -M *.c >>Makefile.tmp mv -f Makefile.tmp Makefile diff --git a/zutil/Makefile.in b/zutil/Makefile.in index bfb6acd..479f6b3 100644 --- a/zutil/Makefile.in +++ b/zutil/Makefile.in @@ -1,7 +1,7 @@ # Copyright (C) 1994-1999, Index Data # All rights reserved. # Sebastian Hammer, Adam Dickmeiss -# $Id: Makefile.in,v 1.1 1999-06-08 10:10:49 adam Exp $ +# $Id: Makefile.in,v 1.2 1999-06-08 13:11:55 adam Exp $ SHELL=/bin/sh @@ -16,8 +16,7 @@ LIBDIR=../lib DEFS=$(INCLUDE) $(CDEFS) LIB=$(LIBDIR)/libzutil.a -PO = zget.o prt-ext.o yaz-ccl.o diagbib1.o logrpn.o otherinfo.o query.o \ - pquery.o +PO = zget.o prt-ext.o yaz-ccl.o diagbib1.o logrpn.o otherinfo.o pquery.o all: $(LIB) -- 1.7.10.4