Add wrbuf_sha1_puts
[yaz-moved-to-github.git] / doc / asn.xml
index e126267..78ee814 100644 (file)
@@ -1,18 +1,25 @@
-<!-- $Id: asn.xml,v 1.4 2001-07-19 23:29:40 adam Exp $ -->
- <chapter><title>The ASN Module</title>
-  <sect1><title>Introduction</title>
+ <chapter id="asn"><title>The Z39.50 ASN.1 Module</title>
+  <sect1 id="asn.introduction"><title>Introduction</title>
    <para>
     The &asn; module provides you with a set of C struct definitions for the
-    various PDUs of the protocol, as well as for the complex types
+    various PDUs of the Z39.50 protocol, as well as for the complex types
     appearing within the PDUs. For the primitive data types, the C
     representation often takes the form of an ordinary C language type,
-    such as <literal>int</literal>. For ASN.1 constructs that have no direct
+    such as <literal>Odr_int</literal> which is equivalent to an integral
+    C integer. For ASN.1 constructs that have no direct
     representation in C, such as general octet strings and bit strings,
     the &odr; module (see section <link linkend="odr">The ODR Module</link>)
     provides auxiliary definitions.
    </para>
+   <para>
+    The &asn; module is located in sub directory <filename>z39.50</filename>.
+    There you'll find C files that implements encoders and decoders for the
+    Z39.50 types. You'll also find the protocol definitions:
+    <filename>z3950v3.asn</filename>, <filename>esupdate.asn</filename>,
+    and others.
+   </para>
   </sect1>
-  <sect1><title>Preparing PDUs</title>
+  <sect1 id="asn.preparing"><title>Preparing PDUs</title>
 
    <para>
     A structure representing a complex ASN.1 type doesn't in itself contain the
@@ -47,8 +54,8 @@
     structure before freeing the structure itself.
    </para>
    <para>
-    You can use the <function>odr_malloc()</function> function (see section 
-    <link linkend="odr-use">Using ODR</link> for details). When you use
+    You can use the <function>odr_malloc()</function> function (see
+    <xref linkend="odr.use"/> for details). When you use
     <function>odr_malloc()</function>, you can release all of the
     allocated data in a single operation, independent of any pointers and
     relations between the data. <function>odr_malloc()</function> is based on a
@@ -89,7 +96,7 @@
     individual types).
    </para>
    <para>
-    The prototype for the individual PDU types generally look like this:
+   The prototype for the individual PDU types generally look like this:
    </para>
    <synopsis>
     Z_&lt;type> *zget_&lt;type>(ODR o);
    </synopsis>
 
    <para>
-    The &odr; handle should generally be your encoding stream, but it needn't be.
+   The &odr; handle should generally be your encoding stream, but it
+    needn't be.
    </para>
    <para>
-    As well as the individual PDU functions, a function <function>
-     zget_APDU()</function> is
-    provided, which allocates a toplevel Z-APDU of the type requested:
+   As well as the individual PDU functions, a function
+    <function>zget_APDU()</function> is provided, which allocates
+    a top-level Z-APDU of the type requested:
    </para>
 
    <synopsis>
 
    </para>
   </sect1>
