X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Ffrontend.xml;h=99f49094e835fccd4651498f8720acbe030b7283;hb=519fe26fff30687caa26c4a26038d02dcc0429c8;hp=57b5471dbdf842f1a6f854675cf1b8bb4084c65c;hpb=df38683ebdd6534f3f7b3b3a45a7a63e74b2bb80;p=yaz-moved-to-github.git diff --git a/doc/frontend.xml b/doc/frontend.xml index 57b5471..99f4909 100644 --- a/doc/frontend.xml +++ b/doc/frontend.xml @@ -1,7 +1,7 @@ - + Generic server Introduction - + If you aren't into documentation, a good way to learn how the back end interface works is to look at the backend.h @@ -52,7 +52,8 @@ The backend API consists of a small number of function handlers and structure definitions. You are required to provide the main() routine for the server (which can be - quite simple), as well as a set of handlers to match each of the prototypes. + quite simple), as well as a set of handlers to match each of the + prototypes. The interface functions that you write can use any mechanism you like to communicate with your database system: You might link the whole thing together with your database application and access it by @@ -397,7 +398,8 @@ typedef struct bend_initresult The members peer_name, implementation_id, implementation_name and - implementation_version holds DNS of client, ID of implementor, name + implementation_version holds + DNS of client, ID of implementor, name of client (Z39.50) implementation - and version. @@ -678,129 +680,37 @@ typedef struct bend_scan_rr { The finished application has the following invocation syntax (by way of statserv_main()): - - - appname [-szSiTu -a apdufile -l logfile -v loglevel -c config] - [listener ...] - - + + + appname + + + + + + + + + + + + listener-spec + + - The options are - - + The options are: - -a - file - - Specify a file for dumping PDUs (for diagnostic purposes). - The special name "-" sends output to - stderr. - - - -S - - Don't fork or make threads on connection requests. This is good for - debugging, but not recommended for real operation: Although the - server is asynchronous and non-blocking, it can be nice to keep - a software malfunction (okay then, a crash) from affecting all - current users. - - - -T - - 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. - + &ztest-options; - -s - - Use the SR protocol (obsolete). - - - -z - - Use the Z39.50 protocol (default). These two options complement - each other. You can use both multiple times on the same command - line, between listener-specifications (see below). This way, you - can set up the server to listen for connections in both protocols - concurrently, on different local ports. - - - -l - file - The logfile. - - - -c - config - 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 - confignameof the - statserv_options_block. - - - -v - level - - The log level. Use a comma-separated list of members of the set - {fatal,debug,warn,log,all,none}. - - - -u - userid - - 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 - server run as root, but you need to start it as such to bind a - privileged port. - - - -w - dir - - Working directory. - - - -i - - Use this to make the the server run from the - inetd server (UNIX only). - - - -install - - 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. - - - -remove - - Use this to remove the server from the NT services (Windows 2000/NT only). - - - -t - minutes - - Idle session timeout, in minutes. - - - -k - size - - Maximum record size/message size, in kilobytes. - - - - + A listener specification consists of a transport mode followed by a colon (:) followed by a listener address. The transport mode is - either tcp or ssl. + either tcp, unix: or + ssl. - + For TCP and SSL, an address has the form @@ -814,24 +724,29 @@ typedef struct bend_scan_rr { - Examples + For UNIX, the address is the filename of socket. - - tcp:dranet.dra.com - - ssl:ssl.enterprise.com:3000 - - - In both cases, the special hostname "@" is mapped to + For TCP/IP and SSL, the special hostname "@" is mapped to the address INADDR_ANY, which causes the server to listen on any local interface. + + + Examples: + + tcp:@:210 + + ssl:@:3000 + + unix:/tmp/yaz + + - +