Old Z39.50 codecs gone. Added ZOOM. WRBUF MARC display util.
[yaz-moved-to-github.git] / zoom / zoomtst2.c
1 /*
2  * $Id: zoomtst2.c,v 1.1 2001-10-23 21:00:20 adam Exp $
3  *
4  * Asynchronous single-target client performing search (no retrieval)
5  */
6
7 #include <stdio.h>
8 #include <stdlib.h>
9
10 #include <yaz/zoom.h>
11
12 int main(int argc, char **argv)
13 {
14     Z3950_connection z;
15     Z3950_resultset r;
16     int error;
17     const char *errmsg, *addinfo;
18
19     if (argc < 3)
20     {
21         fprintf (stderr, "usage:\n%s target query\n", *argv);
22         fprintf (stderr,
23                  "Verify: aasynchronous single-target client\n");
24         exit (1);
25     }
26
27     /* create connection (don't connect yet) */
28     z = Z3950_connection_create(0);
29
30     /* option: set async operation */
31     Z3950_connection_option (z, "async", "1");
32
33     /* connect to target and initialize */
34     Z3950_connection_connect (z, argv[1], 0);
35
36     /* search using prefix query format */
37     r = Z3950_connection_search_pqf (z, argv[2]);
38
39     /* block here: only one connection */
40     while (Z3950_event (1, &z))
41         ;
42
43     /* see if any error occurred */
44     if ((error = Z3950_connection_error(z, &errmsg, &addinfo)))
45     {
46         fprintf (stderr, "Error: %s (%d) %s\n", errmsg, error, addinfo);
47         exit (2);
48     }
49     else /* OK print hit count */
50         printf ("Result count: %d\n", Z3950_resultset_size(r)); 
51     Z3950_resultset_destroy (r);
52     Z3950_connection_destroy (z);
53     exit (0);
54 }