X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=zoom%2Fzoomtst4.c;fp=zoom%2Fzoomtst4.c;h=7e3339da5896986c646a3c1c95a8449162feb7b2;hp=0000000000000000000000000000000000000000;hb=69bcd68523a9a8da083faef16887100369152673;hpb=b638e7e4efc850ee6446b14fa45c66690377ccf2 diff --git a/zoom/zoomtst4.c b/zoom/zoomtst4.c new file mode 100644 index 0000000..7e3339d --- /dev/null +++ b/zoom/zoomtst4.c @@ -0,0 +1,86 @@ +/* + * $Id: zoomtst4.c,v 1.1 2001-10-23 21:00:20 adam Exp $ + * + * Asynchronous multi-target going through proxy doing search and retrieve + * using present. + */ + +#include +#include + +#include + +const char *my_callback (void *handle, const char *name) +{ + if (!strcmp (name, "async")) + return "1"; + return 0; +} + +int main(int argc, char **argv) +{ + int i; + int no = argc-3; + Z3950_connection z[500]; /* allow at most 500 connections */ + Z3950_resultset r[500]; /* and result sets .. */ + Z3950_search s; + Z3950_options o = Z3950_options_create (); + + if (argc < 4) + { + fprintf (stderr, "usage:\n%s proxy target1 .. targetN query\n", + *argv); + exit (2); + } + if (no > 500) + no = 500; + + /* function my_callback called when reading options .. */ + Z3950_options_set_callback (o, my_callback, 0); + + /* get 20 (at most) records from offset 5 */ + Z3950_options_set (o, "start", "5"); + Z3950_options_set (o, "count", "20"); + + /* set proxy */ + Z3950_options_set (o, "proxy", argv[1]); + + /* create query */ + s = Z3950_search_create (); + if (Z3950_search_prefix (s, argv[argc-1])) + { + printf ("bad PQF: %s\n", argv[argc-1]); + exit (1); + } + /* connect - and search all */ + for (i = 0; i