]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Add, from ex-client2.c.
authorSimon Josefsson <simon@josefsson.org>
Fri, 12 Aug 2005 10:13:40 +0000 (10:13 +0000)
committerSimon Josefsson <simon@josefsson.org>
Fri, 12 Aug 2005 10:13:40 +0000 (10:13 +0000)
doc/examples/tcp.c [new file with mode: 0644]

diff --git a/doc/examples/tcp.c b/doc/examples/tcp.c
new file mode 100644 (file)
index 0000000..e98581e
--- /dev/null
@@ -0,0 +1,49 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+
+#define SA struct sockaddr
+
+/* Connects to the peer and returns a socket
+ * descriptor.
+ */
+extern int
+tcp_connect (void)
+{
+  const char *PORT = "5556";
+  const char *SERVER = "127.0.0.1";
+  int err, sd;
+  struct sockaddr_in sa;
+
+  /* connects to server
+   */
+  sd = socket (AF_INET, SOCK_STREAM, 0);
+
+  memset (&sa, '\0', sizeof (sa));
+  sa.sin_family = AF_INET;
+  sa.sin_port = htons (atoi (PORT));
+  inet_pton (AF_INET, SERVER, &sa.sin_addr);
+
+  err = connect (sd, (SA *) & sa, sizeof (sa));
+  if (err < 0)
+    {
+      fprintf (stderr, "Connect error\n");
+      exit (1);
+    }
+
+  return sd;
+}
+
+/* closes the given socket descriptor.
+ */
+extern void
+tcp_close (int sd)
+{
+  shutdown (sd, SHUT_RDWR);    /* no more receptions */
+  close (sd);
+}