-  <sect1><title id="oid">Object Identifiers</title>
-   <para>
-    When you refer to object identifiers in your application, you need to
-    be aware that SR and Z39.50 use two different set of OIDs to refer to
-    the same objects. To handle this easily, &yaz; provides a utility module
-    to &asn; which provides an internal representation of the OIDs used in
-    both protocols. Each oid is described by a structure:
-   </para>
-
-   <screen>
-typedef struct oident
-{
-    enum oid_proto proto;
-    enum oid_class class;
-    enum oid_value value;
-    int oidsuffix[OID_SIZE];
-    char *desc;
-} oident;
-   </screen>
-
-   <para>
-    The <literal>proto</literal> field can be set to either
-    <literal>PROTO_SR</literal> or <literal>PROTO_Z3950</literal>.
-    The <literal>class</literal> might be, say,
-    <literal>CLASS_RECSYN</literal>, and the <literal>value</literal> might be
-    <literal>VAL_USMARC</literal> for the USMARC record format. Functions
-   </para>
-
-   <screen>
-int *oid_ent_to_oid(struct oident *ent, int *dst);
-struct oident *oid_getentbyoid(int *o);
-   </screen>
-
-   <para>
-    are provided to map between object identifiers and database entries.
-    If you store a member of the <literal>oid_proto</literal> type in
-    your association state information, it's a simple matter, at runtime,
-    to generate the correct OID when you need it. For decoding, you can
-    simply ignore the proto field, or if you're strict, you can verify
-    that your peer is using the OID family from the correct protocol.
-    The <literal>desc</literal> field is a short, human-readable name
-    for the PDU, useful mainly for diagnostic output.
-   </para>
-
-   <note>
-    <para>
-     The old function <function>oid_getoidbyent</function> still exists but is
-     not thread safe. Use <function>oid_ent_to_oid</function> instead
-     and pass an array of size <literal>OID_SIZE</literal>.
-    </para>
-   </note>
-
-   <note>
-    <para>
-     Plans are underway to merge the two protocols into a single
-     definition, with one set of object identifiers. When this happens, the
-     oid module will no longer be required to support protocol
-     independence, but it should still be useful as a simple OID database.
-    </para>
-   </note>
-
-  </sect1>
-  <sect1><title>EXTERNAL Data</title>
+  <sect1 id="asn.external"><title>EXTERNAL Data</title>
 
    <para>
     In order to achieve extensibility and adaptability to different
     application domains, the new version of the protocol defines many
     structures outside of the main ASN.1 specification, referencing them
-    through ASN.1 EXTERNAL constructs. To simplify the construction and access
-    to the externally referenced data, the &asn; module defines a
+    through ASN.1 EXTERNAL constructs. To simplify the construction and
+    access to the externally referenced data, the &asn; module defines a
     specialized version of the EXTERNAL construct, called
     <literal>Z_External</literal>.It is defined thus:
    </para>
@@ -263,7 +209,7 @@ typedef struct Z_External
    </para>
 
    <screen>
-    Z_ext_typeent *z_ext_gettypebyref(oid_value ref);
+   Z_ext_typeent *z_ext_gettypebyref(const oid *oid);
    </screen>
 
    <para>
@@ -277,7 +223,7 @@ typedef struct Z_External
    <screen>
 typedef struct Z_ext_typeent
 {
-    oid_value dref;    /* the direct-reference OID value. */
+    int oid[OID_SIZE]; /* the direct-reference OID. */
     int what;          /* discriminator value for the external CHOICE */
     Odr_fun fun;       /* decoder function */
 } Z_ext_typeent;
@@ -300,8 +246,8 @@ typedef struct Z_ext_typeent
     <literal>z_ext_gettypebyref</literal> to look for the provided
     direct-reference.
     If the return value is different from NULL, you can use the provided
-    function to decode the BER string (see section <link linkend="odr-use">
-     Using ODR</link>).
+    function to decode the BER string (see <xref linkend="odr.use"/>
+    ).
    </para>
 
    <para>
@@ -314,9 +260,10 @@ typedef struct Z_ext_typeent
     If you need to add new, externally defined data types, you must update
     the struct above, in the source file <filename>prt-ext.h</filename>, as
     well as the encoder/decoder in the file <filename>prt-ext.c</filename>.
-    When changing the latter, remember to update both the <literal>arm</literal>
-    arrary and the list <literal>type_table</literal>, which drives the CHOICE
-    biasing that is necessary to tell the different, structured types apart
+    When changing the latter, remember to update both the
+    <literal>arm</literal> arrary and the list
+    <literal>type_table</literal>, which drives the CHOICE biasing that
+    is necessary to tell the different, structured types apart
     on decoding.
    </para>
 
@@ -331,19 +278,72 @@ typedef struct Z_ext_typeent
    </note>
 
   </sect1>
-  <sect1><title>PDU Contents Table</title>
+  <sect1 id="asn.pdu"><title>PDU Contents Table</title>
 
-   <para>
+  <para>
     We include, for reference, a listing of the fields of each top-level
     PDU, as well as their default settings.
    </para>
 
