X-Git-Url: http://git.sourceforge.jp/view?p=ffftp%2Fffftp.git;a=blobdiff_plain;f=socketwrapper.h;h=2b3ba63fab4a67c06d137557d59a8acafb2eac28;hp=7556d107c443f87ddbef222679f367a00af0a51d;hb=554ddaeeff25cb5ca2494470a41834cfeadec8df;hpb=193bc37b9f55b9a1dd24a72e06203cb1503eab15 diff --git a/socketwrapper.h b/socketwrapper.h index 7556d10..2b3ba63 100644 --- a/socketwrapper.h +++ b/socketwrapper.h @@ -5,28 +5,58 @@ #ifndef __SOCKETWRAPPER_H__ #define __SOCKETWRAPPER_H__ +#include +#include + #define USE_OPENSSL -typedef BOOL (__stdcall* LPSSLTIMEOUTCALLBACK)(); -typedef BOOL (__stdcall* LPSSLCONFIRMCALLBACK)(BOOL, LPCSTR, LPCSTR); +typedef BOOL (__stdcall* LPSSLTIMEOUTCALLBACK)(BOOL*); +typedef BOOL (__stdcall* LPSSLCONFIRMCALLBACK)(BOOL*, BOOL, LPCSTR, LPCSTR); BOOL LoadOpenSSL(); void FreeOpenSSL(); BOOL IsOpenSSLLoaded(); void SetSSLTimeoutCallback(DWORD Timeout, LPSSLTIMEOUTCALLBACK pCallback); void SetSSLConfirmCallback(LPSSLCONFIRMCALLBACK pCallback); +BOOL SetSSLRootCertificate(const void* pData, DWORD Length); BOOL IsHostNameMatched(LPCSTR HostName, LPCSTR CommonName); -BOOL AttachSSL(SOCKET s); +BOOL AttachSSL(SOCKET s, SOCKET parent, BOOL* pbAborted); BOOL DetachSSL(SOCKET s); BOOL IsSSLAttached(SOCKET s); -SOCKET socketS(int af, int type, int protocol); -int bindS(SOCKET s, const struct sockaddr *addr, int namelen); -int listenS(SOCKET s, int backlog); -SOCKET acceptS(SOCKET s, struct sockaddr *addr, int *addrlen); -int connectS(SOCKET s, const struct sockaddr *name, int namelen); -int closesocketS(SOCKET s); -int sendS(SOCKET s, const char * buf, int len, int flags); -int recvS(SOCKET s, char * buf, int len, int flags); +SOCKET FTPS_socket(int af, int type, int protocol); +int FTPS_bind(SOCKET s, const struct sockaddr *addr, int namelen); +int FTPS_listen(SOCKET s, int backlog); +SOCKET FTPS_accept(SOCKET s, struct sockaddr *addr, int *addrlen); +int FTPS_connect(SOCKET s, const struct sockaddr *name, int namelen); +int FTPS_closesocket(SOCKET s); +int FTPS_send(SOCKET s, const char * buf, int len, int flags); +int FTPS_recv(SOCKET s, char * buf, int len, int flags); + +HANDLE WSAAsyncGetHostByNameIPv6(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen, short Family); +int WSACancelAsyncRequestIPv6(HANDLE hAsyncTaskHandle); +char* AddressToStringIPv6(char* str, void* in6); +char* inet6_ntoa(struct in6_addr in6); +struct in6_addr inet6_addr(const char* cp); +HANDLE WSAAsyncGetHostByNameM(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen); +HANDLE WSAAsyncGetHostByNameIPv6M(HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen, short Family); + +extern const struct in6_addr IN6ADDR_NONE; + +BOOL LoadPuTTY(); +void FreePuTTY(); +BOOL IsPuTTYLoaded(); +BOOL IsSFTPAttached(SOCKET s); +SOCKET SFTP_socket(int af, int type, int protocol); +int SFTP_bind(SOCKET s, const struct sockaddr *addr, int namelen); +int SFTP_listen(SOCKET s, int backlog); +SOCKET SFTP_accept(SOCKET s, struct sockaddr *addr, int *addrlen); +int SFTP_connect(SOCKET s, const struct sockaddr *name, int namelen); +int SFTP_closesocket(SOCKET s); +int SFTP_send(SOCKET s, const char * buf, int len, int flags); +int SFTP_recv(SOCKET s, char * buf, int len, int flags); +BOOL SFTP_SetTimeoutCallback(SOCKET s, void* pCallback); +SOCKET SFTP_GetDataHandle(SOCKET s, int af, int type, int protocol); +BOOL SFTP_SetFilePosition(SOCKET s, LONGLONG Position); #endif