KallistiOS git master
Independent SDK for the Sega Dreamcast
|
API versioning and requirements checks. More...
Go to the source code of this file.
Macros | |
#define | KOS_VERSION_MAJOR 2 |
KOS's current major revision number. | |
#define | KOS_VERSION_MINOR 1 |
KOS's current minor revision number. | |
#define | KOS_VERSION_PATCH 0 |
KOS's current patch revision number. | |
#define | KOS_VERSION KOS_VERSION_MAKE(KOS_VERSION_MAJOR, KOS_VERSION_MINOR, KOS_VERSION_PATCH) |
KOS's current version as an integer ID. | |
#define | KOS_VERSION_STRING |
KOS's current version as a string literal. | |
#define | KOS_VERSION_ABOVE(major, minor, patch) KOS_VERSION_MAKE_ABOVE(major, minor, patch, KOS_VERSION) |
Compile-time check for being above a given KOS version. | |
#define | KOS_VERSION_MIN(major, minor, patch) KOS_VERSION_MAKE_MIN(major, minor, patch, KOS_VERSION) |
Compile-time check for a minimum KOS version. | |
#define | KOS_VERSION_IS(major, minor, patch) KOS_VERSION_MAKE_IS(major, minor, patch, KOS_VERSION) |
Compile-time check for an exact KOS version. | |
#define | KOS_VERSION_MAX(major, minor, patch) KOS_VERSION_MAKE_MAX(major, minor, patch, KOS_VERSION) |
Compile-time check for a maximum KOS version. | |
#define | KOS_VERSION_BELOW(major, minor, patch) KOS_VERSION_MAKE_BELOW(major, minor, patch, KOS_VERSION) |
Compile-time check for being below a given KOS version. | |
Version Encoding | |
Utilities for encoding a version from its components. | |
#define | KOS_VERSION_MAKE(major, minor, patch) (((major) << 16) | ((minor) << 8) | (patch)) |
Creates a version identifier from its constituents. | |
#define | KOS_VERSION_MAKE_STRING(major, minor, patch) |
Creates a version string from its constituents. | |
Version Checking | |
Utilities for creating version checks. | |
#define | KOS_VERSION_MAKE_COMPARISON(major, minor, patch, op, version) (KOS_VERSION_MAKE(major, minor, patch) op (version & 0xffffff)) |
Creates a generic check against a given version. | |
#define | KOS_VERSION_MAKE_ABOVE(major, minor, patch, version) (KOS_VERSION_MAKE_COMPARISON(major, minor, patch, <, version)) |
Creates a check for being above a given version. | |
#define | KOS_VERSION_MAKE_MIN(major, minor, patch, version) (KOS_VERSION_MAKE_COMPARISON(major, minor, patch, <=, version)) |
Creates a minimum version check. | |
#define | KOS_VERSION_MAKE_IS(major, minor, patch, version) (KOS_VERSION_MAKE_COMPARISON(major, minor, patch, ==, version)) |
Creates an exact version check. | |
#define | KOS_VERSION_MAKE_MAX(major, minor, patch, version) (KOS_VERSION_MAKE_COMPARISON(major, minor, patch, >=, version)) |
Creates a maximum version check. | |
#define | KOS_VERSION_MAKE_BELOW(major, minor, patch, version) (KOS_VERSION_MAKE_COMPARISON(major, minor, patch, >, version)) |
Creates a check for being below a given version. | |
Typedefs | |
typedef uint32_t | kos_version_t |
Type of a KOS version identifier. | |
Functions | |
kos_version_t | kos_version (void) |
Returns the current KOS version ID at run-time. | |
const char * | kos_version_string (void) |
Returns the string representation of the current KOS version at run-time. | |
bool | kos_version_above (uint8_t major, uint16_t minor, uint8_t patch) |
Above version run-time check for KOS. | |
bool | kos_version_min (uint8_t major, uint16_t minor, uint8_t patch) |
Minimum version run-time check for KOS. | |
bool | kos_version_is (uint8_t major, uint16_t minor, uint8_t patch) |
Exact version run-time check for KOS. | |
bool | kos_version_max (uint8_t major, uint16_t minor, uint8_t patch) |
Maximum version run-time check for KOS. | |
bool | kos_version_below (uint8_t major, uint16_t minor, uint8_t patch) |
Below version run-time check for KOS. | |
API versioning and requirements checks.
This file contains the current KOS version information as well as utilities for enforcing and checking for certain version ranges.