00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef win_sockH
00038 #define win_sockH
00039
00040
00041 #ifdef _WIN32
00042 # include <winsock2.h>
00043 #endif
00044
00045 #include "sock_shared.h"
00046 #include "sock.h"
00047
00048 #ifdef IPv6
00049 # ifdef _WIN32
00050 # include <Ws2tcpip.h>
00051 # endif
00052 #endif
00053
00054 const char* sock_error(int code);
00055 int sock_startup();
00056 int sock_shutdown();
00057 s_socket sock_connect(char* localIP, char* remote, unsigned short remote_port, int& error_code, bool async);
00058 size_t sock_send(s_socket& socket, const char* data, size_t size, int& error_code);
00059 void sock_close(s_socket& socket);
00060 size_t sock_read(s_socket& socket, char* data, size_t size, int& error_code, bool& connection_closed);
00061 in_addr sock_resolve(const char* domain, char* ip_string);
00062 void sock_reverse(char* address, char* dns_name, int dns_max_size);
00063 size_t sock_get_receive_size(s_socket& socket);
00064
00065
00066 s_socket sock_bind(in_addr local, unsigned short local_port, int& error_code);
00067 s_socket sock_bind6(char* local, unsigned short port, int& error_code);
00068 s_socket sock_accept(s_socket& socket);
00069 s_socket sock_accept6(s_socket& socket);
00070 in_addr sock_get_remote_addr(s_socket& socket, int& error_code);
00071 in_addr6_ sock_get_remote_addr6(s_socket& socket);
00072
00073 in_addr6_ sock_resolve6(char* domain);
00074 void sock_reverse(in_addr6_ address, char* dns_name, int dns_max_size);
00075
00076 void sock_set_blocking(s_socket& socket, bool non_blocking);
00077
00078 #endif