ruby/ext/openssl/ossl_ssl.h
nobu 0ae6db41ca ossl_ssl.h: accessor macros
* ext/openssl/ossl_ssl.c (GetSSLCTX): accessor macro.
* ext/openssl/ossl_ssl.h (GetSSL): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-12 21:57:33 +00:00

40 lines
892 B
C

/*
* $Id$
* 'OpenSSL for Ruby' project
* Copyright (C) 2001-2002 Michal Rokos <m.rokos@sh.cvut.cz>
* All rights reserved.
*/
/*
* This program is licenced under the same licence as Ruby.
* (See the file 'LICENCE'.)
*/
#if !defined(_OSSL_SSL_H_)
#define _OSSL_SSL_H_
#define GetSSL(obj, ssl) do { \
Data_Get_Struct((obj), SSL, (ssl)); \
} while (0)
#define GetSSLSession(obj, sess) do { \
Data_Get_Struct((obj), SSL_SESSION, (sess)); \
if (!(sess)) { \
ossl_raise(rb_eRuntimeError, "SSL Session wasn't initialized."); \
} \
} while (0)
#define SafeGetSSLSession(obj, sess) do { \
OSSL_Check_Kind((obj), cSSLSession); \
GetSSLSession((obj), (sess)); \
} while (0)
extern VALUE mSSL;
extern VALUE eSSLError;
extern VALUE cSSLSocket;
extern VALUE cSSLContext;
extern VALUE cSSLSession;
void Init_ossl_ssl(void);
void Init_ossl_ssl_session(void);
#endif /* _OSSL_SSL_H_ */