34 #ifndef __SBG_VERSION_H__ 35 #define __SBG_VERSION_H__ 44 #include "../sbgDefines.h" 45 #include "../sbgErrorCodes.h" 46 #include "../sbgTypes.h" 52 #define SBG_VERSION_SOFT_SCHEME (0x00000001u << 31) 54 #define SBG_VERSION_SOFT_SCHEME_QUALIFIER_MASK (0x07) 55 #define SBG_VERSION_SOFT_SCHEME_QUALIFIER_SHIFT (28) 57 #define SBG_VERSION_SOFT_SCHEME_MAJOR_MASK (0x3F) 58 #define SBG_VERSION_SOFT_SCHEME_MAJOR_SHIFT (22) 60 #define SBG_VERSION_SOFT_SCHEME_MINOR_MASK (0x3F) 61 #define SBG_VERSION_SOFT_SCHEME_MINOR_SHIFT (16) 63 #define SBG_VERSION_SOFT_SCHEME_BUILD_MASK (0xFFFF) 64 #define SBG_VERSION_SOFT_SCHEME_BUILD_SHIFT (0) 71 typedef enum _SbgVersionQualifier 121 #define SBG_VERSION_BASIC(major, minor, rev, build) ( (((uint32)(major)) << 24) | \ 122 (((uint32)(minor)) << 16) | \ 123 (((uint32)(rev)) << 8) | \ 124 (((uint32)(build))) ) 134 #define SBG_VERSION_SOFTWARE(major, minor, build, qualifier) ( SBG_VERSION_SOFT_SCHEME | \ 135 ((((uint32)(qualifier)) & SBG_VERSION_SOFT_SCHEME_QUALIFIER_MASK) << SBG_VERSION_SOFT_SCHEME_QUALIFIER_SHIFT) | \ 136 ((((uint32)(major)) & SBG_VERSION_SOFT_SCHEME_MAJOR_MASK) << SBG_VERSION_SOFT_SCHEME_MAJOR_SHIFT) | \ 137 ((((uint32)(minor)) & SBG_VERSION_SOFT_SCHEME_MINOR_MASK) << SBG_VERSION_SOFT_SCHEME_MINOR_SHIFT) | \ 138 ((((uint32)(build)) & SBG_VERSION_SOFT_SCHEME_BUILD_MASK) << SBG_VERSION_SOFT_SCHEME_BUILD_SHIFT) ) 317 return versionInfo.
major;
338 return versionInfo.
minor;
359 return versionInfo.
rev;
void sbgVersionDecode(uint32 encodedVersion, SbgVersion *pVersionInfo)
struct _SbgVersion SbgVersion
int32 sbgVersionCompare(const SbgVersion *pVersionA, const SbgVersion *pVersionB, SbgVersionCmpThresold thresold)
SBG_INLINE uint32 SBG_VERSION(uint8 major, uint8 minor, uint8 rev, uint8 build)
SbgErrorCode sbgVersionToString(const SbgVersion *pVersionInfo, char *pBuffer, uint32 sizeOfBuffer)
enum _SbgVersionCmpThresold SbgVersionCmpThresold
uint32 sbgVersionEncode(const SbgVersion *pVersionInfo)
SBG_INLINE uint8 SBG_VERSION_GET_MINOR(uint32 encodedVersion)
SBG_INLINE bool sbgVersionIsUsingSoftwareScheme(uint32 encodedVersion)
SBG_INLINE uint8 SBG_VERSION_GET_BUILD(uint32 encodedVersion)
SbgErrorCode sbgVersionToStringEncoded(uint32 version, char *pBuffer, uint32 sizeOfBuffer)
SBG_INLINE int32 sbgVersionCompareEncoded(uint32 versionA, uint32 versionB, SbgVersionCmpThresold thresold)
enum _SbgVersionQualifier SbgVersionQualifier
SbgErrorCode sbgVersionFromStringEncoded(const char *pVersionStr, uint32 *pVersion)
SBG_DEPRECATED(SBG_INLINE uint32 SBG_VERSION(uint8 major, uint8 minor, uint8 rev, uint8 build))
enum _SbgErrorCode SbgErrorCode
SBG_INLINE uint8 SBG_VERSION_GET_REV(uint32 encodedVersion)
#define SBG_VERSION_BASIC(major, minor, rev, build)
SbgVersionQualifier qualifier
SbgErrorCode sbgVersionFromString(const char *pVersionStr, SbgVersion *pVersionInfo)
SBG_INLINE uint8 SBG_VERSION_GET_MAJOR(uint32 encodedVersion)