-   <table frame="top"><title>Default settings for PDU Initialize Request</title>
+   <table frame="top" id="asn.default.initialize.request">
+    <title>Default settings for PDU Initialize Request</title>
     <tgroup cols="3">
-     <colspec colname="field"></colspec>
-     <colspec colname="type"></colspec>
-     <colspec colname="value"></colspec>
-     <thead>
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+    <thead>
+     <row>
+      <entry>Field</entry>
+      <entry>Type</entry>
+      <entry>Default Value</entry>
+     </row>
+    </thead>
+    <tbody>
+     <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+      </entry></row>
+     <row><entry>
+       protocolVersion</entry><entry>Odr_bitmask</entry><entry>Empty bitmask
+      </entry></row>
+     <row><entry>
+       options</entry><entry>Odr_bitmask</entry><entry>Empty bitmask
+      </entry></row>
+     <row><entry>
+       preferredMessageSize</entry><entry>Odr_int</entry><entry>30*1024
+      </entry></row>
+     <row><entry>
+       maximumRecordSize</entry><entry>Odr_int</entry><entry>30*1024
+      </entry></row>
+     <row><entry>
+       idAuthentication</entry><entry>Z_IdAuthentication</entry><entry>NULL
+      </entry></row>
+     <row><entry>
+       implementationId</entry><entry>char*</entry><entry>"81"
+      </entry></row>
+     <row><entry>
+       implementationName</entry><entry>char*</entry><entry>"YAZ"
+      </entry></row>
+     <row><entry>
+       implementationVersion</entry><entry>char*</entry><entry>YAZ_VERSION
+      </entry></row>
+     <row><entry>
+       userInformationField</entry><entry>Z_UserInformation</entry><entry>NULL
+      </entry></row>
+     <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+      </entry></row>
+    </tbody>
+   </tgroup>
+  </table>
+
+  <table frame="top" id="asn.default.initialize.response">
+    <title>Default settings for PDU Initialize
+    Response</title>
+   <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+    <thead>
       <row>
        <entry>Field</entry>
        <entry>Type</entry>
@@ -351,60 +351,49 @@ typedef struct Z_ext_typeent
       </row>
      </thead>
      <tbody>
-
       <row><entry>
        referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
        </entry></row>
-
       <row><entry>
        protocolVersion</entry><entry>Odr_bitmask</entry><entry>Empty bitmask
        </entry></row>
-
       <row><entry>
        options</entry><entry>Odr_bitmask</entry><entry>Empty bitmask
        </entry></row>
-
       <row><entry>
-       preferredMessageSize</entry><entry>int</entry><entry>30*1024
+       preferredMessageSize</entry><entry>Odr_int</entry><entry>30*1024
        </entry></row>
-
       <row><entry>
-       maximumRecordSize</entry><entry>int</entry><entry>30*1024
+       maximumRecordSize</entry><entry>Odr_int</entry><entry>30*1024
        </entry></row>
-
       <row><entry>
-       idAuthentication</entry><entry>Z_IdAuthentication</entry><entry>NULL
+       result</entry><entry>Odr_bool</entry><entry>TRUE
        </entry></row>
-
       <row><entry>
-       implementationId</entry><entry>char*</entry><entry>"YAZ (id=81)"
+       implementationId</entry><entry>char*</entry><entry>"id)"
        </entry></row>
-
       <row><entry>
-       implementationName</entry><entry>char*</entry><entry>"Index Data/YAZ"
+       implementationName</entry><entry>char*</entry><entry>"YAZ"
        </entry></row>
-
       <row><entry>
        implementationVersion</entry><entry>char*</entry><entry>YAZ_VERSION
        </entry></row>
-
       <row><entry>
        userInformationField</entry><entry>Z_UserInformation</entry><entry>NULL
        </entry></row>
-
       <row><entry>
        otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
        </entry></row>
-
      </tbody>
     </tgroup>
    </table>
 
-   <table frame="top"><title>Default settings for PDU Initialize Response</title>
+   <table frame="top" id="asn.default.search.request">
+    <title>Default settings for PDU Search Request</title>
     <tgroup cols="3">
-     <colspec colname="field"></colspec>
-     <colspec colname="type"></colspec>
-     <colspec colname="value"></colspec>
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
      <thead>
       <row>
        <entry>Field</entry>
