X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fasn.xml;h=78ee8148a1c0ce6a43c4301eb7078ed064602757;hb=8e4840a9a7b6117d92d9d97fdb4048a7f8b9ce09;hp=c787d4f62402016f059b10038d8b9b05c4ff1a40;hpb=8356ea58313ee1f350226172cf99bfb0b7c5583c;p=yaz-moved-to-github.git
diff --git a/doc/asn.xml b/doc/asn.xml
index c787d4f..78ee814 100644
--- a/doc/asn.xml
+++ b/doc/asn.xml
@@ -15,12 +15,12 @@
The &asn; module is located in sub directory z39.50.
There you'll find C files that implements encoders and decoders for the
Z39.50 types. You'll also find the protocol definitions:
- z3950v3.asn, esupdate.asn,
+ z3950v3.asn, esupdate.asn,
and others.
Preparing PDUs
-
+
A structure representing a complex ASN.1 type doesn't in itself contain the
members of that type. Instead, the structure contains
@@ -38,7 +38,7 @@
taste, there are at least three different approaches that you may take
when you allocate the structures.
-
+
You can use static or automatic local variables in the function that
prepares the PDU. This is a simple approach, and it provides the most
@@ -73,7 +73,7 @@
some of its elements, while you leave other elements pointing to global
or per-session default variables.
-
+
The &asn; module provides an important aid in creating new PDUs. For
each of the PDU types (say, Z_InitRequest), a
@@ -101,11 +101,11 @@
Z_<type> *zget_<type>(ODR o);
-
+
eg.:
-
+
Z_InitRequest *zget_InitRequest(ODR o);
@@ -119,21 +119,21 @@
zget_APDU() is provided, which allocates
a top-level Z-APDU of the type requested:
-
+
Z_APDU *zget_APDU(ODR o, int which);
-
+
The which parameter is (of course) the discriminator
belonging to the Z_APDU CHOICE type.
All of the interface described here is provided by the &asn; module, and
you access it through the proto.h header file.
-
+
EXTERNAL Data
-
+
In order to achieve extensibility and adaptability to different
application domains, the new version of the protocol defines many
@@ -143,7 +143,7 @@
specialized version of the EXTERNAL construct, called
Z_External.It is defined thus:
-
+
typedef struct Z_External
{
@@ -184,7 +184,7 @@ typedef struct Z_External
} u;
} Z_External;
-
+
When decoding, the &asn; module will attempt to determine which
syntax describes the data by looking at the reference fields
@@ -198,7 +198,7 @@ typedef struct Z_External
For non-ASN.1 data such as MARC records, use the
octet_aligned arm of the union.
-
+
Some servers return ASN.1 structured data values (eg. database
records) as BER-encoded records placed in the
@@ -207,7 +207,7 @@ typedef struct Z_External
these records. To help you decode the records in the application, the
function
-
+
Z_ext_typeent *z_ext_gettypebyref(const oid *oid);
@@ -219,7 +219,7 @@ typedef struct Z_External
Z_ext_typeent
is defined as:
-
+
typedef struct Z_ext_typeent
{
@@ -228,7 +228,7 @@ typedef struct Z_ext_typeent
Odr_fun fun; /* decoder function */
} Z_ext_typeent;
-
+
The what member contains the
Z_External union discriminator value for the
@@ -239,7 +239,7 @@ typedef struct Z_ext_typeent
record syntax, the value of fun would be
z_SUTRS (a function pointer).
-
+
If you receive an EXTERNAL which contains an octet-string value that
you suspect of being an ASN.1-structured data value, you can use
@@ -249,7 +249,7 @@ typedef struct Z_ext_typeent
function to decode the BER string (see
).
-
+
If you want to send EXTERNALs containing
ASN.1-structured values in the occtet-aligned branch of the CHOICE, this
@@ -266,7 +266,7 @@ typedef struct Z_ext_typeent
is necessary to tell the different, structured types apart
on decoding.
-
+
Eventually, the EXTERNAL processing will most likely
@@ -276,15 +276,15 @@ typedef struct Z_ext_typeent
various modules.
-
+
PDU Contents Table
-
+
We include, for reference, a listing of the fields of each top-level
PDU, as well as their default settings.
-
+
Default settings for PDU Initialize Request
@@ -465,7 +465,7 @@ typedef struct Z_ext_typeent
-
+
referenceIdZ_ReferenceIdNULL
@@ -554,7 +554,7 @@ typedef struct Z_ext_typeent
-
+
Default settings for PDU Present Response
@@ -590,7 +590,7 @@ typedef struct Z_ext_typeent
-
+
Default settings for Delete Result Set Request
@@ -732,7 +732,7 @@ typedef struct Z_ext_typeent
-
+
referenceIdZ_ReferenceIdNULL
@@ -775,7 +775,7 @@ typedef struct Z_ext_typeent
-
+
referenceIdZ_ReferenceIdNULL
@@ -792,7 +792,7 @@ typedef struct Z_ext_typeent
otherInfoZ_OtherInformationNULL
-
+
@@ -811,7 +811,7 @@ typedef struct Z_ext_typeent
-
+
referenceIdZ_ReferenceIdNULL
@@ -851,7 +851,7 @@ typedef struct Z_ext_typeent
-
+
referenceIdZ_ReferenceIdNULL
@@ -867,7 +867,7 @@ typedef struct Z_ext_typeent
-
+
Default settings for Access Control Request
@@ -882,7 +882,7 @@ typedef struct Z_ext_typeent
-
+
referenceIdZ_ReferenceIdNULL
@@ -913,7 +913,7 @@ typedef struct Z_ext_typeent
-
+
referenceIdZ_ReferenceIdNULL
@@ -947,7 +947,7 @@ typedef struct Z_ext_typeent
-
+
referenceIdZ_ReferenceIdNULL
@@ -999,7 +999,7 @@ typedef struct Z_ext_typeent
otherInfoZ_OtherInformationNULL
-
+