free NULL cleanup
[openssl.git] / doc / crypto / OPENSSL_VERSION_NUMBER.pod
1 =pod
2
3 =head1 NAME
4
5 OPENSSL_VERSION_NUMBER, SSLeay, SSLeay_version - get OpenSSL version number
6
7 =head1 SYNOPSIS
8
9  #include <openssl/opensslv.h>
10  #define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL
11
12  #include <openssl/crypto.h>
13  long SSLeay(void);
14  const char *SSLeay_version(int t);
15
16 =head1 DESCRIPTION
17
18 OPENSSL_VERSION_NUMBER is a numeric release version identifier:
19
20  MNNFFPPS: major minor fix patch status
21
22 The status nibble has one of the values 0 for development, 1 to e for betas
23 1 to 14, and f for release.
24
25 for example
26
27  0x000906000 == 0.9.6 dev
28  0x000906023 == 0.9.6b beta 3
29  0x00090605f == 0.9.6e release
30
31 Versions prior to 0.9.3 have identifiers E<lt> 0x0930.
32 Versions between 0.9.3 and 0.9.5 had a version identifier with this
33 interpretation:
34
35  MMNNFFRBB major minor fix final beta/patch
36
37 for example
38
39  0x000904100 == 0.9.4 release
40  0x000905000 == 0.9.5 dev
41
42 Version 0.9.5a had an interim interpretation that is like the current one,
43 except the patch level got the highest bit set, to keep continuity.  The
44 number was therefore 0x0090581f.
45
46
47 For backward compatibility, SSLEAY_VERSION_NUMBER is also defined.
48
49 SSLeay() returns this number. The return value can be compared to the
50 macro to make sure that the correct version of the library has been
51 loaded, especially when using DLLs on Windows systems.
52
53 SSLeay_version() returns different strings depending on B<t>:
54
55 =over 4
56
57 =item SSLEAY_VERSION
58
59 The text variant of the version number and the release date.  For example,
60 "OpenSSL 0.9.5a 1 Apr 2000".
61
62 =item SSLEAY_CFLAGS
63
64 The compiler flags set for the compilation process in the form
65 "compiler: ..."  if available or "compiler: information not available"
66 otherwise.
67
68 =item SSLEAY_BUILT_ON
69
70 The date of the build process in the form "built on: ..." if available
71 or "built on: date not available" otherwise.
72
73 =item SSLEAY_PLATFORM
74
75 The "Configure" target of the library build in the form "platform: ..."
76 if available or "platform: information not available" otherwise.
77
78 =item SSLEAY_DIR
79
80 The "OPENSSLDIR" setting of the library build in the form "OPENSSLDIR: "...""
81 if available or "OPENSSLDIR: N/A" otherwise.
82
83 =back
84
85 For an unknown B<t>, the text "not available" is returned.
86
87 =head1 RETURN VALUE
88
89 The version number.
90
91 =head1 SEE ALSO
92
93 L<crypto(3)|crypto(3)>
94
95 =head1 HISTORY
96
97 SSLeay() and SSLEAY_VERSION_NUMBER are available in all versions of SSLeay and OpenSSL.
98 OPENSSL_VERSION_NUMBER is available in all versions of OpenSSL.
99 B<SSLEAY_DIR> was added in OpenSSL 0.9.7.
100
101 =cut