Zydis  v2.0
Macros | Typedefs | Enumerations | Functions
Zydis.h File Reference

Master include file, including everything else. More...

#include <Zycore/Defines.h>
#include <Zycore/Types.h>
#include <Zydis/Decoder.h>
#include <Zydis/DecoderTypes.h>
#include <Zydis/Formatter.h>
#include <Zydis/MetaInfo.h>
#include <Zydis/Mnemonic.h>
#include <Zydis/Register.h>
#include <Zydis/SharedTypes.h>
#include <Zydis/Status.h>
#include <Zydis/String.h>
#include <Zydis/Utils.h>

Go to the source code of this file.

Macros

#define ZYDIS_VERSION   (ZyanU64)0x0002000000010000
 A macro that defines the zydis version.
 
#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.
 

Enumerations

enum  ZydisFeature_ { ZYDIS_FEATURE_EVEX, ZYDIS_FEATURE_MVEX, ZYDIS_FEATURE_MAX_VALUE = ZYDIS_FEATURE_MVEX, 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

Master include file, including everything else.

Macro Definition Documentation

◆ 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

Enumeration Type Documentation

◆ ZydisFeature_

Defines the ZydisFeature enum.

Enumerator
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.