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.