Added blocking synopsis for COMSTACK
authorSebastian Hammer <quinn@indexdata.com>
Mon, 11 Dec 2000 21:43:38 +0000 (21:43 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Mon, 11 Dec 2000 21:43:38 +0000 (21:43 +0000)
doc/yaz.sgml

index 6f764c9..f462972 100644 (file)
@@ -2,7 +2,7 @@
 <article>
 <title>YAZ User's Guide and Reference
 <author><htmlurl url="http://www.indexdata.dk/" name="Index Data">, <tt><htmlurl url="mailto:info@indexdata.dk" name="info@indexdata.dk"></>
-<date>$Revision: 1.8 $
+<date>$Revision: 1.9 $
 <abstract>
 This document is the programmer's guide and reference to the YAZ
 package. YAZ is a compact toolkit that provides access to the
@@ -2562,8 +2562,51 @@ what goes wrong.
 <p>
 
 <tscreen><verb>
-int connect_and_init() {
+
+COMSTACK *stack;
+char *buf = 0;
+int size = 0, length_incoming;
+char *protocol_package; 
+int protocol_package_length;
+char server_address[] = "myserver.com:2100";
+int status;
+
+stack = cs_create(tcpip_type, 1, PROTO_Z3950);
+if (!stack) {
+    perror("cs_create");  /* note use of perror() here since we have no stack yet */
+    exit(1);
+}
+
+status = cs_connect(stack, server_address);
+if (status != 0) {
+    cs_perror(stack, "cs_connect");
+    exit(1);
+}
+
+status = cs_put(stack, protocol_package, protocol_package_length);
+if (status) {
+    cs_perror(stack, "cs_put");
+    exit(1);
 }
+
+/* Now get a response */
+
+length_incoming = cs_get(stack, &buf, &size);
+if (!length_incoming) {
+    fprintf(stderr, "Connection closed\n");
+    exit(1);
+} else if (length_incoming < 0) {
+    cs_perror(stack, "cs_get");
+    exit(1);
+}
+
+/* Do stuff with buf here */
+
+/* clean up */
+cs_close(stack);
+if (buf)
+    free(buf);
+
 </verb></tscreen>
 
 <sect1>Introduction