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) \
+ LZMA_VERSION_STABILITY)

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_MAJOR, LZMA_VERSION_MINOR, \
LZMA_VERSION_PATCH, LZMA_VERSION_STABILITY_STRING, \
LZMA_VERSION_COMMIT)

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