Zydis  master
Version

Functions for checking the library version and build options. More...

Macros

#define ZYDIS_VERSION   (ZyanU64)0x0004000000000000
 A macro that defines the zydis version. More...
 
#define ZYDIS_VERSION_MAJOR(version)   (ZyanU16)(((version) & 0xFFFF000000000000) >> 48)
 Extracts the major-part of the zydis version. More...
 
#define ZYDIS_VERSION_MINOR(version)   (ZyanU16)(((version) & 0x0000FFFF00000000) >> 32)
 Extracts the minor-part of the zydis version. More...
 
#define ZYDIS_VERSION_PATCH(version)   (ZyanU16)(((version) & 0x00000000FFFF0000) >> 16)
 Extracts the patch-part of the zydis version. More...
 
#define ZYDIS_VERSION_BUILD(version)   (ZyanU16)((version) & 0x000000000000FFFF)
 Extracts the build-part of the zydis version. More...
 

Typedefs

typedef enum ZydisFeature_ ZydisFeature
 Defines the ZydisFeature enum. More...
 

Enumerations

enum  ZydisFeature_ {
  ZYDIS_FEATURE_DECODER , ZYDIS_FEATURE_ENCODER , ZYDIS_FEATURE_FORMATTER , ZYDIS_FEATURE_AVX512 ,
  ZYDIS_FEATURE_KNC , ZYDIS_FEATURE_SEGMENT , ZYDIS_FEATURE_MAX_VALUE = ZYDIS_FEATURE_SEGMENT , ZYDIS_FEATURE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FEATURE_MAX_VALUE)
}
 Defines the ZydisFeature enum. More...
 

Functions

ZYDIS_EXPORT ZyanU64 ZydisGetVersion (void)
 Returns the zydis version. More...
 
ZYDIS_EXPORT ZyanStatus ZydisIsFeatureEnabled (ZydisFeature feature)
 Checks, if the specified feature is enabled in the current zydis library instance. More...
 

Detailed Description

Functions for checking the library version and build options.

Macro Definition Documentation

◆ ZYDIS_VERSION

#define ZYDIS_VERSION   (ZyanU64)0x0004000000000000

A macro that defines the zydis version.

◆ ZYDIS_VERSION_BUILD

#define ZYDIS_VERSION_BUILD (   version)    (ZyanU16)((version) & 0x000000000000FFFF)

Extracts the build-part of the zydis version.

Parameters
versionThe zydis version value

◆ ZYDIS_VERSION_MAJOR

#define ZYDIS_VERSION_MAJOR (   version)    (ZyanU16)(((version) & 0xFFFF000000000000) >> 48)

Extracts the major-part of the zydis version.

Parameters
versionThe zydis version value

◆ ZYDIS_VERSION_MINOR

#define ZYDIS_VERSION_MINOR (   version)    (ZyanU16)(((version) & 0x0000FFFF00000000) >> 32)

Extracts the minor-part of the zydis version.

Parameters
versionThe zydis version value

◆ ZYDIS_VERSION_PATCH

#define ZYDIS_VERSION_PATCH (   version)    (ZyanU16)(((version) & 0x00000000FFFF0000) >> 16)

Extracts the patch-part of the zydis version.

Parameters
versionThe zydis version value

Typedef Documentation

◆ ZydisFeature

Defines the ZydisFeature enum.

Enumeration Type Documentation

◆ ZydisFeature_

Defines the ZydisFeature enum.

Enumerator
ZYDIS_FEATURE_DECODER 
ZYDIS_FEATURE_ENCODER 
ZYDIS_FEATURE_FORMATTER 
ZYDIS_FEATURE_AVX512 
ZYDIS_FEATURE_KNC 
ZYDIS_FEATURE_SEGMENT 
ZYDIS_FEATURE_MAX_VALUE 

Maximum value of this enum.

ZYDIS_FEATURE_REQUIRED_BITS 

The minimum number of bits required to represent all values of this enum.

Function Documentation

◆ ZydisGetVersion()

ZYDIS_EXPORT ZyanU64 ZydisGetVersion ( void  )

Returns the zydis version.

Returns
The zydis version.

Use the macros provided in this file to extract the major, minor, patch and build part from the returned version value.

◆ ZydisIsFeatureEnabled()

ZYDIS_EXPORT ZyanStatus ZydisIsFeatureEnabled ( ZydisFeature  feature)

Checks, if the specified feature is enabled in the current zydis library instance.

Parameters
featureThe feature.
Returns
ZYAN_STATUS_TRUE if the feature is enabled, ZYAN_STATUS_FALSE if not. Another zyan status code, if an error occured.