openssl-prebuild/linux_amd64/share/doc/openssl/html/man7/openssl_user_macros.html

127 lines
4.2 KiB
HTML
Executable File

<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>openssl_user_macros</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>
<body style="background-color: white">
<!-- INDEX BEGIN -->
<div name="index">
<p><a name="__index__"></a></p>
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<ul>
<li><a href="#the_macros">The macros</a></li>
</ul>
<li><a href="#copyright">COPYRIGHT</a></li>
</ul>
<hr name="index" />
</div>
<!-- INDEX END -->
<p>
</p>
<hr />
<h1><a name="name">NAME</a></h1>
<p>openssl_user_macros, OPENSSL_API_COMPAT - User defined macros</p>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>User defined macros allow the programmer to control certain aspects of
what is exposed by the OpenSSL headers.</p>
<p><strong>NOTE:</strong> to be effective, a user defined macro <em>must be defined
before including any header file that depends on it</em>, either in the
compilation command (<code>cc -DMACRO=value</code>) or by defining the macro in
source before including any headers.</p>
<p>Other manual pages may refer to this page when declarations depend on
user defined macros.</p>
<p>
</p>
<h2><a name="the_macros">The macros</a></h2>
<dl>
<dt><strong><a name="openssl_api_compat" class="item"><strong>OPENSSL_API_COMPAT</strong></a></strong></dt>
<dd>
<p>The value is a version number, given in one of the following two forms:</p>
<ol>
<li><strong><a name="xmnnff000l" class="item"><code>0xMNNFF000L</code></a></strong>
<p>This is the form supported for all versions up to 1.1.x, where <code>M</code>
represents the major number, <code>NN</code> represents the minor number, and
<code>FF</code> represents the fix number, as a hexadecimal number. For version
1.1.0, that's <code>0x10100000L</code>.</p>
<p>Any version number may be given, but these numbers are
the current known major deprecation points, making them the most
meaningful:</p>
<ol>
<li><strong><a name="x00908000l" class="item"><code>0x00908000L</code> (version 0.9.8)</a></strong>
</li>
<li><strong><a name="x10000000l" class="item"><code>0x10000000L</code> (version 1.0.0)</a></strong>
</li>
<li><strong><a name="x10100000l" class="item"><code>0x10100000L</code> (version 1.1.0)</a></strong>
</li>
</ol>
<p>For convenience, higher numbers are accepted as well, as long as
feasible. For example, <code>0x60000000L</code> will work as expected.
However, it is recommended to start using the second form instead:</p>
</dd>
<dt><strong><a name="mmnnpp" class="item"><code>mmnnpp</code></a></strong></dt>
<dd>
<p>This form is a simple decimal number calculated with this formula:</p>
<p><em>major</em> * 10000 + <em>minor</em> * 100 + <em>patch</em></p>
<p>where <em>major</em>, <em>minor</em> and <em>patch</em> are the desired major,
minor and patch components of the version number. For example:</p>
<ol>
<li><strong><a name="corresponds_to_version_3_0_0" class="item">corresponds to version 3.0.0</a></strong>
</li>
<li><strong><a name="corresponds_to_version_1_0_2" class="item">corresponds to version 1.0.2</a></strong>
</li>
<li><strong><a name="corresponds_to_version_42_1_1" class="item">corresponds to version 42.1.1</a></strong>
</li>
</ol>
</li>
</ol>
<p>If not set, this macro will default to
<code>30000</code>.</p>
</dd>
<dt><strong><a name="openssl_no_deprecated" class="item"><strong>OPENSSL_NO_DEPRECATED</strong></a></strong></dt>
<dd>
<p>If this macro is defined, all deprecated public symbols in all OpenSSL
versions up to and including the version given by <strong>OPENSSL_API_COMPAT</strong>
will be hidden.</p>
</dd>
</dl>
<p>
</p>
<hr />
<h1><a name="copyright">COPYRIGHT</a></h1>
<p>Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.</p>
<p>Licensed under the Apache License 2.0 (the &quot;License&quot;). You may not use
this file except in compliance with the License. You can obtain a copy
in the file LICENSE in the source distribution or at
<a href="https://www.openssl.org/source/license.html">https://www.openssl.org/source/license.html</a>.</p>
</body>
</html>