Banjo API 0.0.1
C99 game development API
|
Files | |
file | assert.h |
Data Structures | |
struct | bj_build_info |
Macros | |
#define | BJ_VERSION_MAJOR(version) |
#define | BJ_VERSION_MINOR(version) |
#define | BJ_VERSION_PATCH(version) |
#define | BJ_MAKE_VERSION(major, minor, patch) |
#define | BJ_VERSION_MAJOR_NUMBER 0 |
#define | BJ_VERSION_MINOR_NUMBER 1 |
#define | BJ_VERSION_PATCH_NUMBER 0 |
#define | BJ_VERSION BJ_MAKE_VERSION(BJ_VERSION_MAJOR_NUMBER, BJ_VERSION_MINOR_NUMBER, BJ_VERSION_PATCH_NUMBER) |
#define | BJ_NAME "Banjo" |
#define | BJ_FALSE ((bj_bool)0) |
#define | BJ_TRUE ((bj_bool)1) |
Typedefs | |
typedef uint32_t | bj_bool |
Functions | |
const bj_build_info * | bj_build_information (void) |
Platform detection | |
One of these will be defined to indicate the target OS. | |
#define | BJ_OS_UNKNOWN |
Compiler detection | |
One of these will be defined to indicate the compiler in use. Additionally BJ_COMPILER_NAME and BJ_COMPILER_VERSION are provided. | |
#define | BJ_COMPILER_NAME "Doxygen" |
#define | BJ_COMPILER_VERSION 0 |
Build configuration | |
Exactly one of BJ_BUILD_DEBUG or BJ_BUILD_RELEASE is defined. | |
#define | BJ_BUILD_RELEASE |
#define | BJ_BUILD_DEBUG |
Export/visibility helpers | |
BANJO_EXPORT marks public symbols. BANJO_NO_EXPORT hides symbols. | |
#define | BANJO_EXPORT |
#define | BANJO_NO_EXPORT |
Restrict qualifier macro | |
#define | BJ_RESTRICT restrict |
Array parameter helper macros | |
#define | BJ_CONST_ARRAY(T, n, name) |
#define | BJ_ARRAY(T, n, name) |
#define | BJ_CONST_ARRAY_2D(T, n, m, name) |
#define | BJ_ARRAY_2D(T, n, m, name) |
Inline helper macro | |
#define | BJ_INLINE inline |
General-purpose API.
struct bj_build_info |
Structure holding build information of the binary.
Data Fields | ||
---|---|---|
const char * | compiler_name | Compiler name string. |
int | compiler_version | Compiler version number. |
bj_bool | config_checks_abort | Checks abort execution on failure. |
bj_bool | config_checks_log | Checks log failures. |
bj_bool | config_fastmath | Built with fast-math optimizations. |
bj_bool | config_log_color | Colored log output enabled. |
bj_bool | config_pedantic | Extra runtime checks enabled. |
bj_bool | debug | Non-zero if built with debug info. |
bj_bool | feature_alsa | Built with ALSA audio. |
bj_bool | feature_emscripten | Built with Emscripten support. |
bj_bool | feature_mme | Built with Windows MME audio. |
bj_bool | feature_win32 | Built with Win32 window support. |
bj_bool | feature_x11 | Built with X11 window support. |
const char * | p_name | API name (see BJ_NAME). |
uint32_t | version | Packed API version (see BJ_VERSION). |
#define BANJO_EXPORT |
#define BANJO_NO_EXPORT |
#define BJ_ARRAY | ( | T, | |
n, | |||
name ) |
#define BJ_ARRAY_2D | ( | T, | |
n, | |||
m, | |||
name ) |
Expands to array parameter declarations appropriate for the toolchain.
BJ_CONST_ARRAY/BJ_ARRAY are 1-D. BJ_CONST_ARRAY_2D/BJ_ARRAY_2D are 2-D (rows=n, cols=m).
#define BJ_BUILD_DEBUG |
Set when Banjo was built on debug mode (NDEBUG not defined).
#define BJ_BUILD_RELEASE |
Set when Banjo was built on release mode (NDEBUG defined).
#define BJ_COMPILER_NAME "Doxygen" |
#define BJ_COMPILER_VERSION 0 |
#define BJ_CONST_ARRAY | ( | T, | |
n, | |||
name ) |
#define BJ_CONST_ARRAY_2D | ( | T, | |
n, | |||
m, | |||
name ) |
#define BJ_INLINE inline |
BJ_INLINE expands to an inline specifier appropriate for the toolchain.
If BJ_API_FORCE_INLINE is defined, stronger inlining is requested.
#define BJ_MAKE_VERSION | ( | major, | |
minor, | |||
patch ) |
Construct a packed 32-bit version value: [major:10 | minor:10 | patch:12].
major | Major version in [0, 1023]. |
minor | Minor version in [0, 1023]. |
patch | Patch version in [0, 4095]. |
#define BJ_NAME "Banjo" |
Library name string.
#define BJ_OS_UNKNOWN |
#define BJ_RESTRICT restrict |
BJ_RESTRICT expands to the appropriate restrict qualifier per toolchain.
#define BJ_VERSION BJ_MAKE_VERSION(BJ_VERSION_MAJOR_NUMBER, BJ_VERSION_MINOR_NUMBER, BJ_VERSION_PATCH_NUMBER) |
Current API version as a packed 32-bit representation.
#define BJ_VERSION_MAJOR | ( | version | ) |
Extract major version from a 32-bit version value.
version | Packed version from BJ_MAKE_VERSION. |
#define BJ_VERSION_MAJOR_NUMBER 0 |
Current major version number.
#define BJ_VERSION_MINOR | ( | version | ) |
Extract minor version from a 32-bit version value.
version | Packed version from BJ_MAKE_VERSION. |
#define BJ_VERSION_MINOR_NUMBER 1 |
Current minor version number.
#define BJ_VERSION_PATCH | ( | version | ) |
Extract patch version from a 32-bit version value.
version | Packed version from BJ_MAKE_VERSION. |
#define BJ_VERSION_PATCH_NUMBER 0 |
Current patch version number.
typedef uint32_t bj_bool |
const bj_build_info * bj_build_information | ( | void | ) |
Get runtime build information for the loaded Banjo binaries.
The returned pointer is owned by the library and remains valid for the lifetime of the process. The content is immutable.