* Sebastian Hammer, Adam Dickmeiss
*
* $Log: seshigh.c,v $
- * Revision 1.97 1999-11-29 14:36:28 adam
- * Implementation_name and implementation_version copied verbatim.
+ * Revision 1.100 1999-12-16 23:36:19 adam
+ * Implemented ILL protocol. Minor updates ASN.1 compiler.
+ *
+ * Revision 1.99 1999/11/30 13:47:12 adam
+ * Improved installation. Moved header files to include/yaz.
+ *
+ * Revision 1.98 1999/11/29 15:12:27 adam
+ * Changed the way implementationName - and version is set.
*
* Revision 1.96 1999/11/04 14:58:44 adam
* Added status elements for backend delete result set handler.
*
*/
-#include <yconfig.h>
#include <stdlib.h>
#include <stdio.h>
#ifdef WIN32
#endif
#include <assert.h>
-#include <xmalloc.h>
-#include <comstack.h>
+#include <yaz/yconfig.h>
+#include <yaz/xmalloc.h>
+#include <yaz/comstack.h>
#include "eventl.h"
#include "session.h"
-#include <proto.h>
-#include <oid.h>
-#include <log.h>
-#include <logrpn.h>
-#include <statserv.h>
+#include <yaz/proto.h>
+#include <yaz/oid.h>
+#include <yaz/log.h>
+#include <yaz/logrpn.h>
+#include <yaz/statserv.h>
-#include <backend.h>
+#include <yaz/backend.h>
static int process_request(association *assoc, request *req, char **msg);
void backend_response(IOCHAN i, int event);
resp->preferredMessageSize = &assoc->preferredMessageSize;
resp->maximumRecordSize = &assoc->maximumRecordSize;
- resp->implementationName = "Index Data/YAZ Generic Frontend Server";
+ resp->implementationName = "GFS";
if (binitreq.implementation_name)
- resp->implementationName = binitreq.implementation_name;
+ {
+ char *nv = (char *)
+ odr_malloc (assoc->encode,
+ strlen(binitreq.implementation_name) + 10 +
+ strlen(resp->implementationName));
+ sprintf (nv, "%s / %s",
+ resp->implementationName, binitreq.implementation_name);
+ resp->implementationName = nv;
+ }
if (binitreq.implementation_version)
- resp->implementationVersion = binitreq.implementation_version;
+ {
+ char *nv = (char *)
+ odr_malloc (assoc->encode,
+ strlen(binitreq.implementation_version) + 10 +
+ strlen(resp->implementationVersion));
+ sprintf (nv, "YAZ %s / %s",
+ resp->implementationVersion, binitreq.implementation_version);
+ resp->implementationVersion = nv;
+ }
if (binitres->errcode)
{
esrequest.esr = reqb->request->u.extendedServicesRequest;
esrequest.stream = assoc->encode;
+ esrequest.decode = assoc->decode;
esrequest.errcode = 0;
esrequest.errstring = NULL;
esrequest.request = reqb;