-<!-- $Id: zoom.xml,v 1.33 2003-11-17 15:00:41 mike Exp $ -->
+<!-- $Id: zoom.xml,v 1.38 2005-09-07 11:53:25 adam Exp $ -->
<chapter id="zoom"><title>ZOOM</title>
<para>
&zoom; is an acronym for 'Z39.50 Object-Orientation Model' and is
group</entry><entry>Authentication group name
</entry><entry>none</entry></row>
<row><entry>
- pass</entry><entry>Authentication password
+ password</entry><entry>Authentication password.
</entry><entry>none</entry></row>
<row><entry>
host</entry><entry>Target host. This setting is "read-only".
charset</entry><entry> Character set for negotiation.
</entry><entry>none</entry></row>
<row><entry>
- targetImplementationId</entry><entry> Implementation ID of target.
+ serverImplementationId</entry><entry>
+ Implementation ID of server. (The old targetImplementationId
+ option is also supported for the benefit of old applications.)
</entry><entry>none</entry></row>
<row><entry>
- targetImplementationName</entry><entry> Implementation Name of target.
+ targetImplementationName</entry><entry>
+ Implementation Name of server. (The old
+ targetImplementationName option is also supported for the
+ benefit of old applications.)
</entry><entry>none</entry></row>
<row><entry>
- targetImplementationVersion</entry><entry> Implementation Version
- of target.
+ serverImplementationVersion</entry><entry>
+ Implementation Version of server. (the old
+ targetImplementationVersion option is also supported for the
+ benefit of old applications.)
</entry><entry>none</entry></row>
<row><entry>
databaseName</entry><entry>One or more database names
count</entry><entry>Number of records to be retrieved.
</entry><entry>0</entry></row>
<row><entry>
- step</entry><entry>Number of records to be retrieved in
- one chunk. The value, 0 means unchunked.
+ presentChunk</entry><entry>The number of records to be
+ requested from the server in each chunk (present requst). The
+ value 0 means to request all the records in a single chunk.
+ (The old <literal>step</literal>
+ option is also supported for the benefit of old applications.)
</entry><entry>0</entry></row>
<row><entry>
elementSetName</entry><entry>Element-Set name of records.
const char * ZOOM_scanset_term(ZOOM_scanset scan, size_t pos,
int *occ, size_t *len);
+ const char * ZOOM_scanset_display_term(ZOOM_scanset scan, size_t pos,
+ int *occ, size_t *len);
void ZOOM_scanset_destroy (ZOOM_scanset scan);
<para>
The scan set is created by function
<function>ZOOM_connection_scan</function> which performs a scan
- operation on the connection and start term given.
+ operation on the connection using the specified startterm.
If the operation was successful, the size of the scan set can be
retrieved by a call to <function>ZOOM_scanset_size</function>.
Like result sets, the items are numbered 0,..size-1.
To obtain information about a particular scan term, call function
<function>ZOOM_scanset_term</function>. This function takes
a scan set offset <literal>pos</literal> and returns a pointer
- to an actual term or <literal>NULL</literal> if non-present.
+ to a <emphasis>raw term</emphasis> or <literal>NULL</literal> if
+ non-present.
If present, the <literal>occ</literal> and <literal>len</literal>
are set to the number of occurrences and the length
of the actual term respectively.
+ <function>ZOOM_scanset_display_term</function> is similar to
+ <function>ZOOM_scanset_term</function> except that it returns
+ the <emphasis>display term</emphasis> rather than the raw term.
+ In a few cases, the term is different from display term. Always
+ use the display term for display and the raw term for subsequent
+ scan operations (to get more terms, next scan result, etc).
+ </para>
+ <para>
A scan set may be freed by a call to function
<function>ZOOM_scanset_destroy</function>.
Functions <function>ZOOM_scanset_option_get</function> and
To ensure that all outstanding requests are performed call this function
repeatedly until zero is returned.
</para>
+ <para>
+ If <function>ZOOM_event</function> returns and returns non-zero, the
+ last event that occurred can be expected.
+ </para>
+ <synopsis>
+ int ZOOM_connection_last_event(ZOOM_connection cs);
+ </synopsis>
+ <para>
+ <function>ZOOM_connection_last_event</function> returns an event type
+ (integer) for the last event.
+ </para>
+
+ <table frame="top"><title>ZOOM Event IDs</title>
+ <tgroup cols="2">
+ <colspec colwidth="4*" colname="name"></colspec>
+ <colspec colwidth="7*" colname="description"></colspec>
+ <thead>
+ <row>
+ <entry>Event</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>ZOOM_EVENT_NONE</entry>
+ <entry>No event has occurred</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_CONNECT</entry>
+ <entry>TCP/IP connect has initiated</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_SEND_DATA</entry>
+ <entry>Data has been transmitted (sending)</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_RECV_DATA</entry>
+ <entry>Data has been received)</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_TIMEOUT</entry>
+ <entry>Timeout</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_UNKNOWN</entry>
+ <entry>Unknown event</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_SEND_APDU</entry>
+ <entry>An APDU has been transmitted (sending)</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_RECV_APDU</entry>
+ <entry>An APDU has been received</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_RECV_RECORD</entry>
+ <entry>A result-set record has been received</entry>
+ </row>
+ <row>
+ <entry>ZOOM_EVENT_RECV_SEARCH</entry>
+ <entry>A search result been received</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
</sect1>
</chapter>