Ssl_local.h OpenSSL头文件包含以下内容
# define SSL_CONNECTION_FROM_SSL(ssl) \
SSL_CONNECTION_FROM_SSL_int(ssl, SSL_CONNECTION_NO_CONST)
# define SSL_CONNECTION_NO_CONST
# define SSL_CONNECTION_FROM_SSL_ONLY_int(ssl, c) \
((ssl) == NULL ? NULL \
: ((ssl)->type == SSL_TYPE_SSL_CONNECTION \
? (c SSL_CONNECTION *)(ssl) \
: NULL))
此宏由以下人员调用:
int SSL_connect(SSL *s)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
我不明白下面的宏是做什么的,因为它没有实际定义.
# define SSL_CONNECTION_NO_CONST
然而,它被用在下面提到的宏中.
SSL_CONNECTION_FROM_SSL_ONLY_int(ssl, c)