Macros
Core macros. More...
Macros | |
#define | GOS_LOG(msg, ...) gos_log(msg, ## __VA_ARGS__) |
General logging macro. | |
#define | GOS_VLOG(msg, arg_list) gos_vlog(msg, arg_list) |
General logging macro. | |
#define | GOS_NEVER_TIMEOUT 0xFFFFFFFFULL |
Used for APIs that require a timeout, never timeout. | |
#define | GOS_WAIT_FOREVER GOS_NEVER_TIMEOUT |
Used for APIs that require a timeout, never timeout. | |
#define | GOS_NO_WAIT 0 |
Used for APIs that require a timeout, timeout immediately. | |
#define | GOS_FAILED(result, func) ((result = (func)) != GOS_SUCCESS) |
Store the result of API call, return TRUE if API was successful, FALSE else. | |
#define | GOS_VERIFY(func) { gos_result_t _result = (func); if(_result != GOS_SUCCESS) return _result; } while(0) |
Verify the result of an API call, return the result on failure. | |
#define | GOS_IS_NULL_ARG(arg) ( arg == NULL ) |
Check if the argument is NULL. | |
#define | MIN(x, y) ((x) < (y) ? (x) : (y)) |
Return minimum of two integers. | |
#define | MAX(x, y) ((x) > (y) ? (x) : (y)) |
Return maximum of two integers. | |
#define | ROUND_UP(x, y) ((x) % (y) ? (x) + (y)-((x)%(y)) : (x)) |
Divide x by y rounding up. | |
#define | DIV_ROUND_UP(m, n) (((m) + (n) - 1) / (n)) |
Divide x by y rounding up. | |
#define | OFFSETOF(type, member) ((uintptr_t)&((type *)0)->member) |
Get offset (i.e. index) of member of struct. | |
#define | ARRAY_COUNT(x) (sizeof (x) / sizeof *(x)) |
Return number of elements in static array. | |
#define | ALIGN_n(x, n) ((((uint32_t)x) + ((n)-1)) & ~((n)-1)) |
Align x to a multiple of n (rounding up) where n is a power of two. | |
#define | ALIGN_8(x) ALIGN_n(x, 8) |
Align x to a multiple of 8 (rounding up) | |
#define | ALIGN_4(x) ALIGN_n(x, 4) |
Align x to a multiple of 4 (rounding up) | |
#define | UNUSED_PARAMETER(x) (void)x |
Removes complier warning for unused function parameters. | |
#define | GOS_NULL_HANDLE 0 |
Invalid handle, this value is considered invalid when reading/writing streams. | |
#define | GOS_DEVICE_UUID_LEN 40 |
The module's UUID length in hex characters. This is the number of characters returned by the command: 'get system.uuid' See Wi-Fi Command API, system.uuid | |
#define | GOS_URL_MAX_LENGTH 128 |
The maximum size of a URL. | |
#define | GOS_MAX_STREAMS PLATFORM_MAX_STREAMS |
The maximum number of simultaneous streams. | |
#define | GOS_CREATE_OBJECT(object_type) gos_malloc_named(STRINGIFY(object_type), sizeof(object_type)) |
Allocate object memory on heap Call GOS_DESTROY_OBJECT() to cleanup allocated memory. | |
#define | GOS_DESTROY_OBJECT(object_ptr) gos_free(object_ptr) |
De-allocate object memory from heap. | |
#define | BUILD_ASSERTION(condition) ((void)sizeof(char[1 - 2*!(condition)])) |
Compile-time assertion if given condition is NOT true. | |
Detailed Description
Core macros.