-<!-- $Id: frontend.xml,v 1.9 2001-11-19 14:06:11 adam Exp $ -->
+<!-- $Id: frontend.xml,v 1.13 2002-08-17 07:55:51 adam Exp $ -->
<chapter id="server"><title>Generic server</title>
<sect1><title>Introduction</title>
<varlistentry><term>
<literal>int idle_timeout;</literal></term>
- <listitem><para>Maximum session idletime, in minutes. Zero indicates
+ <listitem><para>Maximum session idle-time, in minutes. Zero indicates
no (infinite) timeout. Default is 120 minutes.
</para></listitem></varlistentry>
Z_ReferenceId *referenceId;/* reference ID */
char *peer_name; /* dns host of peer (client) */
+ char *implementation_id;
char *implementation_name;
char *implementation_version;
int (*bend_sort) (void *handle, bend_sort_rr *rr);
<para>
The members <literal>peer_name</literal>,
+ <literal>implementation_id</literal>,
<literal>implementation_name</literal> and
- <literal>implementation_version</literal> holds DNS of client, name
+ <literal>implementation_version</literal> holds DNS of client, ID of implementor, name
of client (Z39.50) implementation - and version.
</para>
} bend_scan_status;
typedef struct bend_scan_rr {
- int num_bases; /* number of elements in databaselist */
+ int num_bases; /* number of elements in database list */
char **basenames; /* databases to search */
oid_value attributeset;
Z_ReferenceId *referenceId; /* reference ID */
</para>
<synopsis>
- <replaceable>appname</replaceable> [-szSiTu -a <replaceable>apdufile</replaceable> -l <replaceable>logfile</replaceable> -v <replaceable>loglevel</replaceable> -c <replaceable>config</replaceable>]
+ <replaceable>appname</replaceable> [-szSiT1 -u <replaceable>uid</replaceable> -a <replaceable>apdufile</replaceable> -l <replaceable>logfile</replaceable> -v <replaceable>loglevel</replaceable> -c <replaceable>config</replaceable>]
[listener ...]
</synopsis>
<variablelist>
- <varlistentry><term>-a <replaceable>file</replaceable></term>
+ <varlistentry><term><literal>-a </literal>
+ <replaceable>apdufile</replaceable></term>
<listitem><para>
Specify a file for dumping PDUs (for diagnostic purposes).
The special name "-" sends output to
<literal>stderr</literal>.
</para></listitem></varlistentry>
- <varlistentry><term>-S</term>
+ <varlistentry><term><literal>-S</literal></term>
<listitem><para>
Don't fork or make threads on connection requests. This is good for
debugging, but not recommended for real operation: Although the
current users.
</para></listitem></varlistentry>
- <varlistentry><term>-T</term>
+ <varlistentry><term><literal>-1</literal></term>
+ <listitem><para>
+ Like <literal>-S</literal> but after one session the server
+ exits. This mode is for debugging <emphasis>only</emphasis>.
+ </para></listitem></varlistentry>
+
+ <varlistentry><term><literal>-T</literal></term>
<listitem><para>
Operate the server in threaded mode. The server creates a thread
for each connection rather than a fork a process. Only available
on UNIX systems that offers POSIX threads.
</para></listitem></varlistentry>
- <varlistentry><term>-s</term>
+ <varlistentry><term><literal>-s</literal></term>
<listitem><para>
Use the SR protocol (obsolete).
</para></listitem></varlistentry>
- <varlistentry><term>-z</term>
+ <varlistentry><term><literal>-z</literal></term>
<listitem><para>
Use the Z39.50 protocol (default). These two options complement
each other. You can use both multiple times on the same command
concurrently, on different local ports.
</para></listitem></varlistentry>
- <varlistentry><term>-l <replaceable>file</replaceable></term>
+ <varlistentry><term><literal>-l </literal>
+ <replaceable>file</replaceable></term>
<listitem><para>The logfile.
</para></listitem></varlistentry>
- <varlistentry><term>-c <replaceable>config</replaceable></term>
+ <varlistentry><term><literal>-c </literal>
+ <replaceable>config</replaceable></term>
<listitem><para>A user option that serves as a specifier for some
sort of configuration, e.g. a filename.
The argument to this option is transferred to member
<literal>statserv_options_block</literal>.
</para></listitem></varlistentry>
- <varlistentry><term>-v <replaceable>level</replaceable></term>
+ <varlistentry><term><literal>-v </literal>
+ <replaceable>level</replaceable></term>
<listitem><para>
The log level. Use a comma-separated list of members of the set
- {fatal,debug,warn,log,all,none}.
+ {fatal,debug,warn,log,malloc,all,none}.
</para></listitem></varlistentry>
- <varlistentry><term>-u <replaceable>userid</replaceable></term>
+ <varlistentry><term><literal>-u </literal>
+ <replaceable>uid</replaceable></term>
<listitem><para>
Set user ID. Sets the real UID of the server process to that of the
given user. It's useful if you aren't comfortable with having the
privileged port.
</para></listitem></varlistentry>
- <varlistentry><term>-w <replaceable>dir</replaceable></term>
+ <varlistentry><term><literal>-w </literal>
+ <replaceable>dir</replaceable></term>
<listitem><para>
- Working directory.
+ The server changes to this directory during before listening
+ on incoming connections. This option is useful
+ when the server is operating from the <application>inetd</application>
+ daemon (see <literal>-i</literal>).
</para></listitem></varlistentry>
- <varlistentry><term>-i</term>
+ <varlistentry><term><literal>-i</literal></term>
<listitem><para>
- Use this when running from the <application>inetd</application> server.
+ Use this to make the the server run from the
+ <application>inetd</application> server (UNIX only).
</para></listitem></varlistentry>
-
- <varlistentry><term>-t <replaceable>minutes</replaceable></term>
+
+ <varlistentry><term><literal>-install</literal></term>
+ <listitem><para>
+ Use this to install the server as an NT service
+ (Windows 2000/NT only).
+ Control the server by going to the Services in the Control Panel.
+ </para></listitem></varlistentry>
+
+ <varlistentry><term><literal>-remove</literal></term>
+ <listitem><para>
+ Use this to remove the server from the NT services
+ (Windows 2000/NT only).
+ </para></listitem></varlistentry>
+
+ <varlistentry><term><literal>-t </literal>
+ <replaceable>minutes</replaceable></term>
<listitem><para>
Idle session timeout, in minutes.
</para></listitem></varlistentry>
-
- <varlistentry><term>-k <replaceable>size</replaceable></term>
+
+ <varlistentry><term><literal>-k </literal>
+ <replaceable>size</replaceable></term>
<listitem><para>
Maximum record size/message size, in kilobytes.
</para></listitem></varlistentry>
-
+
</variablelist>
</para>
-
+
<para>
A listener specification consists of a transport mode followed by a
colon (:) followed by a listener address. The transport mode is
- either <literal>tcp</literal> or <literal>ssl</literal>.
+ either <literal>tcp</literal>, <literal>unix:</literal> or
+ <literal>ssl</literal>.
</para>
-
+
<para>
For TCP and SSL, an address has the form
</para>
</para>
<para>
+ For UNIX local socket the address is the name local file.
+ </para>
+
+ <para>
Examples
</para>
tcp:dranet.dra.com
ssl:ssl.enterprise.com:3000
+
+ unix:/tmp/yaz
</screen>
<para>
- In both cases, the special hostname "@" is mapped to
- the address INADDR_ANY, which causes the server to listen on any local
- interface.
+ For TCP/IP and SSL, the special hostname "@" is mapped to
+ the address <literal>INADDR_ANY</literal>, which causes the
+ server to listen on any local interface.
</para>
</sect1>