The header file <ctl_api.h> defines functions and macros that you can use to write multi-threaded applications. For more information on how to use the tasking library, please see the Tasking Library Tutorial.
| Task management functions | |
| ctl_task_die | Terminate the executing task |
| ctl_task_executing | Active task |
| ctl_task_init | Create initial task |
| ctl_task_list | Priority-ordered list of runnable tasks |
| ctl_task_run | Create a task |
| ctl_task_remove | Remove a task from waiting task list |
| ctl_task_reschedule | Cause a reschedule |
| ctl_task_set_priority | Set the priority of a task |
| Event Set functions | |
| ctl_events_init | Initialise an event set |
| ctl_events_set_clear | Set and clear events |
| ctl_events_wait | Wait for events or timeout |
| Semaphore functions | |
| ctl_semaphore_init | Initialise a semaphore |
| ctl_semaphore_signal | Signal a semaphore |
| ctl_semaphore_wait | Wait for a semaphore or timeout |
| Message queue functions | |
| ctl_message_queue_init | Initialise a message queue |
| ctl_message_queue_post | Post a message to a message queue or timeout |
| ctl_message_queue_post_nb | Post a message to a message queue without blocking |
| ctl_message_queue_receive | Receive a message from a message queue or timeout |
| ctl_message_queue_receive_nb | Receive a message from a message queue without blocking |
| Byte queue functions | |
| ctl_byte_queue_init | Initialise a byte queue |
| ctl_byte_queue_post | Post a byte to a byte queue or timeout |
| ctl_byte_queue_post_nb | Post a byte to a byte queue without blocking |
| ctl_byte_queue_receive | Receive a byte from a byte queue or timeout |
| ctl_byte_queue_receive_nb | Receive a message from a byte queue without blocking |
| Global interrupts control | |
| ctl_global_interrupts_disable | Disable global interrupts |
| ctl_global_interrupts_enable | Enable global interrupts |
| ctl_global_interrupts_set | Set global interrupts to saved state |
| ctl_global_interrupts_re_enable_from_isr | Reenable global interrupts from an interrupt service routine |
| ctl_global_interrupts_un_re_enable_from_isr | Redisable global interrupts from an interrupt service routine |
| Timer support | |
| ctl_start_timer | Start the timer ticking. |
| ctl_current_time | The current time in ticks. |
| ctl_get_current_time | Return the number of ticks in a second. |
| ctl_get_current_time | Atomically return the current time in ticks. |
| ctl_increment_tick_from_isr | Increment tick timer. |
| ctl_timeout_wait | Wait until timeout has occured. |
| ctl_timeslice_period | The timeslice period - zero means no time slicing. |
| Memory areas | |
| ctl_memory_area_init | Initialise a memory area |
| ctl_memory_area_allocate | Allocate a block from a memory area |
| ctl_memory_area_free | Return a block to a memory area |
| Miscellaneous functions and variables | |
| ctl_handle_error | Handle an error condition |
| ctl_libc_mutex | C library mutex |