-<!-- $Id: frontend.xml,v 1.31 2006-07-31 11:47:04 adam Exp $ -->
+<!-- $Id: frontend.xml,v 1.33 2007-02-01 09:56:14 adam Exp $ -->
<chapter id="server"><title>Generic server</title>
- <sect1><title>Introduction</title>
+ <sect1 id="server.introduction"><title>Introduction</title>
<para>
If you aren't into documentation, a good way to learn how the
</para></listitem></varlistentry>
<varlistentry><term>
- <literal>char logfile[ODR_MAXNAME+1]</literal></term>
+ <literal>char logfile[ODR_MAXNAME+1]</literal></term>
<listitem><para>File for diagnostic output ("": stderr).
</para></listitem></varlistentry>
<varlistentry><term>
- <literal>char apdufile[ODR_MAXNAME+1]</literal></term>
+ <literal>char apdufile[ODR_MAXNAME+1]</literal></term>
<listitem><para>
Name of file for logging incoming and outgoing APDUs
("": don't log APDUs, "-":
</para></listitem></varlistentry>
<varlistentry><term>
- <literal>char default_listen[1024]</literal></term>
+ <literal>char default_listen[1024]</literal></term>
<listitem><para>Same form as the command-line specification of
listener address. "": no default listener address.
Default is to listen at "tcp:@:9999". You can only
</para></listitem></varlistentry>
<varlistentry><term>
- <literal>char configname[ODR_MAXNAME+1]</literal></term>
+ <literal>char configname[ODR_MAXNAME+1]</literal></term>
<listitem><para>Passed to the backend when a new connection is received.
</para></listitem></varlistentry>
<varlistentry><term>
- <literal>char setuid[ODR_MAXNAME+1]</literal></term>
+ <literal>char setuid[ODR_MAXNAME+1]</literal></term>
<listitem><para>Set user id to the user specified, after binding
the listener addresses.
</para></listitem></varlistentry>
functions representing the services that you wish to implement.
</para>
- <sect2><title>Init</title>
+ <sect2 id="server.init"><title>Init</title>
<synopsis>
bend_initresult (*bend_init)(bend_initrequest *r);
</sect2>
- <sect2><title>Search and retrieve</title>
+ <sect2 id="server.search.retrieve"><title>Search and Retrieve</title>
<para>We now describe the handlers that are required to support search -
and retrieve. You must support two functions - one for search - and one
structure (note that CQL is now part of Z39.50 via an external).
To support CQL in existing implementations that only do Type-1,
we refer to the CQL-to-PQF tool described
- <link linkend="tools.cql.pqf">here</link>.
+ <link linkend="cql.to.pqf">here</link>.
</para>
<para>
</sect2>
- <sect2><title>Delete</title>
+ <sect2 id="server.delete"><title>Delete</title>
<para>
For back-ends that supports delete of a result set only one handler
</sect2>
- <sect2><title>scan</title>
+ <sect2 id="server.scan"><title>Scan</title>
<para>
For servers that wish to offer the scan service one handler
</para>
<synopsis>
- hostname | IP-number [: portnumber]
+ hostname | IP-number [: portnumber]
</synopsis>
<para>
which causes the server to listen on any local interface.
</para>
- <example><title>Running the GFS on Unix</title>
+ <example id="server.example.running.unix"><title>Running the GFS on Unix</title>
<para>
Assuming the server application <replaceable>appname</replaceable> is
started as root, the following will make it listen on port 210.
The server will accept Z39.50 requests and offer SRU service on port 210.
</para>
</example>
- <example><title>Setting up Apache as SRU Frontend</title>
+ <example id="server.example.apache.sru"><title>Setting up Apache as SRU Frontend</title>
<para>
If you use <ulink url="&url.apache;">Apache</ulink>
as your public web server and want to offer HTTP port 80
The above for the Apache 1.3 series.
</para>
</example>
- <example><title>Running a server with local access only</title>
+ <example id="server.example.local.access">
+ <title>Running a server with local access only</title>
<para>
Servers that is only being accessed from the local host should listen
on UNIX file socket rather than a Internet socket. To listen on