OpenSSL

加密和 SSL/TLS 工具包

openssl_user_macros

名称

openssl_user_macros, OPENSSL_API_COMPAT, OPENSSL_NO_DEPRECATED - 用户定义宏

描述

用户定义宏允许程序员控制 OpenSSL 头文件公开的某些方面。

注意:为了有效,用户定义的宏必须在包含任何依赖它的头文件之前定义,可以在编译命令中 (cc -DMACRO=value) 或在包含任何头文件之前在源代码中定义宏。

当声明依赖于用户定义的宏时,其他手册页可能会参考此页面。

OPENSSL_API_COMPAT

该值是一个版本号,采用以下两种形式之一

0xMNNFF000L

这是所有版本(直到 1.1.x)都支持的形式,其中M表示主版本号,NN表示次版本号,FF表示修订版本号(十六进制)。对于版本 1.1.0,即0x10100000L

可以给出任何版本号,但这些数字是当前已知的主要弃用点,使它们最有意义

0x00908000L (版本 0.9.8)
0x10000000L (版本 1.0.0)
0x10100000L (版本 1.1.0)

为方便起见,只要可行,也接受较高的数字。例如,0x60000000L 将按预期工作。但是,建议改为开始使用第二种形式

mmnnpp

此形式是一个简单的十进制数,使用以下公式计算

主版本号 * 10000 + 次版本号 * 100 + 修订版本号

其中主版本号次版本号修订版本号是版本号所需的主、次和修订组件。例如

30000 对应于版本 3.0.0
10002 对应于版本 1.0.2
420101 对应于版本 42.1.1

如果OPENSSL_API_COMPAT未定义,则使用此默认值代替:30300

OPENSSL_NO_DEPRECATED

如果定义了此宏,则所有 OpenSSL 版本(直到且包括由OPENSSL_API_COMPAT给出的版本(或上面给出的默认值,当OPENSSL_API_COMPAT未定义时))中所有已弃用的公共符号都将被隐藏。

版权所有 2018-2021 OpenSSL 项目作者。保留所有权利。

根据 Apache 许可证 2.0(“许可证”)许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。