61 #define SBG_VERSION_SOFT_SCHEME (0x00000001u << 31)
63 #define SBG_VERSION_SOFT_SCHEME_QUALIFIER_MASK (0x07)
64 #define SBG_VERSION_SOFT_SCHEME_QUALIFIER_SHIFT (28)
66 #define SBG_VERSION_SOFT_SCHEME_MAJOR_MASK (0x3F)
67 #define SBG_VERSION_SOFT_SCHEME_MAJOR_SHIFT (22)
69 #define SBG_VERSION_SOFT_SCHEME_MINOR_MASK (0x3F)
70 #define SBG_VERSION_SOFT_SCHEME_MINOR_SHIFT (16)
72 #define SBG_VERSION_SOFT_SCHEME_BUILD_MASK (0xFFFF)
73 #define SBG_VERSION_SOFT_SCHEME_BUILD_SHIFT (0)
107 #define SBG_VERSION_CMP_THRESOLD_MAJOR SBG_VERSION_CMP_THRESHOLD_MAJOR
108 #define SBG_VERSION_CMP_THRESOLD_MINOR SBG_VERSION_CMP_THRESHOLD_MINOR
109 #define SBG_VERSION_CMP_THRESOLD_REVISION SBG_VERSION_CMP_THRESHOLD_REVISION
110 #define SBG_VERSION_CMP_THRESOLD_BUILD SBG_VERSION_CMP_THRESHOLD_BUILD
111 #define SBG_VERSION_CMP_THRESOLD_QUALIFIER SBG_VERSION_CMP_THRESHOLD_QUALIFIER
140 #define SBG_VERSION_BASIC(major, minor, rev, build) ( (((uint32_t)(major)) << 24) | \
141 (((uint32_t)(minor)) << 16) | \
142 (((uint32_t)(rev)) << 8) | \
143 (((uint32_t)(build))) )
154 #define SBG_VERSION_SOFTWARE(major, minor, build, qualifier) ( SBG_VERSION_SOFT_SCHEME | \
155 ((((uint32_t)(qualifier)) & SBG_VERSION_SOFT_SCHEME_QUALIFIER_MASK) << SBG_VERSION_SOFT_SCHEME_QUALIFIER_SHIFT) | \
156 ((((uint32_t)(major)) & SBG_VERSION_SOFT_SCHEME_MAJOR_MASK) << SBG_VERSION_SOFT_SCHEME_MAJOR_SHIFT) | \
157 ((((uint32_t)(minor)) & SBG_VERSION_SOFT_SCHEME_MINOR_MASK) << SBG_VERSION_SOFT_SCHEME_MINOR_SHIFT) | \
158 ((((uint32_t)(build)) & SBG_VERSION_SOFT_SCHEME_BUILD_MASK) << SBG_VERSION_SOFT_SCHEME_BUILD_SHIFT) )
397 return versionInfo.
major;
420 return versionInfo.
minor;
443 return versionInfo.
rev;
466 return (uint8_t)versionInfo.
build;
Main header for the SBG Systems common C library.
#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:96
@ SBG_VERSION_CMP_THRESHOLD_QUALIFIER
Definition: sbgVersion.h:101
@ SBG_VERSION_CMP_THRESHOLD_MAJOR
Definition: sbgVersion.h:97
@ SBG_VERSION_CMP_THRESHOLD_BUILD
Definition: sbgVersion.h:100
@ SBG_VERSION_CMP_THRESHOLD_REVISION
Definition: sbgVersion.h:99
@ SBG_VERSION_CMP_THRESHOLD_MINOR
Definition: sbgVersion.h:98
SBG_INLINE bool sbgVersionIsUsingSoftwareScheme(uint32_t encodedVersion)
Definition: sbgVersion.h:223
#define SBG_VERSION_BASIC(major, minor, rev, build)
Definition: sbgVersion.h:140
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:81
@ SBG_VERSION_QUALIFIER_BETA
Definition: sbgVersion.h:84
@ SBG_VERSION_QUALIFIER_RC
Definition: sbgVersion.h:85
@ SBG_VERSION_QUALIFIER_HOT_FIX
Definition: sbgVersion.h:87
@ SBG_VERSION_QUALIFIER_DEV
Definition: sbgVersion.h:82
@ SBG_VERSION_QUALIFIER_ALPHA
Definition: sbgVersion.h:83
@ SBG_VERSION_QUALIFIER_STABLE
Definition: sbgVersion.h:86
SBG_COMMON_LIB_API int32_t sbgVersionCompare(const SbgVersion *pVersionA, const SbgVersion *pVersionB, SbgVersionCmpThreshold threshold)
SBG_COMMON_LIB_API SbgErrorCode sbgVersionFromStringEncoded(const char *pVersionStr, uint32_t *pVersion)
enum _SbgVersionCmpThreshold SbgVersionCmpThreshold
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:454
struct _SbgVersion SbgVersion
SBG_COMMON_LIB_API SbgErrorCode sbgVersionFromString(const char *pVersionStr, SbgVersion *pVersionInfo)
SBG_INLINE uint8_t SBG_VERSION_GET_REV(uint32_t encodedVersion)
Definition: sbgVersion.h:431
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:369
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:408
SBG_COMMON_LIB_API uint32_t sbgVersionEncode(const SbgVersion *pVersionInfo)
enum _SbgVersionQualifier SbgVersionQualifier
SBG_DEPRECATED(SBG_INLINE uint32_t SBG_VERSION(uint8_t major, uint8_t minor, uint8_t rev, uint8_t build))
SBG_INLINE uint8_t SBG_VERSION_GET_MAJOR(uint32_t encodedVersion)
Definition: sbgVersion.h:385
SBG_COMMON_LIB_API SbgErrorCode sbgVersionToString(const SbgVersion *pVersionInfo, char *pBuffer, size_t sizeOfBuffer)
Definition: sbgVersion.h:118
uint8_t rev
Definition: sbgVersion.h:123
uint8_t minor
Definition: sbgVersion.h:122
uint8_t major
Definition: sbgVersion.h:121
SbgVersionQualifier qualifier
Definition: sbgVersion.h:120
uint16_t build
Definition: sbgVersion.h:124
bool softwareScheme
Definition: sbgVersion.h:119