OSDN Git Service

Add routines for SSL root CA certificates.
[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 #define USE_OPENSSL\r
9 \r
10 typedef BOOL (__stdcall* LPSSLTIMEOUTCALLBACK)(BOOL*);\r
11 typedef BOOL (__stdcall* LPSSLCONFIRMCALLBACK)(BOOL*, BOOL, LPCSTR, LPCSTR);\r
12 \r
13 BOOL LoadOpenSSL();\r
14 void FreeOpenSSL();\r
15 BOOL IsOpenSSLLoaded();\r
16 void SetSSLTimeoutCallback(DWORD Timeout, LPSSLTIMEOUTCALLBACK pCallback);\r
17 void SetSSLConfirmCallback(LPSSLCONFIRMCALLBACK pCallback);\r
18 BOOL SetSSLRootCertificate(void* pData, DWORD Length);\r
19 BOOL IsHostNameMatched(LPCSTR HostName, LPCSTR CommonName);\r
20 BOOL AttachSSL(SOCKET s, SOCKET parent, BOOL* pbAborted);\r
21 BOOL DetachSSL(SOCKET s);\r
22 BOOL IsSSLAttached(SOCKET s);\r
23 SOCKET socketS(int af, int type, int protocol);\r
24 int bindS(SOCKET s, const struct sockaddr *addr, int namelen);\r
25 int listenS(SOCKET s, int backlog);\r
26 SOCKET acceptS(SOCKET s, struct sockaddr *addr, int *addrlen);\r
27 int connectS(SOCKET s, const struct sockaddr *name, int namelen);\r
28 int closesocketS(SOCKET s);\r
29 int sendS(SOCKET s, const char * buf, int len, int flags);\r
30 int recvS(SOCKET s, char * buf, int len, int flags);\r
31 \r
32 #endif\r
33 \r