OSDN Git Service

Change to specify explicitly code pages.
[ffftp/ffftp.git] / socketwrapper.h
1 // socketwrapper.h\r
2 // Copyright (C) 2011 Suguru Kawamoto\r
3 // ソケットラッパー\r
4 \r
5 #ifndef __SOCKETWRAPPER_H__\r
6 #define __SOCKETWRAPPER_H__\r
7 \r
8 #include <ws2tcpip.h>\r
9 #include <windows.h>\r
10 \r
11 #define USE_OPENSSL\r
12 \r
13 typedef BOOL (__stdcall* LPSSLTIMEOUTCALLBACK)(BOOL*);\r
14 typedef BOOL (__stdcall* LPSSLCONFIRMCALLBACK)(BOOL*, BOOL, LPCSTR, LPCSTR);\r
15 \r
16 BOOL LoadOpenSSL();\r
17 void FreeOpenSSL();\r
18 BOOL IsOpenSSLLoaded();\r
19 void SetSSLTimeoutCallback(DWORD Timeout, LPSSLTIMEOUTCALLBACK pCallback);\r
20 void SetSSLConfirmCallback(LPSSLCONFIRMCALLBACK pCallback);\r
21 BOOL SetSSLRootCertificate(const void* pData, DWORD Length);\r
22 BOOL IsHostNameMatched(LPCSTR HostName, LPCSTR CommonName);\r
23 BOOL AttachSSL(SOCKET s, SOCKET parent, BOOL* pbAborted);\r
24 BOOL DetachSSL(SOCKET s);\r
25 BOOL IsSSLAttached(SOCKET s);\r
26 SOCKET FTPS_socket(int af, int type, int protocol);\r
27 int FTPS_bind(SOCKET s, const struct sockaddr *addr, int namelen);\r
28 int FTPS_listen(SOCKET s, int backlog);\r
29 SOCKET FTPS_accept(SOCKET s, struct sockaddr *addr, int *addrlen);\r
30 int FTPS_connect(SOCKET s, const struct sockaddr *name, int namelen);\r
31 int FTPS_closesocket(SOCKET s);\r
32 int FTPS_send(SOCKET s, const char * buf, int len, int flags);\r
33 int FTPS_recv(SOCKET s, char * buf, int len, int flags);\r
34 \r
35 HANDLE WSAAsyncGetHostByNameIPv6(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen, short Family);\r
36 int WSACancelAsyncRequestIPv6(HANDLE hAsyncTaskHandle);\r
37 char* AddressToStringIPv6(char* str, void* in6);\r
38 char* inet6_ntoa(struct in6_addr in6);\r
39 struct in6_addr inet6_addr(const char* cp);\r
40 HANDLE WSAAsyncGetHostByNameM(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen);\r
41 HANDLE WSAAsyncGetHostByNameIPv6M(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen, short Family);\r
42 \r
43 extern const struct in6_addr IN6ADDR_NONE;\r
44 \r
45 BOOL LoadPuTTY();\r
46 void FreePuTTY();\r
47 BOOL IsPuTTYLoaded();\r
48 BOOL IsSFTPAttached(SOCKET s);\r
49 SOCKET SFTP_socket(int af, int type, int protocol);\r
50 int SFTP_bind(SOCKET s, const struct sockaddr *addr, int namelen);\r
51 int SFTP_listen(SOCKET s, int backlog);\r
52 SOCKET SFTP_accept(SOCKET s, struct sockaddr *addr, int *addrlen);\r
53 int SFTP_connect(SOCKET s, const struct sockaddr *name, int namelen);\r
54 int SFTP_closesocket(SOCKET s);\r
55 int SFTP_send(SOCKET s, const char * buf, int len, int flags);\r
56 int SFTP_recv(SOCKET s, char * buf, int len, int flags);\r
57 BOOL SFTP_SetTimeoutCallback(SOCKET s, void* pCallback);\r
58 SOCKET SFTP_GetDataHandle(SOCKET s, int af, int type, int protocol);\r
59 BOOL SFTP_SetFilePosition(SOCKET s, LONGLONG Position);\r
60 \r
61 #endif\r
62 \r