Moved C declaration to start of block
[simpleserver-moved-to-github.git] / SimpleServer.pm
index 5a8e32d..e77f78a 100644 (file)
@@ -1,5 +1,5 @@
 ##
-##  Copyright (c) 2000, Index Data.
+##  Copyright (c) 2000-2004, Index Data.
 ##
 ##  Permission to use, copy, modify, distribute, and sell this software and
 ##  its documentation, in whole or in part, for any purpose, is hereby granted,
 ##
 
 ## $Log: SimpleServer.pm,v $
-## Revision 1.14  2002-03-06 11:30:02  mike
+## Revision 1.19  2004-05-13 19:04:32  adam
+## Bump year
+##
+## Revision 1.18  2003/09/09 20:12:38  mike
+## Return diagnostics on Init failure
+##
+## Revision 1.17  2003/09/09 11:40:10  mike
+## (Finally!) support implementation-ID
+##
+## Revision 1.16  2003/01/03 09:01:51  sondberg
+## Version 0.07.
+##
+## Revision 1.15  2002/09/16 14:00:16  sondberg
+## Updated Changes and added a few lines of documentation.
+##
+## Revision 1.14  2002/03/06 11:30:02  mike
 ## Add RPN structure documentation to SimpleServer.pm's POD.
 ## Add README to MANIFEST.
 ##
@@ -78,7 +93,7 @@ require AutoLoader;
 @EXPORT = qw(
        
 );
-$VERSION = '0.05';
+$VERSION = '0.08';
 
 bootstrap Net::Z3950::SimpleServer $VERSION;
 
@@ -273,9 +288,15 @@ The argument hash passed to the init handler has the form
   $args = {
                                    ## Response parameters:
 
+            IMP_ID    =>  "",      ## Z39.50 Implementation ID
             IMP_NAME  =>  "",      ## Z39.50 Implementation name
             IMP_VER   =>  "",      ## Z39.50 Implementation version
             ERR_CODE  =>  0,       ## Error code, cnf. Z39.50 manual
+            ERR_STR   =>  "",      ## Error string (additional info.)
+            USER      =>  "xxx"    ## If Z39.50 authentication is used,
+                                   ## this member contains user name
+            PASS      =>  "yyy"    ## Under same conditions, this member
+                                   ## contains the password in clear text
             HANDLE    =>  undef    ## Handler of Perl data structure
          };
 
@@ -288,13 +309,14 @@ result sets or a handle to a back-end search engine of some sort),
 it is always best to store them in a private session structure -
 rather than leaving them in global variables in your script.
 
-The Implementation name and version are only really used by Z39.50
+The Implementation ID, name and version are only really used by Z39.50
 client developers to see what kind of server they're dealing with.
 Filling these in is optional.
 
 The ERR_CODE should be left at 0 (the default value) if you wish to
 accept the connection. Any other value is interpreted as a failure
-and the client will be shown the door.
+and the client will be shown the door, with the code and the
+associated additional information, ERR_STR returned.
 
 =head2 Search handler