# 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
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@
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
# 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
CDEFS=@DEFS@
LIBS=@LIBS@
-INCLUDE=-I../include -I.
+INCLUDE=-I. -I../include
LIBDIR=../lib
LIBINCLUDE=-L$(LIBDIR)
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 <<EOF
-#line 966 "configure"
+#line 967 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
; return 0; }
EOF
-if { (eval echo configure:989: \"$ac_link\") 1>&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
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
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1018 "configure"
+#line 1019 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:1025: \"$ac_link\") 1>&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
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 <<EOF
-#line 1056 "configure"
+#line 1057 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char accept(); below. */
; return 0; }
EOF
-if { (eval echo configure:1079: \"$ac_link\") 1>&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
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 <<EOF
-#line 1106 "configure"
+#line 1107 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
; return 0; }
EOF
-if { (eval echo configure:1129: \"$ac_link\") 1>&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
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
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1155 "configure"
+#line 1156 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:1162: \"$ac_link\") 1>&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
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
ac_save_LIBS="$LIBS"
LIBS="-lreadline $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1193 "configure"
+#line 1194 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
readline()
; return 0; }
EOF
-if { (eval echo configure:1204: \"$ac_link\") 1>&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
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
ac_save_LIBS="$LIBS"
LIBS="-lhistory $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1233 "configure"
+#line 1234 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
add_history()
; return 0; }
EOF
-if { (eval echo configure:1244: \"$ac_link\") 1>&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
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
-#line 1274 "configure"
+#line 1275 "configure"
#include "confdefs.h"
#include <$ac_hdr>
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*
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 <<EOF
-#line 1311 "configure"
+#line 1312 "configure"
#include "confdefs.h"
#include <syslog.h>
#include <tcpd.h>
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
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 <<EOF
-#line 1348 "configure"
+#line 1349 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
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*
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
-#line 1373 "configure"
+#line 1374 "configure"
#include "confdefs.h"
#include <string.h>
EOF
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
-#line 1391 "configure"
+#line 1392 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
:
else
cat > conftest.$ac_ext <<EOF
-#line 1412 "configure"
+#line 1413 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
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
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
-#line 1467 "configure"
+#line 1468 "configure"
#include "confdefs.h"
#include <$ac_hdr>
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*
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 <<EOF
-#line 1504 "configure"
+#line 1505 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char pthread_mutex_lock(); below. */
; return 0; }
EOF
-if { (eval echo configure:1527: \"$ac_link\") 1>&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
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
ac_save_LIBS="$LIBS"
LIBS="-lpthread $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1556 "configure"
+#line 1557 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:1563: \"$ac_link\") 1>&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
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 <<EOF
cat >> $CONFIG_STATUS <<EOF
-CONFIG_FILES=\${CONFIG_FILES-"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"}
+CONFIG_FILES=\${CONFIG_FILES-"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"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
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
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
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)
+++ /dev/null
-/*
- * 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 <yconfig.h>
-#include <odr.h>
-#include <oid.h>
-#include <odr_use.h>
-#include <yaz-version.h>
-
-#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 <prt-rsc.h>
-#include <prt-acc.h>
-#include <prt-exp.h>
-#include <prt-grs.h>
-#include <prt-arc.h>
-#include <prt-exd.h>
-#include <prt-dia.h>
-#include <prt-esp.h>
-#include <prt-add.h>
-
-#include <prt-dat.h>
-#include <prt-univ.h>
-#include <prt-ext.h>
-
-#endif
--- /dev/null
+/*
+ * 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 <yconfig.h>
+#include <odr.h>
+#include <oid.h>
+#include <odr_use.h>
+#include <yaz-version.h>
+
+#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 <prt-rsc.h>
+#include <prt-acc.h>
+#include <prt-exp.h>
+#include <prt-grs.h>
+#include <prt-arc.h>
+#include <prt-exd.h>
+#include <prt-dia.h>
+#include <prt-esp.h>
+#include <prt-add.h>
+
+#include <prt-dat.h>
+#include <prt-univ.h>
+#include <prt-ext.h>
+
+#endif
--- /dev/null
+/*
+ * 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 <yaz-version.h>
+#include <z-accdes1-p.h>
+#include <z-accform1-p.h>
+#include <z-acckrb1-p.h>
+#include <z-core-p.h>
+#include <z-diag1-p.h>
+#include <z-espec1-p.h>
+#include <z-estask-p.h>
+#include <z-exp-p.h>
+#include <z-grs-p.h>
+#include <z-opac-p.h>
+#include <z-rrf1-p.h>
+#include <z-rrf2-p.h>
+#include <z-sum-p.h>
+#include <z-sutrs-p.h>
+#include <z-uifr1-p.h>
+#include <zes-expi-p.h>
+#include <zes-exps-p.h>
+#include <zes-order-p.h>
+#include <zes-pquery-p.h>
+#include <zes-psched-p.h>
+#include <zes-pset-p.h>
+#include <zes-update-p.h>
+#include <z-date-p.h>
+#include <z-univ-p.h>
+
+#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 <prt-ext.h>
+
+#endif
-# $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
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
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 >Makefile.tmp
$(CPP) $(DEFS) -M *.c >>Makefile.tmp
mv -f Makefile.tmp Makefile
# 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
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)