Move main YAZ manual to book.xml; use nxml YAZ-758
[yaz-moved-to-github.git] / doc / asn.xml
diff --git a/doc/asn.xml b/doc/asn.xml
deleted file mode 100644 (file)
index 78ee814..0000000
+++ /dev/null
@@ -1,1023 +0,0 @@
- <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 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>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 id="asn.preparing"><title>Preparing PDUs</title>
-
-   <para>
-    A structure representing a complex ASN.1 type doesn't in itself contain the
-    members of that type. Instead, the structure contains
-    <emphasis>pointers</emphasis> to the members of the type.
-    This is necessary, in part, to allow a mechanism for specifying which
-    of the optional structure (SEQUENCE) members are present, and which
-    are not. It follows that you will need to somehow provide space for
-    the individual members of the structure, and set the pointers to
-    refer to the members.
-   </para>
-   <para>
-    The conversion routines don't care how you allocate and maintain your
-    C structures - they just follow the pointers that you provide.
-    Depending on the complexity of your application, and your personal
-    taste, there are at least three different approaches that you may take
-    when you allocate the structures.
-   </para>
-
-   <para>
-    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
-    efficient form of memory management. While it works well for flat
-    PDUs like the InitReqest, it will generally not be sufficient for say,
-    the generation of an arbitrarily complex RPN query structure.
-   </para>
-   <para>
-    You can individually create the structure and its members using the
-    <function>malloc(2)</function> function. If you want to ensure that
-    the data is freed when it is no longer needed, you will have to
-    define a function that individually releases each member of a
-    structure before freeing the structure itself.
-   </para>
-   <para>
-    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
-    &quot;nibble-memory&quot;
-    scheme, in which large portions of memory are allocated, and then
-    gradually handed out with each call to <function>odr_malloc()</function>.
-    The next time you call <function>odr_reset()</function>, all of the
-    memory allocated since the last call is recycled for future use (actually,
-    it is placed on a free-list).
-   </para>
-   <para>
-    You can combine all of the methods described here. This will often be
-    the most practical approach. For instance, you might use
-    <function>odr_malloc()</function> to allocate an entire structure and
-    some of its elements, while you leave other elements pointing to global
-    or per-session default variables.
-   </para>
-
-   <para>
-    The &asn; module provides an important aid in creating new PDUs. For
-    each of the PDU types (say, <function>Z_InitRequest</function>), a
-    function is provided that allocates and initializes an instance of
-    that PDU type for you. In the case of the InitRequest, the function is
-    simply named <function>zget_InitRequest()</function>, and it sets up
-    reasonable default value for all of the mandatory members. The optional
-    members are generally initialized to null pointers. This last aspect
-    is very important: it ensures that if the PDU definitions are
-    extended after you finish your implementation (to accommodate
-    new versions of the protocol, say), you won't get into trouble with
-    uninitialized pointers in your structures. The functions use
-    <function>odr_malloc()</function> to
-    allocate the PDUs and its members, so you can free everything again with a
-    single call to <function>odr_reset()</function>. We strongly recommend
-    that you use the <literal>zget_*</literal>
-    functions whenever you are preparing a PDU (in a C++ API, the
-    <literal>zget_</literal>
-    functions would probably be promoted to constructors for the
-    individual types).
-   </para>
-   <para>
-   The prototype for the individual PDU types generally look like this:
-   </para>
-   <synopsis>
-    Z_&lt;type> *zget_&lt;type>(ODR o);
-   </synopsis>
-
-   <para>
-    eg.:
-   </para>
-
-   <synopsis>
-    Z_InitRequest *zget_InitRequest(ODR o);
-   </synopsis>
-
-   <para>
-   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 top-level Z-APDU of the type requested:
-   </para>
-
-   <synopsis>
-    Z_APDU *zget_APDU(ODR o, int which);
-   </synopsis>
-
-   <para>
-    The <varname>which</varname> parameter is (of course) the discriminator
-    belonging to the <varname>Z_APDU</varname> <literal>CHOICE</literal> type.
-    All of the interface described here is provided by the &asn; module, and
-    you access it through the <filename>proto.h</filename> header file.
-
-   </para>
-  </sect1>
-  <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
-    specialized version of the EXTERNAL construct, called
-    <literal>Z_External</literal>.It is defined thus:
-   </para>
-
-   <screen>
-typedef struct Z_External
-{
-    Odr_oid *direct_reference;
-    int *indirect_reference;
-    char *descriptor;
-    enum
-    {
-        /* Generic types */
-        Z_External_single = 0,
-        Z_External_octet,
-        Z_External_arbitrary,
-
-        /* Specific types */
-        Z_External_SUTRS,
-        Z_External_explainRecord,
-        Z_External_resourceReport1,
-        Z_External_resourceReport2
-
-    ...
-
-    } which;
-    union
-    {
-        /* Generic types */
-        Odr_any *single_ASN1_type;
-        Odr_oct *octet_aligned;
-        Odr_bitmask *arbitrary;
-
-        /* Specific types */
-        Z_SUTRS *sutrs;
-        Z_ExplainRecord *explainRecord;
-        Z_ResourceReport1 *resourceReport1;
-        Z_ResourceReport2 *resourceReport2;
-
-        ...
-
-    } u;
-} Z_External;
-   </screen>
-
-   <para>
-    When decoding, the &asn; module will attempt to determine which
-    syntax describes the data by looking at the reference fields
-    (currently only the direct-reference). For ASN.1 structured data, you
-    need only consult the <literal>which</literal> field to determine the
-    type of data. You can the access  the data directly through the union.
-    When constructing data for encoding, you set the union pointer to point
-    to the data, and set the <literal>which</literal> field accordingly.
-    Remember also to set the direct (or indirect) reference to the correct
-    OID for the data type.
-    For non-ASN.1 data such as MARC records, use the
-    <literal>octet_aligned</literal> arm of the union.
-   </para>
-
-   <para>
-    Some servers return ASN.1 structured data values (eg. database
-    records) as BER-encoded records placed in the
-    <literal>octet-aligned</literal> branch of the EXTERNAL CHOICE.
-    The ASN-module will <emphasis>not</emphasis> automatically decode
-    these records. To help you decode the records in the application, the
-    function
-   </para>
-
-   <screen>
-   Z_ext_typeent *z_ext_gettypebyref(const oid *oid);
-   </screen>
-
-   <para>
-    Can be used to retrieve information about the known, external data
-    types. The function return a pointer to a static area, or NULL, if no
-    match for the given direct reference is found. The
-    <literal>Z_ext_typeent</literal>
-    is defined as:
-   </para>
-
-   <screen>
-typedef struct Z_ext_typeent
-{
-    int oid[OID_SIZE]; /* the direct-reference OID. */
-    int what;          /* discriminator value for the external CHOICE */
-    Odr_fun fun;       /* decoder function */
-} Z_ext_typeent;
-   </screen>
-
-   <para>
-    The <literal>what</literal> member contains the
-    <literal>Z_External</literal> union discriminator value for the
-    given type: For the SUTRS record syntax, the value would be
-    <literal>Z_External_sutrs</literal>.
-    The <literal>fun</literal> member contains a pointer to the
-    function which encodes/decodes the given type. Again, for the SUTRS
-    record syntax, the value of <literal>fun</literal> would be
-    <literal>z_SUTRS</literal> (a function pointer).
-   </para>
-
-   <para>
-    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
-    <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 <xref linkend="odr.use"/>
-    ).
-   </para>
-
-   <para>
-    If you want to <emphasis>send</emphasis> EXTERNALs containing
-    ASN.1-structured values in the occtet-aligned branch of the CHOICE, this
-    is possible too. However, on the encoding phase, it requires a somewhat
-    involved juggling around of the various buffers involved.
-   </para>
-   <para>
-    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
-    on decoding.
-   </para>
-
-   <note>
-    <para>
-     Eventually, the EXTERNAL processing will most likely
-     automatically insert the correct OIDs or indirect-refs. First,
-     however, we need to determine how application-context management
-     (specifically the presentation-context-list) should fit into the
-     various modules.
-    </para>
-   </note>
-
-  </sect1>
-  <sect1 id="asn.pdu"><title>PDU Contents Table</title>
-
-  <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" id="asn.default.initialize.request">
-    <title>Default settings for PDU Initialize 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>
-       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>
-       <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>
-       result</entry><entry>Odr_bool</entry><entry>TRUE
-       </entry></row>
-      <row><entry>
-       implementationId</entry><entry>char*</entry><entry>"id)"
-       </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.search.request">
-    <title>Default settings for PDU Search 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>
-       smallSetUpperBound</entry><entry>Odr_int</entry><entry>0
-       </entry></row>
-      <row><entry>
-       largeSetLowerBound</entry><entry>Odr_int</entry><entry>1
-       </entry></row>
-      <row><entry>
-       mediumSetPresentNumber</entry><entry>Odr_int</entry><entry>0
-       </entry></row>
-      <row><entry>
-       replaceIndicator</entry><entry>Odr_bool</entry><entry>TRUE
-       </entry></row>
-      <row><entry>
-       resultSetName</entry><entry>char *</entry><entry>"default"
-       </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>
-       smallSetElementSetNames</entry><entry>Z_ElementSetNames
-       </entry><entry>NULL
-       </entry></row>
-      <row><entry>
-       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" id="asn.default.search.response">
-    <title>Default settings for PDU Search 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>
-       resultCount</entry><entry>Odr_int</entry><entry>0
-       </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>
-       searchStatus</entry><entry>Odr_bool</entry><entry>TRUE
-       </entry></row>
-      <row><entry>
-       resultSetStatus</entry><entry>Odr_int</entry><entry>NULL
-       </entry></row>
-      <row><entry>
-       presentStatus</entry><entry>Odr_int</entry><entry>NULL
-       </entry></row>
-      <row><entry>
-       records</entry><entry>Z_Records</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" 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>
-       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>
-       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>
-
-   <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>
-
-      <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>
-
-   <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>
-
-      <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>
-
-     </tbody>
-    </tgroup>
-   </table>
-
-   <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>
-
-      <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>
-
-   <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>
-
-      <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>
-
-   <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>
-
-      <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>
-
-   <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>
-
-      <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>
-
-   <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>
-
-      <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>
-
-   <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>
-
- <!-- Keep this comment at the end of the file
- Local variables:
- mode: sgml
- sgml-omittag:t
- sgml-shorttag:t
- sgml-minimize-attributes:nil
- sgml-always-quote-attributes:t
- sgml-indent-step:1
- sgml-indent-data:t
- sgml-parent-document: "yaz.xml"
- sgml-local-catalogs: nil
- sgml-namecase-general:t
- End:
- -->