From 48540940b6c28bb4378abfeb500ec45a625b37b6 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Tue, 15 May 2012 10:38:20 +0000 Subject: initial commit git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- include/m_ssl.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 include/m_ssl.h (limited to 'include/m_ssl.h') diff --git a/include/m_ssl.h b/include/m_ssl.h new file mode 100644 index 0000000000..cba88e13c8 --- /dev/null +++ b/include/m_ssl.h @@ -0,0 +1,64 @@ +/* + +Miranda IM: the free IM client for Microsoft* Windows* + +Copyright 2000-2008 Miranda ICQ/IM project, +all portions of this codebase are copyrighted to the people +listed in contributors.txt. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#ifndef M_SSL_H__ +#define M_SSL_H__ 1 + +#include + +DECLARE_HANDLE(HSSL); + +typedef struct +{ + int cbSize; + + HSSL ( *connect ) ( SOCKET s, const char* host, int verify ); + BOOL ( *pending ) ( HSSL ssl ); + int ( *read ) ( HSSL ssl, char *buf, int num, int peek ); + int ( *write ) ( HSSL ssl, const char *buf, int num ); + void ( *shutdown )( HSSL ssl ); + void ( *sfree ) ( HSSL ssl ); +} + SSL_API; + +/* every protocol should declare this variable to use the SSL API */ +extern SSL_API si; + +/* +a service to obtain the SSL API + +wParam = 0; +lParam = (LPARAM)(SSL_API*). + +returns TRUE if all is Ok, and FALSE otherwise +*/ + +#define MS_SYSTEM_GET_SI "Miranda/System/GetSslApi" + +__forceinline INT_PTR mir_getSI( SSL_API* dest ) +{ + dest->cbSize = sizeof(*dest); + return CallService(MS_SYSTEM_GET_SI, 0, (LPARAM)dest); +} + +#endif // M_SSL_H__ -- cgit v1.2.3