summary refs log tree commit diff stats
path: root/src/common/network.h
diff options
context:
space:
mode:
authorberkeviktor@aol.com <berkeviktor@aol.com>2011-02-24 04:14:30 +0100
committerberkeviktor@aol.com <berkeviktor@aol.com>2011-02-24 04:14:30 +0100
commit4a6ceffb98a0b785494f680d3776c4bfc4052f9e (patch)
tree850703c1c841ccd99f58d0b06084615aaebe782c /src/common/network.h
parentf16af8be941b596dedac3bf4e371ee2d21f4b598 (diff)
add xchat r1489
Diffstat (limited to 'src/common/network.h')
-rw-r--r--src/common/network.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/common/network.h b/src/common/network.h
new file mode 100644
index 00000000..f45f210a
--- /dev/null
+++ b/src/common/network.h
@@ -0,0 +1,34 @@
+#ifndef XCHAT_NETWORK_H
+#define XCHAT_NETWORK_H
+
+typedef struct netstore_
+{
+#ifdef NETWORK_PRIVATE
+#ifdef USE_IPV6
+	struct addrinfo *ip6_hostent;
+#else
+	struct hostent *ip4_hostent;
+	struct sockaddr_in addr;
+#endif
+#else
+	int _dummy;	/* some compilers don't like empty structs */
+#endif
+} netstore;
+
+#define MAX_HOSTNAME 128
+
+netstore *net_store_new (void);
+void net_store_destroy (netstore *ns);
+int net_connect (netstore *ns, int sok4, int sok6, int *sok_return);
+char *net_resolve (netstore *ns, char *hostname, int port, char **real_host);
+void net_bind (netstore *tobindto, int sok4, int sok6);
+char *net_ip (guint32 addr);
+void net_sockets (int *sok4, int *sok6);
+/* functions for MSPROXY only! */
+void udp_sockets (int *sok4, int *sok6);
+void net_store_fill_any (netstore *ns);
+void net_store_fill_v4 (netstore *ns, guint32 addr, int port);
+guint32 net_getsockaddr_v4 (netstore *ns);
+int net_getsockport(int sok4, int sok6);
+
+#endif