1 YAZ++ - A C++ library for YAZ
3 $Id: README.txt,v 1.10 2001-11-06 17:08:05 adam Exp $
7 YAZ++ is a C++ layer for YAZ and implements the ANSI Z39.50
8 protocol for information retrieval (client - and server side).
9 YAZ homepage is: http://www.indexdata.dk/yaz/
11 YAZ++ uses the same license as YAZ - see LICENSE file for details.
15 YAZ++ builds a programmers' library libyaz++.lib and a few
17 yaz-my-client basic client
18 yaz-my-server basic server
19 yaz-proxy not-so-basic proxy server
21 Directory structure of the YAZ++ package:
24 -- include/yaz++ (C++ headers)
25 -- win (Windows build files)
29 Make sure you have a C - and C++ compiler available. gcc and g++ works fine.
31 Before compilation can take place YAZ must be installed. It goes, roughly,
45 o Installation, Windows
47 YAZ++ for WIN32 should run on Windows 95/98/2K and Windows NT 4.0.
48 Yaz++ was built using Microsoft Visual C++ 6.0. Other compilers
49 should work but makefile/project files will have to be created for
52 Workspace yazxx.dsw includes the projects
53 yazxx.dsp - builds yazxx.dll
54 yazclient.dsp - builds yazmyclient.exe
55 yazserver.dsp - builds yazmyserver.exe
56 yazproxy.dsp - builds yazproxy.exe
60 For the proxy the actual target is determined in by the OtherInfo
61 part of the InitRequest. We've defined an OID for this which we call
62 PROXY. OID is 1.2.840.10003.10.1000.81.1.
64 OtherInformation ::= [201] IMPLICIT SEQUENCE OF SEQUENCE{
65 category [1] IMPLICIT InfoCategory OPTIONAL,
67 characterInfo [2] IMPLICIT InternationalString,
68 binaryInfo [3] IMPLICIT OCTET STRING,
69 externallyDefinedInfo [4] IMPLICIT EXTERNAL,
70 oid [5] IMPLICIT OBJECT IDENTIFIER}}
72 InfoCategory ::= SEQUENCE{
73 categoryTypeId [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
74 categoryValue [2] IMPLICIT INTEGER}
76 The InfoCategory is present with categoryTypeId set to the PROXY OID
77 and categoryValue set to 0. The information in OtherInformation uses
78 characterInfo to represent the target using the form target[:port][/db].
80 For the client that doesn't set the PROXY OtherInformation, a default
81 target can be specified using option -t for proxy.
84 We start the proxy so that it listens on port 9000. The default
85 target is Bell Labs Library unless it is specified by a client in
88 $ ./yaz-proxy -t z3950.bell-labs.com/books @:9000
90 The client is started and talks to the proxy without specifying
91 a target. Hence this client will talk to the Bell Labs server.
92 $ ./yaz-client localhost:9000
94 The client is started and it specifies the actual target itself.
95 $ ./yaz-client -p localhost:9000 bagel.indexdata.dk/gils
97 For ZAP the equivalent would be
99 target=bagel.indexdata.dk/gils