62#define SBG_VERSION_SOFT_SCHEME (0x00000001u << 31)
64#define SBG_VERSION_SOFT_SCHEME_QUALIFIER_MASK (0x07)
65#define SBG_VERSION_SOFT_SCHEME_QUALIFIER_SHIFT (28)
67#define SBG_VERSION_SOFT_SCHEME_MAJOR_MASK (0x3F)
68#define SBG_VERSION_SOFT_SCHEME_MAJOR_SHIFT (22)
70#define SBG_VERSION_SOFT_SCHEME_MINOR_MASK (0x3F)
71#define SBG_VERSION_SOFT_SCHEME_MINOR_SHIFT (16)
73#define SBG_VERSION_SOFT_SCHEME_BUILD_MASK (0xFFFF)
74#define SBG_VERSION_SOFT_SCHEME_BUILD_SHIFT (0)
108#define SBG_VERSION_CMP_THRESOLD_MAJOR SBG_VERSION_CMP_THRESHOLD_MAJOR
109#define SBG_VERSION_CMP_THRESOLD_MINOR SBG_VERSION_CMP_THRESHOLD_MINOR
110#define SBG_VERSION_CMP_THRESOLD_REVISION SBG_VERSION_CMP_THRESHOLD_REVISION
111#define SBG_VERSION_CMP_THRESOLD_BUILD SBG_VERSION_CMP_THRESHOLD_BUILD
112#define SBG_VERSION_CMP_THRESOLD_QUALIFIER SBG_VERSION_CMP_THRESHOLD_QUALIFIER
141#define SBG_VERSION_BASIC(major, minor, rev, build) ( (((uint32_t)(major)) << 24) | \
142 (((uint32_t)(minor)) << 16) | \
143 (((uint32_t)(rev)) << 8) | \
144 (((uint32_t)(build))) )
155#define SBG_VERSION_SOFTWARE(major, minor, build, qualifier) ( SBG_VERSION_SOFT_SCHEME | \
156 ((((uint32_t)(qualifier)) & SBG_VERSION_SOFT_SCHEME_QUALIFIER_MASK) << SBG_VERSION_SOFT_SCHEME_QUALIFIER_SHIFT) | \
157 ((((uint32_t)(major)) & SBG_VERSION_SOFT_SCHEME_MAJOR_MASK) << SBG_VERSION_SOFT_SCHEME_MAJOR_SHIFT) | \
158 ((((uint32_t)(minor)) & SBG_VERSION_SOFT_SCHEME_MINOR_MASK) << SBG_VERSION_SOFT_SCHEME_MINOR_SHIFT) | \
159 ((((uint32_t)(build)) & SBG_VERSION_SOFT_SCHEME_BUILD_MASK) << SBG_VERSION_SOFT_SCHEME_BUILD_SHIFT) )
406 return versionInfo.
major;
429 return versionInfo.
minor;
452 return versionInfo.
rev;
475 return (uint8_t)versionInfo.
build;
Main header for the SBG Systems common C library.
#define SBG_DEPRECATED(func)
Definition sbgDefines.h:316
#define SBG_INLINE
Definition sbgDefines.h:227
#define SBG_COMMON_LIB_API
Definition sbgDefines.h:79
enum _SbgErrorCode SbgErrorCode
SBG_COMMON_LIB_API SbgErrorCode sbgVersionToStringEncoded(uint32_t version, char *pBuffer, size_t sizeOfBuffer)
SBG_COMMON_LIB_API int32_t sbgVersionIsWithinRangeEncoded(uint32_t lowerVersion, uint32_t higherVersion, uint32_t version)
_SbgVersionCmpThreshold
Definition sbgVersion.h:97
@ SBG_VERSION_CMP_THRESHOLD_QUALIFIER
Definition sbgVersion.h:102
@ SBG_VERSION_CMP_THRESHOLD_MAJOR
Definition sbgVersion.h:98
@ SBG_VERSION_CMP_THRESHOLD_BUILD
Definition sbgVersion.h:101
@ SBG_VERSION_CMP_THRESHOLD_REVISION
Definition sbgVersion.h:100
@ SBG_VERSION_CMP_THRESHOLD_MINOR
Definition sbgVersion.h:99
SBG_INLINE bool sbgVersionIsUsingSoftwareScheme(uint32_t encodedVersion)
Definition sbgVersion.h:224
#define SBG_VERSION_BASIC(major, minor, rev, build)
Definition sbgVersion.h:141
SBG_COMMON_LIB_API void sbgVersionDecode(uint32_t encodedVersion, SbgVersion *pVersionInfo)
SBG_COMMON_LIB_API void sbgVersionCreateBasic(SbgVersion *pVersion, uint8_t major, uint8_t minor, uint8_t revision, uint8_t build)
_SbgVersionQualifier
Definition sbgVersion.h:82
@ SBG_VERSION_QUALIFIER_BETA
Definition sbgVersion.h:85
@ SBG_VERSION_QUALIFIER_RC
Definition sbgVersion.h:86
@ SBG_VERSION_QUALIFIER_HOT_FIX
Definition sbgVersion.h:88
@ SBG_VERSION_QUALIFIER_DEV
Definition sbgVersion.h:83
@ SBG_VERSION_QUALIFIER_ALPHA
Definition sbgVersion.h:84
@ SBG_VERSION_QUALIFIER_STABLE
Definition sbgVersion.h:87
SBG_COMMON_LIB_API int32_t sbgVersionCompare(const SbgVersion *pVersionA, const SbgVersion *pVersionB, SbgVersionCmpThreshold threshold)
enum _SbgVersionCmpThreshold SbgVersionCmpThreshold
SBG_COMMON_LIB_API SbgErrorCode sbgVersionFromString(const char *pString, SbgVersion *pVersion)
SBG_COMMON_LIB_API int32_t sbgVersionIsWithinRange(const SbgVersion *pLowerVersion, const SbgVersion *pHigherVersion, const SbgVersion *pVersion)
SBG_INLINE uint8_t SBG_VERSION_GET_BUILD(uint32_t encodedVersion)
Definition sbgVersion.h:463
struct _SbgVersion SbgVersion
SBG_INLINE uint8_t SBG_VERSION_GET_REV(uint32_t encodedVersion)
Definition sbgVersion.h:440
SBG_COMMON_LIB_API int32_t sbgVersionCompareEncoded(uint32_t versionA, uint32_t versionB, SbgVersionCmpThreshold threshold)
SBG_COMMON_LIB_API void sbgVersionConstructCopy(SbgVersion *pVersion, const SbgVersion *pOtherVersion)
SBG_INLINE uint32_t SBG_VERSION(uint8_t major, uint8_t minor, uint8_t rev, uint8_t build)
Definition sbgVersion.h:378
SBG_COMMON_LIB_API void sbgVersionCreateSoftware(SbgVersion *pVersion, uint8_t major, uint8_t minor, uint16_t build, SbgVersionQualifier qualifier)
SBG_INLINE uint8_t SBG_VERSION_GET_MINOR(uint32_t encodedVersion)
Definition sbgVersion.h:417
SBG_COMMON_LIB_API uint32_t sbgVersionEncode(const SbgVersion *pVersionInfo)
SBG_COMMON_LIB_API SbgErrorCode sbgVersionFromStringEncoded(const char *pString, uint32_t *pVersion)
enum _SbgVersionQualifier SbgVersionQualifier
SBG_INLINE uint8_t SBG_VERSION_GET_MAJOR(uint32_t encodedVersion)
Definition sbgVersion.h:394
SBG_COMMON_LIB_API SbgErrorCode sbgVersionToString(const SbgVersion *pVersionInfo, char *pBuffer, size_t sizeOfBuffer)
Definition sbgVersion.h:119
uint8_t rev
Definition sbgVersion.h:124
uint8_t minor
Definition sbgVersion.h:123
uint8_t major
Definition sbgVersion.h:122
SbgVersionQualifier qualifier
Definition sbgVersion.h:121
uint16_t build
Definition sbgVersion.h:125
bool softwareScheme
Definition sbgVersion.h:120