Back to Node

Version-checking macros and functions

deps/uv/docs/src/version.rst

25.9.01.5 KB
Original Source

.. _version:

Version-checking macros and functions

Starting with version 1.0.0 libuv follows the semantic versioning_ scheme. This means that new APIs can be introduced throughout the lifetime of a major release. In this section you'll find all macros and functions that will allow you to write or compile code conditionally, in order to work with multiple libuv versions.

.. _semantic versioning: https://semver.org

Macros

.. c:macro:: UV_VERSION_MAJOR

libuv version's major number.

.. c:macro:: UV_VERSION_MINOR

libuv version's minor number.

.. c:macro:: UV_VERSION_PATCH

libuv version's patch number.

.. c:macro:: UV_VERSION_IS_RELEASE

Set to 1 to indicate a release version of libuv, 0 for a development
snapshot.

.. c:macro:: UV_VERSION_SUFFIX

libuv version suffix. Certain development releases such as Release Candidates
might have a suffix such as "rc".

.. c:macro:: UV_VERSION_HEX

Returns the libuv version packed into a single integer. 8 bits are used for
each component, with the patch number stored in the 8 least significant
bits. E.g. for libuv 1.2.3 this would be 0x010203.

.. versionadded:: 1.7.0

Functions

.. c:function:: unsigned int uv_version(void)

Returns :c:macro:`UV_VERSION_HEX`.

.. c:function:: const char* uv_version_string(void)

Returns the libuv version number as a string. For non-release versions the
version suffix is included.