liblzma (XZ Utils) 5.4.7
Macros | Functions
version.h File Reference

Version number. More...

Macros

#define LZMA_VERSION_MAJOR   5
 Major version number of the liblzma release.
 
#define LZMA_VERSION_MINOR   4
 Minor version number of the liblzma release.
 
#define LZMA_VERSION_PATCH   7
 Patch version number of the liblzma release.
 
#define LZMA_VERSION_STABILITY   LZMA_VERSION_STABILITY_STABLE
 Version stability marker.
 
#define LZMA_VERSION_COMMIT   ""
 Commit version number of the liblzma release.
 
#define LZMA_VERSION_STABILITY_ALPHA   0
 
#define LZMA_VERSION_STABILITY_BETA   1
 
#define LZMA_VERSION_STABILITY_STABLE   2
 
#define LZMA_VERSION
 Compile-time version number.
 
#define LZMA_VERSION_STABILITY_STRING   "alpha"
 
#define LZMA_VERSION_STRING_C_(major, minor, patch, stability, commit)    #major "." #minor "." #patch stability commit
 
#define LZMA_VERSION_STRING_C(major, minor, patch, stability, commit)    LZMA_VERSION_STRING_C_(major, minor, patch, stability, commit)
 
#define LZMA_VERSION_STRING
 Compile-time version as a string.
 

Functions

uint32_t lzma_version_number (void) lzma_nothrow lzma_attr_const
 Run-time version number as an integer.
 
const char * lzma_version_string (void) lzma_nothrow lzma_attr_const
 Run-time version as a string.
 

Detailed Description

Version number.

Note
Never include this file directly. Use <lzma.h> instead.

Macro Definition Documentation

◆ LZMA_VERSION_STABILITY

#define LZMA_VERSION_STABILITY   LZMA_VERSION_STABILITY_STABLE

Version stability marker.

This will always be one of three values:

  • LZMA_VERSION_STABILITY_ALPHA
  • LZMA_VERSION_STABILITY_BETA
  • LZMA_VERSION_STABILITY_STABLE

◆ LZMA_VERSION

#define LZMA_VERSION
Value:
(LZMA_VERSION_MAJOR * UINT32_C(10000000) \
+ LZMA_VERSION_MINOR * UINT32_C(10000) \
+ LZMA_VERSION_PATCH * UINT32_C(10) \

Compile-time version number.

The version number is of format xyyyzzzs where

  • x = major
  • yyy = minor
  • zzz = revision
  • s indicates stability: 0 = alpha, 1 = beta, 2 = stable

The same xyyyzzz triplet is never reused with different stability levels. For example, if 5.1.0alpha has been released, there will never be 5.1.0beta or 5.1.0 stable.

Note
The version number of liblzma has nothing to with the version number of Igor Pavlov's LZMA SDK.

◆ LZMA_VERSION_STRING

#define LZMA_VERSION_STRING
Value:
LZMA_VERSION_STRING_C( \
LZMA_VERSION_PATCH, LZMA_VERSION_STABILITY_STRING, \

Compile-time version as a string.

This can be for example "4.999.5alpha", "4.999.8beta", or "5.0.0" (stable versions don't have any "stable" suffix). In future, a snapshot built from source code repository may include an additional suffix, for example "4.999.8beta-21-g1d92". The commit ID won't be available in numeric form in LZMA_VERSION macro.

Function Documentation

◆ lzma_version_number()

uint32_t lzma_version_number ( void  ) const
extern

Run-time version number as an integer.

This allows an application to compare if it was built against the same, older, or newer version of liblzma that is currently running.

Returns
The value of LZMA_VERSION macro at the compile time of liblzma

◆ lzma_version_string()

const char * lzma_version_string ( void  ) const
extern

Run-time version as a string.

This function may be useful to display which version of liblzma an application is currently using.

Returns
Run-time version of liblzma