X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Ffrontend.xml;h=99f49094e835fccd4651498f8720acbe030b7283;hb=9287c96097c00d28310becb14ea3dd7cfb9f2ab0;hp=297c5f3b06ed17a528fd4f25dee4fad36380e329;hpb=d82eeac05d2899fa30704e2c40e9dd603ff2c581;p=yaz-moved-to-github.git diff --git a/doc/frontend.xml b/doc/frontend.xml index 297c5f3..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,132 +680,28 @@ typedef struct bend_scan_rr { The finished application has the following invocation syntax (by way of statserv_main()): - - - appname [-szSiT1 -u uid -a apdufile -l logfile -v loglevel -c config] - [listener ...] - - + + + appname + + + + + + + + + + + + listener-spec + + - The options are - - - - -a - apdufile - - 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. - - - -1 - - Like -S but after one session the server - exits. This mode is for debugging only. - - - -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. - - - -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,malloc,all,none}. - + The options are: - -u - uid - - 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 - - The server changes to this directory during before listening - on incoming connections. This option is useful - when the server is operating from the inetd - daemon (see -i). - + &ztest-options; - -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. - - - @@ -826,30 +724,29 @@ typedef struct bend_scan_rr { - For UNIX local socket the address is the name local file. + For UNIX, the address is the filename of socket. - + - Examples + 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:dranet.dra.com + tcp:@:210 - ssl:ssl.enterprise.com:3000 + ssl:@:3000 unix:/tmp/yaz - - - 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. - +