00001 00025 #ifndef _PURPLE_NETWORK_H_ 00026 #define _PURPLE_NETWORK_H_ 00027 00028 #ifdef __cplusplus 00029 extern "C" { 00030 #endif 00031 00032 /**************************************************************************/ 00034 /**************************************************************************/ 00037 typedef struct _PurpleNetworkListenData PurpleNetworkListenData; 00038 00039 typedef void (*PurpleNetworkListenCallback) (int listenfd, gpointer data); 00040 00053 const unsigned char *purple_network_ip_atoi(const char *ip); 00054 00063 void purple_network_set_public_ip(const char *ip); 00064 00073 const char *purple_network_get_public_ip(void); 00074 00087 const char *purple_network_get_local_system_ip(int fd); 00088 00106 const char *purple_network_get_my_ip(int fd); 00107 00133 PurpleNetworkListenData *purple_network_listen(unsigned short port, 00134 int socket_type, PurpleNetworkListenCallback cb, gpointer cb_data); 00135 00166 PurpleNetworkListenData *purple_network_listen_range(unsigned short start, 00167 unsigned short end, int socket_type, 00168 PurpleNetworkListenCallback cb, gpointer cb_data); 00169 00178 void purple_network_listen_cancel(PurpleNetworkListenData *listen_data); 00179 00188 unsigned short purple_network_get_port_from_fd(int fd); 00189 00197 gboolean purple_network_is_available(void); 00198 00204 void *purple_network_get_handle(void); 00205 00209 void purple_network_init(void); 00210 00214 void purple_network_uninit(void); 00215 00218 #ifdef __cplusplus 00219 } 00220 #endif 00221 00222 #endif /* _PURPLE_NETWORK_H_ */