#ifndef __SOCKETWRAPPER_H__\r
#define __SOCKETWRAPPER_H__\r
\r
+#include <ws2tcpip.h>\r
+#include <windows.h>\r
+\r
#define USE_OPENSSL\r
\r
-typedef BOOL (__stdcall* LPSSLTIMEOUTCALLBACK)();\r
-typedef BOOL (__stdcall* LPSSLCONFIRMCALLBACK)(BOOL, LPCSTR, LPCSTR);\r
+typedef BOOL (__stdcall* LPSSLTIMEOUTCALLBACK)(BOOL*);\r
+typedef BOOL (__stdcall* LPSSLCONFIRMCALLBACK)(BOOL*, BOOL, LPCSTR, LPCSTR);\r
\r
BOOL LoadOpenSSL();\r
void FreeOpenSSL();\r
BOOL IsOpenSSLLoaded();\r
void SetSSLTimeoutCallback(DWORD Timeout, LPSSLTIMEOUTCALLBACK pCallback);\r
void SetSSLConfirmCallback(LPSSLCONFIRMCALLBACK pCallback);\r
+BOOL SetSSLRootCertificate(const void* pData, DWORD Length);\r
BOOL IsHostNameMatched(LPCSTR HostName, LPCSTR CommonName);\r
-BOOL AttachSSL(SOCKET s);\r
+BOOL AttachSSL(SOCKET s, SOCKET parent, BOOL* pbAborted);\r
BOOL DetachSSL(SOCKET s);\r
BOOL IsSSLAttached(SOCKET s);\r
SOCKET socketS(int af, int type, int protocol);\r
int sendS(SOCKET s, const char * buf, int len, int flags);\r
int recvS(SOCKET s, char * buf, int len, int flags);\r
\r
+HANDLE WSAAsyncGetHostByNameIPv6(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen, short Family);\r
+int WSACancelAsyncRequestIPv6(HANDLE hAsyncTaskHandle);\r
+char* AddressToStringIPv6(char* str, void* in6);\r
+char* inet6_ntoa(struct in6_addr in6);\r
+struct in6_addr inet6_addr(const char* cp);\r
+HANDLE WSAAsyncGetHostByNameM(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen);\r
+HANDLE WSAAsyncGetHostByNameIPv6M(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen, short Family);\r
+\r
#endif\r
\r