@@ -413,60 +402,61 @@ typedef struct Z_ext_typeent
       </row>
      </thead>
      <tbody>
-
       <row><entry>
        referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
        </entry></row>
-
       <row><entry>
-       protocolVersion</entry><entry>Odr_bitmask</entry><entry>Empty bitmask
+       smallSetUpperBound</entry><entry>Odr_int</entry><entry>0
        </entry></row>
-
       <row><entry>
-       options</entry><entry>Odr_bitmask</entry><entry>Empty bitmask
+       largeSetLowerBound</entry><entry>Odr_int</entry><entry>1
        </entry></row>
-
       <row><entry>
-       preferredMessageSize</entry><entry>int</entry><entry>30*1024
+       mediumSetPresentNumber</entry><entry>Odr_int</entry><entry>0
        </entry></row>
-
       <row><entry>
-       maximumRecordSize</entry><entry>int</entry><entry>30*1024
+       replaceIndicator</entry><entry>Odr_bool</entry><entry>TRUE
        </entry></row>
-
       <row><entry>
-       result</entry><entry>bool_t</entry><entry>TRUE
+       resultSetName</entry><entry>char *</entry><entry>"default"
        </entry></row>
-
       <row><entry>
-       implementationId</entry><entry>char*</entry><entry>"YAZ (id=81)"
+       num_databaseNames</entry><entry>Odr_int</entry><entry>0
        </entry></row>
-
       <row><entry>
-       implementationName</entry><entry>char*</entry><entry>"Index Data/YAZ"
+       databaseNames</entry><entry>char **</entry><entry>NULL
        </entry></row>
-
       <row><entry>
-       implementationVersion</entry><entry>char*</entry><entry>YAZ_VERSION
+       smallSetElementSetNames</entry><entry>Z_ElementSetNames
+       </entry><entry>NULL
        </entry></row>
-
       <row><entry>
-       userInformationField</entry><entry>Z_UserInformation</entry><entry>NULL
+       mediumSetElementSetNames</entry><entry>Z_ElementSetNames
+       </entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       preferredRecordSyntax</entry><entry>Odr_oid</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       query</entry><entry>Z_Query</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       additionalSearchInfo</entry><entry>Z_OtherInformation
+       </entry><entry>NULL
        </entry></row>
-
       <row><entry>
        otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
        </entry></row>
-
      </tbody>
     </tgroup>
    </table>
 
-   <table frame="top"><title>Default settings for PDU Search Request</title>
+   <table frame="top" id="asn.default.search.response">
+    <title>Default settings for PDU Search Response</title>
     <tgroup cols="3">
-     <colspec colname="field"></colspec>
-     <colspec colname="type"></colspec>
-     <colspec colname="value"></colspec>
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
      <thead>
       <row>
        <entry>Field</entry>
@@ -479,256 +469,540 @@ typedef struct Z_ext_typeent
       <row><entry>
        referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
        </entry></row>
-
       <row><entry>
-       smallSetUpperBound</entry><entry>int</entry><entry>0
+       resultCount</entry><entry>Odr_int</entry><entry>0
        </entry></row>
-
       <row><entry>
-       largeSetLowerBound</entry><entry>int</entry><entry>1
+       numberOfRecordsReturned</entry><entry>Odr_int</entry><entry>0
        </entry></row>
-
       <row><entry>
-       mediumSetPresentNumber</entry><entry>int</entry><entry>0
+       nextResultSetPosition</entry><entry>Odr_int</entry><entry>0
        </entry></row>
-
       <row><entry>
-       replaceIndicator</entry><entry>bool_t</entry><entry>TRUE
+       searchStatus</entry><entry>Odr_bool</entry><entry>TRUE
        </entry></row>
-
       <row><entry>
-       resultSetName</entry><entry>char *</entry><entry>"default"
+       resultSetStatus</entry><entry>Odr_int</entry><entry>NULL
        </entry></row>
-
       <row><entry>
-       num_databaseNames</entry><entry>int</entry><entry>0
+       presentStatus</entry><entry>Odr_int</entry><entry>NULL
        </entry></row>
