Definitions for general use. More...
Data Structures | |
struct | ltrx_power_level_application |
Represents a power level application for registration. More... | |
Macros | |
#define | ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) |
Size of array. More... | |
#define | ASSIGN_CONST_STRUCT_POINTER_FROM_MEMBER_POINTER(sp, st, m, mp) |
Const structure pointer from member pointer. More... | |
#define | ASSIGN_STRUCT_POINTER_FROM_MEMBER_POINTER(sp, st, m, mp) |
Structure pointer from member pointer. More... | |
#define | INTEGERIFY(v) INTEGERIFY_DO_NOT_CALL_DIRECTLY(v) |
Unsigned long from defined number. More... | |
#define | KILOBYTE 0x400 |
Kilobyte. More... | |
#define | LTRX_MUTEX_WAIT(mutex, timeout_in_milliseconds) |
Wait for a mutex. More... | |
#define | ltrx_preemption_block() ltrx_preemption_block_do_not_call_directly(__FILE__, __LINE__) |
Block preemption. More... | |
#define | ltrx_thread_sleep(timeMsec) ltrx_thread_sleep_do_not_call_directly(__FILE__, __LINE__, timeMsec) |
Pause this thread. More... | |
#define | ltrx_thread_yield() ltrx_thread_yield_do_not_call_directly(__FILE__, __LINE__) |
Yield control to other threads. More... | |
#define | LTRX_TRIGGER_WAIT(trigger, timeout_in_milliseconds) |
Wait for a trigger. More... | |
#define | MALLOC(size) |
Allocate memory. More... | |
#define | MALLOC_ZEROED(size) |
Allocate memory and clear it to zeroes. More... | |
#define | MAXIMUM(a, b) ((a) < (b) ? (b) : (a)) |
Larger of two numbers. More... | |
#define | MEGABYTE 0x100000 |
Megabyte. More... | |
#define | MEMALIGN(align_size, requested_size) |
Allocate memory with alignment. More... | |
#define | MEMBER_OFFSET(st, m) ((size_t)(&(((st *)0)->m))) |
Offset of member in struct. More... | |
#define | MINIMUM(a, b) ((a) < (b) ? (a) : (b)) |
Smaller of two numbers. More... | |
#define | REALLOC(addr, newSize) |
Re-allocate memory and copy original into it. More... | |
#define | STACK_SIZE_GREEN_FROM_MAX_OBSERVED_STACK_USED(used) ((used + 3) * 100 / 80) |
Compute stack size based on observation. More... | |
#define | STRDUP(string) |
Allocate memory and copy a string into it. More... | |
#define | STRINGIFY(v) STRINGIFY_DO_NOT_CALL_DIRECTLY(v) |
String from defined number. More... | |
#define | STRNDUP(string, n) |
Allocate memory and copy a string into it, up to a limit. More... | |
#define | TIME_WAIT_FOREVER 0xffffffff |
Wait forever. More... | |
Functions | |
uint32_t | ltrx_elapsed_time_current_ms (uint32_t time_mark) |
Measure time since time mark. More... | |
void | ltrx_free (void *addr) |
Free previously allocated memory. More... | |
uint32_t | ltrx_get_uptime_ms (void) |
Get device uptime. More... | |
void | ltrx_interrupt_disable (void) |
Disable interrupts. More... | |
void | ltrx_interrupt_enable (void) |
Enable interrupts. More... | |
bool | ltrx_malloc_has_ever_failed (void) |
Determine if any memory allocation has yet failed. More... | |
bool | ltrx_mutex_create (struct ltrx_mutex *mutex, const char *name) |
Create a mutex. More... | |
bool | ltrx_mutex_destroy (struct ltrx_mutex *mutex) |
Destroy a mutex. More... | |
struct ltrx_thread * | ltrx_mutex_held_by (const struct ltrx_mutex *mutex) |
Get ID of thread holding mutex. More... | |
void | ltrx_mutex_signal (struct ltrx_mutex *mutex) |
Relinquish a mutex. More... | |
const char * | ltrx_platform_get_product_type (void) |
Get the product type name. | |
void | ltrx_power_level_application_permit_shutdown (const char *applicationName, uint32_t durationSeconds) |
Application permits shutdown for specified time duration. More... | |
void | ltrx_power_level_application_register (const struct ltrx_power_level_application *application) |
Register an application to have a voice in power control. More... | |
void | ltrx_power_level_application_request_full_power (const char *applicationName) |
Application requests full power till further notice. More... | |
void | ltrx_preemption_unblock (void) |
Unblock preemption. More... | |
struct ltrx_thread * | ltrx_thread_create (const char *name, void(*entry_function)(void *opaque), void *entry_opaque, uint32_t stack_size) |
Create a thread. More... | |
struct ltrx_thread * | ltrx_thread_id (void) |
Get current thread ID. More... | |
void | ltrx_thread_resume (struct ltrx_thread *thread) |
Resumes a thread. More... | |
void | ltrx_thread_suspend (void) |
Suspend a thread. More... | |
void | ltrx_thread_wake (struct ltrx_thread *thread) |
Wake a thread. More... | |
uint32_t | ltrx_timemark (void) |
Get time mark. More... | |
void | ltrx_trigger_clear (struct ltrx_trigger *trigger) |
Clear a trigger. More... | |
bool | ltrx_trigger_create (struct ltrx_trigger *trigger, const char *name) |
Create a trigger. More... | |
bool | ltrx_trigger_destroy (struct ltrx_trigger *trigger) |
Destroy a trigger. More... | |
void | ltrx_trigger_signal (struct ltrx_trigger *trigger) |
Signal a trigger. More... | |
Definitions for general use.
#define KILOBYTE 0x400 |
Kilobyte.
Typically a multiplier.
#define MEGABYTE 0x100000 |
Megabyte.
Typically a multiplier.
#define TIME_WAIT_FOREVER 0xffffffff |
Wait forever.
Many macros or functions with a timeout parameter will accept this value to represent an indefinite period of time.