xref: /netbsd-src/external/mit/libuv/dist/docs/src/version.rst (revision 0e552da7216834a96e91ad098e59272b41087480)
1*0e552da7Schristos
2*0e552da7Schristos.. _version:
3*0e552da7Schristos
4*0e552da7SchristosVersion-checking macros and functions
5*0e552da7Schristos=====================================
6*0e552da7Schristos
7*0e552da7SchristosStarting with version 1.0.0 libuv follows the `semantic versioning`_
8*0e552da7Schristosscheme. This means that new APIs can be introduced throughout the lifetime of
9*0e552da7Schristosa major release. In this section you'll find all macros and functions that
10*0e552da7Schristoswill allow you to write or compile code conditionally, in order to work with
11*0e552da7Schristosmultiple libuv versions.
12*0e552da7Schristos
13*0e552da7Schristos.. _semantic versioning: https://semver.org
14*0e552da7Schristos
15*0e552da7Schristos
16*0e552da7SchristosMacros
17*0e552da7Schristos------
18*0e552da7Schristos
19*0e552da7Schristos.. c:macro:: UV_VERSION_MAJOR
20*0e552da7Schristos
21*0e552da7Schristos    libuv version's major number.
22*0e552da7Schristos
23*0e552da7Schristos.. c:macro:: UV_VERSION_MINOR
24*0e552da7Schristos
25*0e552da7Schristos    libuv version's minor number.
26*0e552da7Schristos
27*0e552da7Schristos.. c:macro:: UV_VERSION_PATCH
28*0e552da7Schristos
29*0e552da7Schristos    libuv version's patch number.
30*0e552da7Schristos
31*0e552da7Schristos.. c:macro:: UV_VERSION_IS_RELEASE
32*0e552da7Schristos
33*0e552da7Schristos    Set to 1 to indicate a release version of libuv, 0 for a development
34*0e552da7Schristos    snapshot.
35*0e552da7Schristos
36*0e552da7Schristos.. c:macro:: UV_VERSION_SUFFIX
37*0e552da7Schristos
38*0e552da7Schristos    libuv version suffix. Certain development releases such as Release Candidates
39*0e552da7Schristos    might have a suffix such as "rc".
40*0e552da7Schristos
41*0e552da7Schristos.. c:macro:: UV_VERSION_HEX
42*0e552da7Schristos
43*0e552da7Schristos    Returns the libuv version packed into a single integer. 8 bits are used for
44*0e552da7Schristos    each component, with the patch number stored in the 8 least significant
45*0e552da7Schristos    bits. E.g. for libuv 1.2.3 this would be 0x010203.
46*0e552da7Schristos
47*0e552da7Schristos    .. versionadded:: 1.7.0
48*0e552da7Schristos
49*0e552da7Schristos
50*0e552da7SchristosFunctions
51*0e552da7Schristos---------
52*0e552da7Schristos
53*0e552da7Schristos.. c:function:: unsigned int uv_version(void)
54*0e552da7Schristos
55*0e552da7Schristos    Returns :c:macro:`UV_VERSION_HEX`.
56*0e552da7Schristos
57*0e552da7Schristos.. c:function:: const char* uv_version_string(void)
58*0e552da7Schristos
59*0e552da7Schristos    Returns the libuv version number as a string. For non-release versions the
60*0e552da7Schristos    version suffix is included.
61