-
       <row><entry>
-       databaseNames</entry><entry>char **</entry><entry>NULL
+       records</entry><entry>Z_Records</entry><entry>NULL
        </entry></row>
-
       <row><entry>
-       smallSetElementSetNames</entry><entry>Z_ElementSetNames</entry><entry>NULL
+       additionalSearchInfo</entry>
+       <entry>Z_OtherInformation</entry><entry>NULL
        </entry></row>
-
       <row><entry>
-       mediumSetElementSetNames</entry><entry>Z_ElementSetNames</entry><entry>NULL
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
        </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
+   <table frame="top" id="asn.default.present.request">
+    <title>Default settings for PDU Present Request</title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       resultSetId</entry><entry>char*</entry><entry>"default"
+       </entry></row>
+      <row><entry>
+       resultSetStartPoint</entry><entry>Odr_int</entry><entry>1
+       </entry></row>
+      <row><entry>
+       numberOfRecordsRequested</entry><entry>Odr_int</entry><entry>10
+       </entry></row>
+      <row><entry>
+       num_ranges</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       additionalRanges</entry><entry>Z_Range</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       recordComposition</entry><entry>Z_RecordComposition</entry><entry>NULL
+       </entry></row>
       <row><entry>
        preferredRecordSyntax</entry><entry>Odr_oid</entry><entry>NULL
        </entry></row>
+      <row><entry>
+       maxSegmentCount</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       maxRecordSize</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       maxSegmentSize</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
+   <table frame="top" id="asn.default.present.response">
+    <title>Default settings for PDU Present Response</title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
       <row><entry>
-       query</entry><entry>Z_Query</entry><entry>NULL
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       numberOfRecordsReturned</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       nextResultSetPosition</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       presentStatus</entry><entry>Odr_int</entry><entry>Z_PresentStatus_success
+       </entry></row>
+      <row><entry>
+       records</entry><entry>Z_Records</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
        </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
+   <table frame="top" id="asn.default.delete.result.set.request">
+    <title>Default settings for Delete Result Set Request
+    </title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row><entry>referenceId
+       </entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       deleteFunction</entry><entry>Odr_int</entry><entry>Z_DeleteResultSetRequest_list
+       </entry></row>
+      <row><entry>
+       num_ids</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       resultSetList</entry><entry>char**</entry><entry>NULL
+       </entry></row>
       <row><entry>
-       additionalSearchInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
        </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
+   <table frame="top" id="asn.default.delete.result.set.response">
+    <title>Default settings for Delete Result Set Response
+    </title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       deleteOperationStatus</entry><entry>Odr_int</entry>
+       <entry>Z_DeleteStatus_success</entry></row>
+      <row><entry>
+       num_statuses</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       deleteListStatuses</entry><entry>Z_ListStatus**</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       numberNotDeleted</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       num_bulkStatuses</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       bulkStatuses</entry><entry>Z_ListStatus</entry><entry>NUL
+       L</entry></row>
+      <row><entry>
+       deleteMessage</entry><entry>char*</entry><entry>NULL
+       </entry></row>
       <row><entry>
        otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
        </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
+   <table frame="top" id="asn.default.scan.request">
+    <title>Default settings for Scan Request
+    </title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       num_databaseNames</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       databaseNames</entry><entry>char**</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       attributeSet</entry><entry>Odr_oid</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       termListAndStartPoint</entry><entry>Z_AttributesPlus...
+       </entry><entry>NULL</entry></row>
+      <row><entry>
+       stepSize</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       numberOfTermsRequested</entry><entry>Odr_int</entry><entry>20
+       </entry></row>
+      <row><entry>
+       preferredPositionInResponse</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
      </tbody>
     </tgroup>
    </table>
 
-   <screen>
-    Z_SearchResponse
-    ----------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    resultCount                  int                 0
-    numberOfRecordsReturned      int                 0
-    nextResultSetPosition        int                 0
-    searchStatus                 bool_t              TRUE
-    resultSetStatus              int                 NULL
-    presentStatus                int                 NULL
-    records                      Z_Records           NULL
-    additionalSearchInfo         Z_OtherInformation  NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+   <table frame="top" id="asn.default.scan.response">
+    <title>Default settings for Scan Response
+    </title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
 
