fi
+
+
# Check whether --enable-yc or --disable-yc was given.
if test "${enable_yc+set}" = set; then
enableval="$enable_yc"
if test "$enable_yc" = "yes"; then
ASNMODULE="z39.50"
+ ILLMODULE="ill"
+ ILLLIB=libill.a
cp -f include/yaz/z-proto.h include/yaz/proto.h
else
+ ILLMODULE=""
ASNMODULE=asn
+ ILLLIB=""
cp -f include/yaz/prt-proto.h include/yaz/proto.h
fi
checkBoth=0
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:975: checking for connect" >&5
+echo "configure:981: 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 980 "configure"
+#line 986 "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:1003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1009: \"$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:1024: checking for main in -lsocket" >&5
+echo "configure:1030: 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 1032 "configure"
+#line 1038 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:1039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1045: \"$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:1065: checking for accept" >&5
+echo "configure:1071: 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 1070 "configure"
+#line 1076 "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:1093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1099: \"$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:1115: checking for gethostbyname" >&5
+echo "configure:1121: 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 1120 "configure"
+#line 1126 "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:1143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1149: \"$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:1161: checking for main in -lnsl" >&5
+echo "configure:1167: 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 1169 "configure"
+#line 1175 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:1176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1182: \"$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:1199: checking for readline in -lreadline" >&5
+echo "configure:1205: 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 1207 "configure"
+#line 1213 "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:1218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1224: \"$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:1239: checking for add_history in -lhistory" >&5
+echo "configure:1245: 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 1247 "configure"
+#line 1253 "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:1258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1264: \"$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:1283: checking for $ac_hdr" >&5
+echo "configure:1289: 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 1288 "configure"
+#line 1294 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1293: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1299: \"$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 "$enable_tcpd" = "yes"; then
echo $ac_n "checking for working tcpd.h""... $ac_c" 1>&6
-echo "configure:1328: checking for working tcpd.h" >&5
+echo "configure:1334: checking for working tcpd.h" >&5
oldLibs=$LIBS
LIBS="$LIBS -lwrap -lnsl"
cat > conftest.$ac_ext <<EOF
-#line 1332 "configure"
+#line 1338 "configure"
#include "confdefs.h"
#include <syslog.h>
#include <tcpd.h>
i = hosts_access(&request_info);
; return 0; }
EOF
-if { (eval echo configure:1343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
tcpd_ok=1
else
fi
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1365: checking for ANSI C header files" >&5
+echo "configure:1371: 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 1370 "configure"
+#line 1376 "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:1378: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1384: \"$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 1395 "configure"
+#line 1401 "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 1413 "configure"
+#line 1419 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
:
else
cat > conftest.$ac_ext <<EOF
-#line 1434 "configure"
+#line 1440 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:1445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1451: \"$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:1482: checking for $ac_hdr" >&5
+echo "configure:1488: 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 1487 "configure"
+#line 1493 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1498: \"$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:1519: checking for pthread_mutex_lock" >&5
+echo "configure:1525: 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 1524 "configure"
+#line 1530 "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:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1553: \"$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:1568: checking for main in -lpthread" >&5
+echo "configure:1574: 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 1576 "configure"
+#line 1582 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:1583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1589: \"$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 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
+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 ill/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
s%@RANLIB@%$RANLIB%g
s%@build_root@%$build_root%g
s%@ASNMODULE@%$ASNMODULE%g
+s%@ILLMODULE@%$ILLMODULE%g
+s%@ILLLIB@%$ILLLIB%g
CEOF
EOF
cat >> $CONFIG_STATUS <<EOF
-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"}
+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 ill/Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
--- /dev/null
+-- use of parameters and types is to be consistent with their definitions in clause 3
+
+ISO-10161-ILL-1 DEFINITIONS EXPLICIT TAGS ::=
+
+BEGIN
+-- ISO-10161-ILL-1 refers to the ILL ISO standard 10161 version 1
+-- and version 2 as specified in ISO standard 10161 Amendment 1
+
+ILL-APDU ::= CHOICE {
+ ILL-Request,
+ Forward-Notification,
+ Shipped,
+ ILL-Answer,
+ Conditional-Reply,
+ Cancel,
+ Cancel-Reply,
+ Received,
+ Recall,
+ Returned,
+ Checked-In,
+ Overdue,
+ Renew,
+ Renew-Answer,
+ Lost,
+ Damaged,
+ Message,
+ Status-Query,
+ Status-Or-Error-Report,
+ Expired
+ }
+
+-- The tagging scheme used in the APDU definitions is as follows:
+-- each named type that is a component type of an APDU definition is assigned a different tag
+-- that is unique within the set of APDU definitions. Where these component types themselves
+-- have structure, the tagging within such type definitions has only local scope.
+
+ILL-Request ::= [APPLICATION 1] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ transaction-type [5] IMPLICIT Transaction-Type DEFAULT 1,
+ delivery-address [6] IMPLICIT Delivery-Address OPTIONAL,
+ delivery-service Delivery-Service OPTIONAL,
+ billing-address [8] IMPLICIT Delivery-Address OPTIONAL,
+ iLL-service-type [9] IMPLICIT SEQUENCE SIZE (1..5) OF
+ ILL-Service-Type,
+ -- this sequence is a list, in order of preference
+ responder-specific-service [10] EXTERNAL OPTIONAL,
+ -- use direct reference style
+ requester-optional-messages [11] IMPLICIT Requester-Optional-Messages-Type,
+ search-type [12] IMPLICIT Search-Type OPTIONAL,
+ supply-medium-info-type [13] IMPLICIT SEQUENCE SIZE (1..7) OF
+ Supply-Medium-Info-Type OPTIONAL,
+ -- this sequence is a list, in order of preference,
+ -- with a maximum number of 7 entries
+ place-on-hold [14] IMPLICIT Place-On-Hold-Type DEFAULT 3,
+ client-id [15] IMPLICIT Client-Id OPTIONAL,
+ item-id [16] IMPLICIT Item-Id,
+ supplemental-item-description [17] IMPLICIT Supplemental-Item-Description OPTIONAL,
+ cost-info-type [18] IMPLICIT Cost-Info-Type OPTIONAL,
+ copyright-compliance [19] ILL-String OPTIONAL,
+ third-party-info-type [20] IMPLICIT Third-Party-Info-Type OPTIONAL,
+ -- mandatory when initiating a FORWARD service or an
+ -- ILL-REQUEST service for a partitioned ILL sub-
+ -- transaction or when initiating an ILL-REQUEST service for
+ -- an ILL sub-transaction if the received ILL-REQUEST
+ -- included an "already-tried-list";optional otherwise
+ retry-flag [21] IMPLICIT BOOLEAN DEFAULT FALSE,
+ forward-flag [22] IMPLICIT BOOLEAN DEFAULT FALSE,
+ requester-note [46] ILL-String OPTIONAL,
+ forward-note [47] ILL-String OPTIONAL,
+ iLL-request-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Forward-Notification ::= [APPLICATION 2] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id,
+ -- mandatory in this APDU
+ responder-address [24] IMPLICIT System-Address OPTIONAL,
+ intermediary-id [25] IMPLICIT System-Id,
+ notification-note [48] ILL-String OPTIONAL,
+ forward-notification-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Shipped ::= [APPLICATION 3] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-address [24] IMPLICIT System-Address OPTIONAL,
+ intermediary-id [25] IMPLICIT System-Id OPTIONAL,
+ supplier-id [26] IMPLICIT System-Id OPTIONAL,
+ client-id [15] IMPLICIT Client-Id OPTIONAL,
+ transaction-type [5] IMPLICIT Transaction-Type DEFAULT 1,
+ supplemental-item-description [17] IMPLICIT Supplemental-Item-Description OPTIONAL,
+ shipped-service-type [27] IMPLICIT Shipped-Service-Type,
+ responder-optional-messages [28] IMPLICIT Responder-Optional-Messages-Type
+ OPTIONAL,
+ supply-details [29] IMPLICIT Supply-Details,
+ return-to-address [30] IMPLICIT Postal-Address OPTIONAL,
+ responder-note [46] ILL-String OPTIONAL,
+ shipped-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+ILL-Answer ::= [APPLICATION 4] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ transaction-results [31] IMPLICIT Transaction-Results,
+ results-explanation [32] CHOICE {
+ conditional-results [1] Conditional-Results,
+ -- chosen if transaction-results=CONDITIONAL
+ retry-results [2] Retry-Results,
+ -- chosen if transaction-results=RETRY
+ unfilled-results [3] Unfilled-Results,
+ --chosen if transaction-results=UNFILLED
+ locations-results [4] Locations-Results,
+ -- chosen if transaction-results=LOCATIONS-PROVIDED
+ will-supply-results [5] Will-Supply-Results,
+ -- chosen if transaction-results=WILL-SUPPLY
+ hold-placed-results [6] Hold-Placed-Results,
+ -- chosen if transaction-results=HOLD-PLACED
+ estimate-results [7] Estimate-Results
+ -- chosen if transaction-results=ESTIMATE
+ } OPTIONAL,
+ -- optional if transaction-results equals RETRY, UNFILLED,
+ -- WILL-SUPPLY or HOLD-PLACED;
+ -- required if transaction-results equals CONDITIONAL,
+ -- LOCATIONS-PROVIDED or ESTIMATE
+ responder-specific-results [33] EXTERNAL OPTIONAL,
+ -- this type is mandatory if results-explanation
+ -- chosen for any result
+ -- has the value "responder-specific".
+ supplemental-item-description [17] IMPLICIT Supplemental-Item-Description OPTIONAL,
+ send-to-list [23] IMPLICIT Send-To-List-Type OPTIONAL,
+ already-tried-list [34] IMPLICIT Already-Tried-List-Type OPTIONAL,
+ responder-optional-messages [28] IMPLICIT Responder-Optional-Messages-Type
+ OPTIONAL,
+ responder-note [46] ILL-String OPTIONAL,
+ ill-answer-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Conditional-Reply ::= [APPLICATION 5] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ answer [35] IMPLICIT BOOLEAN,
+ requester-note [46] ILL-String OPTIONAL,
+ conditional-reply-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Cancel ::= [APPLICATION 6] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ requester-note [46] ILL-String OPTIONAL,
+ cancel-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Cancel-Reply ::= [APPLICATION 7] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ answer [35] IMPLICIT BOOLEAN,
+ responder-note [46] ILL-String OPTIONAL,
+ cancel-reply-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Received ::= [APPLICATION 8] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ supplier-id [26] IMPLICIT System-Id OPTIONAL,
+ supplemental-item-description [17] IMPLICIT Supplemental-Item-Description OPTIONAL,
+ date-received [36] IMPLICIT ISO-Date,
+ shipped-service-type [27] IMPLICIT Shipped-Service-Type,
+ requester-note [46] ILL-String OPTIONAL,
+ received-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Recall ::= [APPLICATION 9] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-note [46] ILL-String OPTIONAL,
+ recall-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Returned ::= [APPLICATION 10] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ supplemental-item-description [17] IMPLICIT Supplemental-Item-Description OPTIONAL,
+ date-returned [37] IMPLICIT ISO-Date,
+ returned-via [38] Transportation-Mode OPTIONAL,
+ insured-for [39] IMPLICIT Amount OPTIONAL,
+ requester-note [46] ILL-String OPTIONAL,
+ returned-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Checked-In ::= [APPLICATION 11] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ date-checked-in [40] IMPLICIT ISO-Date,
+ responder-note [46] ILL-String OPTIONAL,
+ checked-in-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Overdue ::= [APPLICATION 12] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ date-due [41] IMPLICIT Date-Due,
+ responder-note [46] ILL-String OPTIONAL,
+ overdue-extensions [49] SEQUENCE OF Extension OPTIONAL
+ }
+
+Renew ::= [APPLICATION 13] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ desired-due-date [42] IMPLICIT ISO-Date OPTIONAL,
+ requester-note [46] ILL-String OPTIONAL,
+ renew-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Renew-Answer ::= [APPLICATION 14] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ answer [35] IMPLICIT BOOLEAN,
+ date-due [41] IMPLICIT Date-Due OPTIONAL,
+ responder-note [46] ILL-String OPTIONAL,
+ renew-answer-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Lost ::= [APPLICATION 15] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ note [46] ILL-String OPTIONAL,
+ lost-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Damaged ::= [APPLICATION 16] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ damaged-details [5] IMPLICIT Damaged-Details OPTIONAL,
+ -- this parameter may only be present in APDU's with a
+ -- protocol-version-num value of 2 or greater
+ note [46] ILL-String OPTIONAL,
+ damaged-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Message ::= [APPLICATION 17] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ note [46] ILL-String,
+ message-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Status-Query ::= [APPLICATION 18] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ note [46] ILL-String OPTIONAL,
+ status-query-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Status-Or-Error-Report ::= [APPLICATION 19] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ reason-no-report [43] IMPLICIT Reason-No-Report OPTIONAL,
+ -- mandatory if no report is present;
+ -- not present otherwise
+ status-report [44] IMPLICIT Status-Report OPTIONAL,
+ error-report [45] IMPLICIT Error-Report OPTIONAL,
+ note [46] ILL-String OPTIONAL,
+ status-or-error-report-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Expired ::= [APPLICATION 20] SEQUENCE {
+ protocol-version-num [0] IMPLICIT INTEGER {
+ version-1 (1),
+ version-2 (2)
+ },
+ transaction-id [1] IMPLICIT Transaction-Id,
+ service-date-time [2] IMPLICIT Service-Date-Time,
+ requester-id [3] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ responder-id [4] IMPLICIT System-Id OPTIONAL,
+ -- mandatory when using store-and-forward communications
+ -- optional when using connection-oriented communications
+ expired-extensions [49] IMPLICIT SEQUENCE OF Extension OPTIONAL
+ }
+
+Account-Number ::= ILL-String
+
+Already-Forwarded ::= SEQUENCE {
+ responder-id [0] IMPLICIT System-Id,
+ responder-address [1] IMPLICIT System-Address OPTIONAL
+ }
+
+Already-Tried-List-Type ::= SEQUENCE OF System-Id
+
+Amount ::= SEQUENCE {
+ currency-code [0] IMPLICIT PrintableString (SIZE (3)) OPTIONAL,
+ -- values defined in ISO 4217-1981
+ monetary-value [1] IMPLICIT AmountString (SIZE (1..10))
+ }
+
+AmountString ::= PrintableString (FROM ("1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"|"0"|" "|"."|","))
+
+Client-Id ::= SEQUENCE {
+ client-name [0] ILL-String OPTIONAL,
+ client-status [1] ILL-String OPTIONAL,
+ client-identifier [2] ILL-String OPTIONAL
+ }
+
+Conditional-Results ::= SEQUENCE {
+ conditions [0] IMPLICIT ENUMERATED {
+ cost-exceeds-limit (13),
+ charges (14),
+ prepayment-required (15),
+ lacks-copyright-compliance (16),
+ library-use-only (22),
+ no-reproduction (23),
+ client-signature-required (24),
+ special-collections-supervision-required (25),
+ other (27),
+ responder-specific (28),
+ proposed-delivery-service (30)
+ },
+ date-for-reply [1] IMPLICIT ISO-Date OPTIONAL,
+ locations [2] IMPLICIT SEQUENCE OF Location-Info OPTIONAL,
+ proposed-delivery-service Delivery-Service OPTIONAL
+ -- this parameter specifies a proposed delivery service the
+ -- acceptance of which is a condition of supply. It may be a
+ -- physical service or an electronic service. This parameter
+ -- may only be present in APDUs with a
+ -- protocol-version-num value of 2 or greater
+ }
+
+Cost-Info-Type ::= SEQUENCE {
+ account-number [0] Account-Number OPTIONAL,
+ maximum-cost [1] IMPLICIT Amount OPTIONAL,
+ reciprocal-agreement [2] IMPLICIT BOOLEAN DEFAULT FALSE,
+ will-pay-fee [3] IMPLICIT BOOLEAN DEFAULT FALSE,
+ payment-provided [4] IMPLICIT BOOLEAN DEFAULT FALSE
+ }
+
+Current-State ::= ENUMERATED {
+ nOT-SUPPLIED (1),
+ pENDING (2),
+ iN-PROCESS (3),
+ fORWARD (4),
+ cONDITIONAL (5),
+ cANCEL-PENDING (6),
+ cANCELLED (7),
+ sHIPPED (8),
+ rECEIVED (9),
+ rENEW-PENDING (10),
+ nOT-RECEIVED-OVERDUE (11),
+ rENEW-OVERDUE (12),
+ oVERDUE (13),
+ rETURNED (14),
+ cHECKED-IN (15),
+ rECALL (16),
+ lOST (17),
+ uNKNOWN (18)
+ }
+
+Damaged-Details ::= SEQUENCE {
+ document-type-id [0] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
+ -- identifies an OSI document type registered in accordance
+ -- with ISO 9834-2, for use in an automated environment
+ damaged-portion CHOICE {
+ complete-document [1] IMPLICIT NULL,
+ specific-units [2] IMPLICIT SEQUENCE
+ OF INTEGER
+ -- the nature and extent of a "unit" is implicit in the
+ -- value of document-type-id if one is supplied
+ }
+ }
+
+Date-Due ::= SEQUENCE {
+ date-due-field [0] IMPLICIT ISO-Date,
+ renewable [1] IMPLICIT BOOLEAN DEFAULT TRUE
+ }
+
+Delivery-Address ::= SEQUENCE {
+ postal-address [0] IMPLICIT Postal-Address OPTIONAL,
+ electronic-address [1] IMPLICIT System-Address OPTIONAL
+ }
+
+Delivery-Service ::= CHOICE {
+ physical-delivery [7] Transportation-Mode,
+ electronic-delivery [50] IMPLICIT SEQUENCE OF Electronic-Delivery-Service
+ -- electronic-delivery may only be present in APDUs
+ -- with a protocol-version-num value of 2 or greater
+ }
+
+Electronic-Delivery-Service ::= SEQUENCE {
+ -- the first four parameters are intended to be used in an automated
+ -- environment
+ e-delivery-service [0] IMPLICIT SEQUENCE {
+ -- identifies the kind of electronic delivery service, e.g.
+ -- MOTIS IPM,FTAM, etc., using the assigned object
+ -- identifier for the standard e.g. {joint-iso-ccitt mhs-motis
+ -- ipms}
+ e-delivery-mode [0] IMPLICIT OBJECT IDENTIFIER,
+ e-delivery-parameters [1] ANY DEFINED BY e-delivery-mode
+ } OPTIONAL,
+ document-type [1] IMPLICIT SEQUENCE {
+ document-type-id [2] IMPLICIT OBJECT IDENTIFIER,
+ -- identifies an OSI document type registered in accordance
+ -- with ISO 9834-2
+ document-type-parameters [3] ANY DEFINED BY document-type-id
+ -- any parameters relating to the registered document type
+ } OPTIONAL,
+ e-delivery-description [4] ILL-String OPTIONAL,
+ -- holds a human readable name or description of the
+ -- required electronic delivery service and document type;
+ -- this may also be used to identify an electronic delivery
+ -- service for which there is no object identifier.
+ -- This parameter may be present instead of, or in addition
+ -- to, the previous 4 parameters
+ e-delivery-details [5] CHOICE {
+ e-delivery-address [0] IMPLICIT System-Address,
+ e-delivery-id [1] IMPLICIT System-Id
+ },
+ name-or-code [6] ILL-String OPTIONAL,
+ -- holds a human-readable identifier or correlation
+ -- information for the document as shipped, e.g. a directory
+ -- and/or file name or message-id
+ delivery-time [7] IMPLICIT ISO-Time OPTIONAL
+ -- holds the requester's preferred delivery time or
+ -- the responder's proposed or actual delivery time
+ }
+
+Error-Report ::= SEQUENCE {
+ correlation-information [0] ILL-String,
+ report-source [1] IMPLICIT Report-Source,
+ user-error-report [2] User-Error-Report OPTIONAL,
+ -- mandatory if report-source is "user"; not present otherwise
+ provider-error-report [3] Provider-Error-Report OPTIONAL
+ -- mandatory if report-source is "provider"; not
+ -- present otherwise
+ }
+
+Estimate-Results ::= SEQUENCE {
+ cost-estimate [0] ILL-String,
+ locations [1] IMPLICIT SEQUENCE OF Location-Info OPTIONAL
+ }
+
+Extension ::= SEQUENCE {
+ identifier [0] IMPLICIT INTEGER,
+ critical [1] IMPLICIT BOOLEAN DEFAULT FALSE,
+ item [2] ANY DEFINED BY identifier
+ }
+
+General-Problem ::= ENUMERATED {
+ unrecognized-APDU (1),
+ mistyped-APDU (2),
+ badly-structured-APDU (3),
+ protocol-version-not-supported (4),
+ other (5)
+ }
+
+History-Report ::= SEQUENCE {
+ date-requested [0] IMPLICIT ISO-Date OPTIONAL,
+ author [1] ILL-String OPTIONAL,
+ title [2] ILL-String OPTIONAL,
+ author-of-article [3] ILL-String OPTIONAL,
+ title-of-article [4] ILL-String OPTIONAL,
+ date-of-last-transition [5] IMPLICIT ISO-Date,
+ most-recent-service [6] IMPLICIT ENUMERATED {
+ iLL-REQUEST (1),
+ fORWARD (21),
+ fORWARD-NOTIFICATION (2),
+ sHIPPED (3),
+ iLL-ANSWER (4),
+ cONDITIONAL-REPLY (5),
+ cANCEL (6),
+ cANCEL-REPLY (7),
+ rECEIVED (8),
+ rECALL (9),
+ rETURNED (10),
+ cHECKED-IN (11),
+ rENEW-ANSWER (14),
+ lOST (15),
+ dAMAGED (16),
+ mESSAGE (17),
+ sTATUS-QUERY (18),
+ sTATUS-OR-ERROR-REPORT (19),
+ eXPIRED (20)
+ },
+ date-of-most-recent-service [7] IMPLICIT ISO-Date,
+ initiator-of-most-recent-service [8] IMPLICIT System-Id,
+ shipped-service-type [9] IMPLICIT Shipped-Service-Type OPTIONAL,
+ -- If the information is available, i.e. if a SHIPPED or
+ -- RECEIVED APDU has been sent or received, then the
+ -- value in this parameter shall be supplied.
+ -- Value must contain the most current information, e.g. if a
+ -- requester has received a SHIPPED APDU and then
+ -- invokes a RECEIVED.request, then the value from the
+ -- RECEIVED.request is used
+ transaction-results [10] IMPLICIT Transaction-Results OPTIONAL,
+ -- If the information is available, i.e. if an ILL-ANWSER
+ -- APDU has been sent or received, then the value in this
+ -- parameter shall be supplied.
+ most-recent-service-note [11] ILL-String OPTIONAL
+ -- If the information is available, i.e. if a note has been
+ -- supplied in the most recent service primitive, then the
+ -- value in this parameter shall be supplied.
+ }
+
+Hold-Placed-Results ::= SEQUENCE {
+ estimated-date-available [0] IMPLICIT ISO-Date,
+ hold-placed-medium-type [1] IMPLICIT Medium-Type OPTIONAL,
+ locations [2] IMPLICIT SEQUENCE OF Location-Info OPTIONAL
+ }
+
+ILL-APDU-Type ::= ENUMERATED {
+ iLL-REQUEST (1),
+ fORWARD-NOTIFICATION (2),
+ sHIPPED (3),
+ iLL-ANSWER (4),
+ cONDITIONAL-REPLY (5),
+ cANCEL (6),
+ cANCEL-REPLY (7),
+ rECEIVED (8),
+ rECALL (9),
+ rETURNED (10),
+ cHECKED-IN (11),
+ oVERDUE (12),
+ rENEW (13),
+ rENEW-ANSWER (14),
+ lOST (15),
+ dAMAGED (16),
+ mESSAGE (17),
+ sTATUS-QUERY (18),
+ sTATUS-OR-ERROR-REPORT (19),
+ eXPIRED (20)
+ }
+
+ILL-Service-Type ::= ENUMERATED {
+ loan (1),
+ copy-non-returnable (2),
+ locations (3),
+ estimate (4),
+ responder-specific (5)
+ }
+
+ILL-String ::= CHOICE {
+ GeneralString,
+ -- may contain any ISO registered G (graphic) and C
+ -- (control) character set
+ EDIFACTString
+ }
+ -- may not include leading or trailing spaces
+ -- may not consist only of space (" ") or non-printing
+ -- characters
+
+Intermediary-Problem ::= ENUMERATED {
+ cannot-send-onward (1)
+ }
+
+ISO-Date ::= VisibleString
+ -- conforms to ISO 8601
+ -- length = 8
+ -- fixed
+ -- YYYYMMDD
+
+ISO-Time ::= VisibleString
+ -- conforms to ISO 8601
+ -- length = 6,
+ -- fixed
+ -- HHMMSS
+ -- local time of person or institution invoking service
+
+Item-Id ::= SEQUENCE {
+ item-type [0] IMPLICIT ENUMERATED {
+ monograph (1),
+ serial (2),
+ other (3)
+ } OPTIONAL,
+ held-medium-type [1] IMPLICIT Medium-Type OPTIONAL,
+ call-number [2] ILL-String OPTIONAL,
+ author [3] ILL-String OPTIONAL,
+ title [4] ILL-String OPTIONAL,
+ sub-title [5] ILL-String OPTIONAL,
+ sponsoring-body [6] ILL-String OPTIONAL,
+ place-of-publication [7] ILL-String OPTIONAL,
+ publisher [8] ILL-String OPTIONAL,
+ series-title-number [9] ILL-String OPTIONAL,
+ volume-issue [10] ILL-String OPTIONAL,
+ edition [11] ILL-String OPTIONAL,
+ publication-date [12] ILL-String OPTIONAL,
+ publication-date-of-component [13] ILL-String OPTIONAL,
+ author-of-article [14] ILL-String OPTIONAL,
+ title-of-article [15] ILL-String OPTIONAL,
+ pagination [16] ILL-String OPTIONAL,
+ national-bibliography-no [17] EXTERNAL OPTIONAL,
+ iSBN [18] ILL-String (SIZE (10)) OPTIONAL,
+ -- must conform to ISO 2108-1978
+ iSSN [19] ILL-String (SIZE (8)) OPTIONAL,
+ -- must conform to ISO 3297-1986
+ system-no [20] EXTERNAL OPTIONAL,
+ additional-no-letters [21] ILL-String OPTIONAL,
+ verification-reference-source [22] ILL-String OPTIONAL
+ }
+
+Location-Info ::= SEQUENCE {
+ location-id [0] IMPLICIT System-Id,
+ location-address [1] IMPLICIT System-Address OPTIONAL,
+ location-note [2] ILL-String OPTIONAL
+ }
+
+Locations-Results ::= SEQUENCE {
+ reason-locs-provided [0] IMPLICIT Reason-Locs-Provided OPTIONAL,
+ locations [1] IMPLICIT SEQUENCE OF Location-Info
+ }
+
+Medium-Type ::= ENUMERATED {
+ printed (1),
+ microform (3),
+ film-or-video-recording (4),
+ audio-recording (5),
+ machine-readable (6),
+ other (7)
+ }
+
+Name-Of-Person-Or-Institution ::= CHOICE {
+ name-of-person [0] ILL-String,
+ name-of-institution [1] ILL-String
+ }
+
+Person-Or-Institution-Symbol ::= CHOICE {
+ person-symbol [0] ILL-String,
+ institution-symbol [1] ILL-String
+ }
+
+Place-On-Hold-Type ::= ENUMERATED {
+ yes (1),
+ no (2),
+ according-to-responder-policy (3)
+ }
+
+Postal-Address ::= SEQUENCE {
+ name-of-person-or-institution [0] Name-Of-Person-Or-Institution OPTIONAL,
+ extended-postal-delivery-address [1] ILL-String OPTIONAL,
+ street-and-number [2] ILL-String OPTIONAL,
+ post-office-box [3] ILL-String OPTIONAL,
+ city [4] ILL-String OPTIONAL,
+ region [5] ILL-String OPTIONAL,
+ country [6] ILL-String OPTIONAL,
+ postal-code [7] ILL-String OPTIONAL
+ }
+
+Provider-Error-Report ::= CHOICE {
+ general-problem [0] IMPLICIT General-Problem,
+ transaction-id-problem [1] IMPLICIT Transaction-Id-Problem,
+ state-transition-prohibited [2] IMPLICIT State-Transition-Prohibited
+ }
+
+Reason-Locs-Provided ::= ENUMERATED {
+ in-use-on-loan (1),
+ in-process (2),
+ lost (3),
+ non-circulating (4),
+ not-owned (5),
+ on-order (6),
+ volume-issue-not-yet-available (7),
+ at-bindery (8),
+ lacking (9),
+ not-on-shelf (10),
+ on-reserve (11),
+ poor-condition (12),
+ cost-exceeds-limit (13),
+ on-hold (19),
+ other (27),
+ responder-specific (28)
+ }
+
+Reason-No-Report ::= ENUMERATED {
+ temporary (1),
+ permanent (2)
+ }
+
+Reason-Unfilled ::= ENUMERATED {
+ in-use-on-loan (1),
+ in-process (2),
+ lost (3),
+ non-circulating (4),
+ not-owned (5),
+ on-order (6),
+ volume-issue-not-yet-available (7),
+ at-bindery (8),
+ lacking (9),
+ not-on-shelf (10),
+ on-reserve (11),
+ poor-condition (12),
+ cost-exceeds-limit (13),
+ charges (14),
+ prepayment-required (15),
+ lacks-copyright-compliance (16),
+ not-found-as-cited (17),
+ locations-not-found (18),
+ on-hold (19),
+ policy-problem (20),
+ mandatory-messaging-not-supported (21),
+ expiry-not-supported (22) ,
+ requested-delivery-services-not-supported (23),
+ preferred-delivery-time-not-possible (24),
+ other (27),
+ responder-specific (28)
+ }
+
+Report-Source ::= ENUMERATED {
+ user (1),
+ provider (2)
+ }
+
+Requester-Optional-Messages-Type ::= SEQUENCE {
+ can-send-RECEIVED [0] IMPLICIT BOOLEAN,
+ can-send-RETURNED [1] IMPLICIT BOOLEAN,
+ requester-SHIPPED [2] IMPLICIT ENUMERATED {
+ requires (1),
+ desires (2),
+ neither (3)
+ },
+ requester-CHECKED-IN [2] IMPLICIT ENUMERATED {
+ requires (1),
+ desires (2),
+ neither (3)
+ }
+ }
+
+Responder-Optional-Messages-Type ::= SEQUENCE {
+ can-send-SHIPPED [0] IMPLICIT BOOLEAN,
+ can-send-CHECKED-IN [1] IMPLICIT BOOLEAN,
+ responder-RECEIVED [2] IMPLICIT ENUMERATED {
+ requires (1),
+ desires (2),
+ neither (3)
+ },
+ responder-RETURNED [3] IMPLICIT ENUMERATED {
+ requires (1),
+ desires (2),
+ neither (3)
+ }
+ }
+
+Retry-Results ::= SEQUENCE {
+ reason-not-available [0] IMPLICIT ENUMERATED {
+ in-use-on-loan (1),
+ in-process (2),
+ on-order (6),
+ volume-issue-not-yet-available (7),
+ at-bindery (8),
+ cost-exceeds-limit (13),
+ charges (14),
+ prepayment-required (15),
+ lacks-copyright-compliance (16),
+ not-found-as-cited (17),
+ on-hold (19),
+ other (27),
+ responder-specific (28)
+ } OPTIONAL,
+ retry-date [1] IMPLICIT ISO-Date OPTIONAL,
+ locations [2] IMPLICIT SEQUENCE OF Location-Info OPTIONAL
+ }
+
+Search-Type ::= SEQUENCE {
+ level-of-service [0] ILL-String (SIZE (1)) OPTIONAL,
+ need-before-date [1] IMPLICIT ISO-Date OPTIONAL,
+ expiry-flag [2] IMPLICIT ENUMERATED {
+ need-Before-Date (1),
+ other-Date (2),
+ no-Expiry (3)
+ } DEFAULT 3,
+ -- value of "need-Before-Date" indicates that
+ -- need-before-date also specifies transaction expiry
+ -- date
+ expiry-date [3] IMPLICIT ISO-Date OPTIONAL
+ -- alternative expiry date can be used only when expiry-flag
+ -- is set to "Other-Date"
+ }
+
+Security-Problem ::= ILL-String
+
+Send-To-List-Type ::= SEQUENCE OF SEQUENCE {
+ system-id [0] IMPLICIT System-Id,
+ account-number [1] Account-Number OPTIONAL,
+ system-address [2] IMPLICIT System-Address OPTIONAL
+ }
+
+Service-Date-Time ::= SEQUENCE {
+ date-time-of-this-service [0] IMPLICIT SEQUENCE {
+ date [0] IMPLICIT ISO-Date,
+ time [1] IMPLICIT ISO-Time OPTIONAL
+ -- mandatory for 2nd and subsequent services
+ -- invoked for a given
+ -- ILL-transaction on the same day
+ },
+ date-time-of-original-service [1] IMPLICIT SEQUENCE {
+ date [0] IMPLICIT ISO-Date,
+ time [1] IMPLICIT ISO-Time OPTIONAL
+ } OPTIONAL
+ }
+
+Shipped-Service-Type ::= ILL-Service-Type (loan | copy-non-returnable)
+ -- subtype of ILL-Service-Type
+
+State-Transition-Prohibited ::= SEQUENCE {
+ aPDU-type [0] IMPLICIT ILL-APDU-Type,
+ current-state [1] IMPLICIT Current-State
+ }
+
+Status-Report ::= SEQUENCE {
+ user-status-report [0] IMPLICIT History-Report,
+ provider-status-report [1] IMPLICIT Current-State
+ }
+
+Supplemental-Item-Description ::= SEQUENCE OF EXTERNAL
+ -- the syntax of supplementary item description information is defined outside this standard
+
+Supply-Details ::= SEQUENCE {
+ date-shipped [0] IMPLICIT ISO-Date OPTIONAL,
+ date-due [1] IMPLICIT Date-Due OPTIONAL,
+ chargeable-units [2] IMPLICIT INTEGER (1..9999) OPTIONAL,
+ cost [3] IMPLICIT Amount OPTIONAL,
+ shipped-conditions [4] IMPLICIT ENUMERATED {
+ library-use-only (22),
+ no-reproduction (23),
+ client-signature-required (24),
+ special-collections-supervision-required (25),
+ other (27)
+ } OPTIONAL,
+ shipped-via CHOICE {
+ physical-delivery [5] Transportation-Mode,
+ electronic-delivery [50] IMPLICIT
+ Electronic-Delivery-Service
+ } OPTIONAL,
+ -- electronic-delivery may only be present in APDUs with a
+ -- protocol-version-num value of 2 or greater
+ insured-for [6] IMPLICIT Amount OPTIONAL,
+ return-insurance-require [7] IMPLICIT Amount OPTIONAL,
+ no-of-units-per-medium [8] IMPLICIT SEQUENCE OF Units-Per-Medium-Type
+ OPTIONAL
+ }
+
+Supply-Medium-Info-Type ::= SEQUENCE {
+ supply-medium-type [0] IMPLICIT Supply-Medium-Type,
+ medium-characteristics [1] ILL-String OPTIONAL
+ }
+
+Supply-Medium-Type ::= ENUMERATED {
+ printed (1),
+ photocopy (2),
+ microform (3),
+ film-or-video-recording (4),
+ audio-recording (5),
+ machine-readable (6),
+ other (7)
+ }
+
+System-Address ::= SEQUENCE {
+ telecom-service-identifier [0] ILL-String OPTIONAL,
+ telecom-service-address [1] ILL-String OPTIONAL
+ }
+
+System-Id ::= SEQUENCE {
+ --at least one of the following must be present
+ person-or-institution-symbol [0] Person-Or-Institution-Symbol OPTIONAL,
+ name-of-person-or-institution [1] Name-Of-Person-Or-Institution OPTIONAL
+ }
+
+Third-Party-Info-Type ::= SEQUENCE {
+ permission-to-forward [0] IMPLICIT BOOLEAN DEFAULT FALSE,
+ permission-to-chain [1] IMPLICIT BOOLEAN DEFAULT FALSE,
+ permission-to-partition [2] IMPLICIT BOOLEAN DEFAULT FALSE,
+ permission-to-change-send-to-list [3] IMPLICIT BOOLEAN DEFAULT FALSE,
+ initial-requester-address [4] IMPLICIT System-Address OPTIONAL,
+ -- mandatory when initiating a FORWARD service or an
+ -- ILL-REQUEST service for a partitioned ILL
+ -- sub-transaction; optional otherwise
+ preference [5] IMPLICIT ENUMERATED {
+ ordered (1),
+ unordered (2)
+ } DEFAULT 2,
+ send-to-list [6] IMPLICIT Send-To-List-Type OPTIONAL,
+ already-tried-list [7] IMPLICIT Already-Tried-List-Type OPTIONAL
+ -- mandatory when initiating a FORWARD service, or when
+ -- initiating an ILL-REQUEST service for an ILL
+ -- sub-transaction if the received ILL-REQUEST included an
+ -- "already-tried-list"; optional otherwise
+ }
+
+Transaction-Id ::= SEQUENCE {
+ initial-requester-id [0] IMPLICIT System-Id OPTIONAL,
+ -- mandatory for sub-transactions; not called
+ -- "requester-id" to distinguish id of initial-requester
+ --from id of requester of sub-transaction if there is one
+ transaction-group-qualifier [1] ILL-String,
+ transaction-qualifier [2] ILL-String,
+ sub-transaction-qualifier [3] ILL-String OPTIONAL
+ -- mandatory for sub-transactions
+ }
+
+Transaction-Id-Problem ::= ENUMERATED {
+ duplicate-transaction-id (1),
+ invalid-transaction-id (2),
+ unknown-transaction-id (3)
+ }
+
+Transaction-Results ::= ENUMERATED {
+ conditional (1),
+ retry (2),
+ unfilled (3),
+ locations-provided (4),
+ will-supply (5),
+ hold-placed (6),
+ estimate (7)
+ }
+
+Transaction-Type ::= ENUMERATED {
+ simple (1),
+ chained (2),
+ partitioned (3)
+ }
+
+Transportation-Mode ::= ILL-String
+
+Unable-To-Perform ::= ENUMERATED {
+ not-available (1),
+ resource-limitation (2),
+ other (3)
+ }
+
+Unfilled-Results ::= SEQUENCE {
+ reason-unfilled [0] IMPLICIT Reason-Unfilled,
+ locations [1] IMPLICIT SEQUENCE OF Location-Info OPTIONAL
+ }
+
+Units-Per-Medium-Type ::= SEQUENCE {
+ medium [0] Supply-Medium-Type,
+ no-of-units [1] INTEGER (1..9999)
+ }
+
+User-Error-Report ::= CHOICE {
+ already-forwarded [0] IMPLICIT Already-Forwarded,
+ intermediary-problem [1] IMPLICIT Intermediary-Problem,
+ security-problem [2] Security-Problem,
+ unable-to-perform [3] IMPLICIT Unable-To-Perform
+ }
+
+
+Will-Supply-Results ::= SEQUENCE {
+ reason-will-supply [0] ENUMERATED {
+ in-use-on-loan (1),
+ in-process (2),
+ on-order (6),
+ at-bindery (8),
+ on-hold (19),
+ being-processed-for-supply (26),
+ other (27),
+ responder-specific (28),
+ electronic-delivery (30)
+ },
+ supply-date [1] ISO-Date OPTIONAL,
+ return-to-address [2] Postal-Address OPTIONAL,
+ locations [3] IMPLICIT SEQUENCE OF Location-Info OPTIONAL,
+ electronic-delivery-service [4] Electronic-Delivery-Service OPTIONAL
+ -- if present, this must be one of the services proposed by
+ -- the requester
+ }
+
+EDIFACTString ::= VisibleString
+ (FROM ("A"|"B"|"C"|"D"|"E"|"F"|"G"|"H"|
+ "I"|"J"|"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|"S"|"T"|"U"|
+ "V"|"W"|"X"|"Y"|"Z"|"a"|"b"|"c"|"d"|"e"|"f"|"g"|"h"|
+ "i"|"j"|"k"|"l"|"m"|"n"|"o"|"p"|"q"|"r"|"s"|"t"|"u"|
+ "v"|"w"|"x"|"y"|"z"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|
+ "9"|"0"|" "|"."|","|"-"|"("|")"|"/"|"="|"!"|"""|"%"|"&"|
+ "*"|";"|"<"|">"|"'"|"+"|":"|"?"))
+
+END
+
+