hexchat/src/common/network.h
2012-10-25 01:33:23 +02:00

35 lines
944 B
C

#ifndef HEXCHAT_NETWORK_H
#define HEXCHAT_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