-   <screen>
-    Z_PresentRequest
-    ----------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    resultSetId                  char*               "default"
-    resultSetStartPoint          int                 1
-    numberOfRecordsRequested     int                 10
-    num_ranges                   int                 0
-    additionalRanges             Z_Range             NULL
-    recordComposition            Z_RecordComposition NULL
-    preferredRecordSyntax        Odr_oid             NULL
-    maxSegmentCount              int                 NULL
-    maxRecordSize                int                 NULL
-    maxSegmentSize               int                 NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       stepSize</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       scanStatus</entry><entry>Odr_int</entry><entry>Z_Scan_success
+       </entry></row>
+      <row><entry>
+       numberOfEntriesReturned</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       positionOfTerm</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       entries</entry><entry>Z_ListEntris</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       attributeSet</entry><entry>Odr_oid</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
-   <screen>
-    Z_PresentResponse
-    -----------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    numberOfRecordsReturned      int                 0
-    nextResultSetPosition        int                 0
-    presentStatus                int                 Z_PRES_SUCCESS
-    records                      Z_Records           NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+   <table frame="top" id="asn.default.trigger.resource.control.request">
+    <title>Default settings for Trigger Resource Control Request </title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
 
-   <screen>
-    Z_DeleteResultSetRequest
-    ------------------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    deleteFunction               int                 Z_DeleteRequest_list
-    num_ids                      int                 0
-    resultSetList                char**              NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       requestedAction</entry><entry>Odr_int</entry><entry>
+       Z_TriggerResourceCtrl_resou..
+       </entry></row>
+      <row><entry>
+       prefResourceReportFormat</entry><entry>Odr_oid</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       resultSetWanted</entry><entry>Odr_bool</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
 
-   <screen>
-    Z_DeleteResultSetResponse
-    -------------------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    deleteOperationStatus        int                 Z_DeleteStatus_success
-    num_statuses                 int                 0
-    deleteListStatuses           Z_ListStatus**      NULL
-    numberNotDeleted             int                 NULL
-    num_bulkStatuses             int                 0
-    bulkStatuses                 Z_ListStatus        NULL
-    deleteMessage                char*               NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+     </tbody>
+    </tgroup>
+   </table>
 
-   <screen>
-    Z_ScanRequest
-    -------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    num_databaseNames            int                 0
-    databaseNames                char**              NULL
-    attributeSet                 Odr_oid             NULL
-    termListAndStartPoint        Z_AttributesPlus... NULL
-    stepSize                     int                 NULL
-    numberOfTermsRequested       int                 20
-    preferredPositionInResponse  int                 NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+   <table frame="top" id="asn.default.resource.control.request">
+    <title>Default settings for Resource Control Request</title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
 
-   <screen>
-    Z_ScanResponse
-    --------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    stepSize                     int                 NULL
-    scanStatus                   int                 Z_Scan_success
-    numberOfEntriesReturned      int                 0
-    positionOfTerm               int                 NULL
-    entries                      Z_ListEntris        NULL
-    attributeSet                 Odr_oid             NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       suspendedFlag</entry><entry>Odr_bool</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       resourceReport</entry><entry>Z_External</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       partialResultsAvailable</entry><entry>Odr_int</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       responseRequired</entry><entry>Odr_bool</entry><entry>FALSE
+       </entry></row>
+      <row><entry>
+       triggeredRequestFlag</entry><entry>Odr_bool</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
-   <screen>
-    Z_TriggerResourceControlRequest
-    -------------------------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    requestedAction              int                 Z_TriggerResourceCtrl_resou..
-    prefResourceReportFormat     Odr_oid             NULL
-    resultSetWanted              bool_t              NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+   <table frame="top" id="asn.default.resource.control.response">
+    <title>Default settings for Resource Control Response</title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
 
-   <screen>
-    Z_ResourceControlRequest
-    ------------------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    suspendedFlag                bool_t              NULL
-    resourceReport               Z_External          NULL
-    partialResultsAvailable      int                 NULL
-    responseRequired             bool_t              FALSE
-    triggeredRequestFlag         bool_t              NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       continueFlag</entry><entry>bool_t</entry><entry>TRUE
+       </entry></row>
+      <row><entry>
+       resultSetWanted</entry><entry>bool_t</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
-   <screen>
-    Z_ResourceControlResponse
-    -------------------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    continueFlag                 bool_t              TRUE
-    resultSetWanted              bool_t              NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+   <table frame="top" id="asn.default.access.control.request">
+    <title>Default settings for Access Control Request</title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
 
-   <screen>
-    Z_AccessControlRequest
-    ----------------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    which                        enum                Z_AccessRequest_simpleForm;
-    u                            union               NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       which</entry><entry>enum</entry><entry>Z_AccessRequest_simpleForm;
+       </entry></row>
+      <row><entry>
+       u</entry><entry>union</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
-   <screen>
-    Z_AccessControlResponse
-    -----------------------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    which                        enum                Z_AccessResponse_simpleForm
-    u                            union               NULL
-    diagnostic                   Z_DiagRec           NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+   <table frame="top" id="asn.default.access.control.response">
+    <title>Default settings for Access Control Response</title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
 
-   <screen>
-    Z_Segment
-    ---------
-    Field                        Type                Default value
-
-    referenceId                  Z_ReferenceId       NULL
-    numberOfRecordsReturned      int                 value=0
-    num_segmentRecords           int                 0
-    segmentRecords               Z_NamePlusRecord    NULL
-    otherInfo                    Z_OtherInformation  NULL
-   </screen>
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       which</entry><entry>enum</entry><entry>Z_AccessResponse_simpleForm
+       </entry></row>
+      <row><entry>
+       u</entry><entry>union</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       diagnostic</entry><entry>Z_DiagRec</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
-   <screen>
-    Z_Close
-    -------
-    Field                        Type                Default value
+   <table frame="top" id="asn.default.segment">
+    <title>Default settings for Segment</title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
 
-    referenceId                  Z_ReferenceId       NULL
-    closeReason                  int                 Z_Close_finished
-    diagnosticInformation        char*               NULL
-    resourceReportFormat         Odr_oid             NULL
-    resourceFormat               Z_External          NULL
-    otherInfo                    Z_OtherInformation  NULL
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       numberOfRecordsReturned</entry><entry>Odr_int</entry><entry>value=0
+       </entry></row>
+      <row><entry>
+       num_segmentRecords</entry><entry>Odr_int</entry><entry>0
+       </entry></row>
+      <row><entry>
+       segmentRecords</entry><entry>Z_NamePlusRecord</entry><entry>NULL
+       </entry></row>
+      <row><entry>otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
+     </tbody>
+    </tgroup>
+   </table>
 
-   </screen>
+   <table frame="top" id="asn.default.close">
+    <title>Default settings for Close</title>
+    <tgroup cols="3">
+     <colspec colwidth="7*" colname="field"></colspec>
+     <colspec colwidth="5*" colname="type"></colspec>
+     <colspec colwidth="7*" colname="value"></colspec>
+     <thead>
+      <row>
+       <entry>Field</entry>
+       <entry>Type</entry>
+       <entry>Default Value</entry>
+      </row>
+     </thead>
+     <tbody>
+
+      <row><entry>
+       referenceId</entry><entry>Z_ReferenceId</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       closeReason</entry><entry>Odr_int</entry><entry>Z_Close_finished
+       </entry></row>
+      <row><entry>
+       diagnosticInformation</entry><entry>char*</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       resourceReportFormat</entry><entry>Odr_oid</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       resourceFormat</entry><entry>Z_External</entry><entry>NULL
+       </entry></row>
+      <row><entry>
+       otherInfo</entry><entry>Z_OtherInformation</entry><entry>NULL
+       </entry></row>
+
+     </tbody>
+    </tgroup>
+   </table>
 
   </sect1>
  </chapter>
@@ -743,7 +1017,7 @@ typedef struct Z_ext_typeent
  sgml-indent-step:1
  sgml-indent-data:t
  sgml-parent-document: "yaz.xml"
- sgml-local-catalogs: "../../docbook/docbook.cat"
+ sgml-local-catalogs: nil
  sgml-namecase-general:t
  End:
  -->