GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > LIM / V1-20-0
Constituent: lim     Tag: mv2304
#include "ITC/ITC_drvdefs.h"
#include "ITC/ITC_pubdefs.h"
#include "PBS/MTX.ih"
Include dependency graph for LIM_task.h:
This graph shows which files directly or indirectly include this file:
Typedefs | |
typedef enum _LIM_Task_State | LIM_Task_State |
Typedef for _LIM_Task_State. | |
typedef _LIM_Task | LIM_Task |
Typedef for opaque _LIM_Task structure. | |
Enumerations | |
enum | _LIM_Task_State { LIM_TASK_STATE_UNINITIALIZED = 1 << 0, LIM_TASK_STATE_INITIALIZING = 1 << 1, LIM_TASK_STATE_INIT_FAIL = 1 << 2, LIM_TASK_STATE_INITIALIZED = 1 << 3, LIM_TASK_STATE_SHUTDOWN = 1 << 4, LIM_TASK_STATE_SHUTDOWN_FAIL = 1 << 5, LIM_TASK_STATE_STARTING = 1 << 6, LIM_TASK_STATE_START_FAIL = 1 << 7, LIM_TASK_STATE_STARTED = 1 << 8, LIM_TASK_STATE_STOPPING = 1 << 9, LIM_TASK_STATE_STOP_FAIL = 1 << 10, LIM_TASK_STATE_BUSY = 1 << 31 } |
State for tasks. More... | |
Functions | |
unsigned int | LIM_task_lock_access (LIM_Task *task_p) |
Lock access to task control information. | |
unsigned int | LIM_task_unlock_access (LIM_Task *task_p) |
Unlock access to task control information. | |
unsigned int | LIM_task_check_state (LIM_Task *task_p, unsigned int valid) |
Check the state of a task. | |
unsigned int | LIM_task_change_state (LIM_Task *task_p, unsigned int valid, LIM_Task_State new_state) |
Change the state of a task. | |
unsigned int | LIM_task_get_extra_ptr (LIM_Task *task_p, void **extra_pp) |
Get a pointer to the 'extra' bytes allocated for the task. | |
unsigned int | LIM_task_init_begin_with_db (LIM_Task **task_pp, char *req_name, char *def_name, ITC_TaskID tid, unsigned int extra_bytes) |
Begin task initialization using CPU_DB. | |
unsigned int | LIM_task_init_begin (LIM_Task **task_pp, char *name, ITC_TaskID tid, unsigned int extra_bytes) |
Begin task initialization. | |
unsigned int | LIM_task_init_end (LIM_Task *task_p, ITC_cb_Memory *conf_alloc_p, void *conf_alloc_prm, unsigned int status) |
Finish task Initialization. | |
unsigned int | LIM_task_add_queue (LIM_Task *task_p, ITC_QueueID queue_id, ITC_cb_Memory *alloc_p, void *alloc_prm, ITC_cb_Dispatch *dispatch_p) |
Add a queue and a memory allocator to a task. | |
unsigned int | LIM_task_add_apid (LIM_Task *task_p, ITC_QueueID queue_id, ITC_ApidDef *apid_def_p, void *parm) |
Add command handlers to a task. | |
unsigned int | LIM_task_add_raw (LIM_Task *task_p, ITC_QueueID queue_id, ITC_cb_Processor *cb_p, void *parm) |
Add a RAW dispatch command handler to a task. | |
unsigned int | LIM_task_shutdown_begin (LIM_Task *task_p) |
Shut down a task. | |
unsigned int | LIM_task_shutdown_end (LIM_Task *task_p, unsigned int status) |
Finish task shutdown. | |
unsigned int | LIM_task_remove_queue (LIM_Task *task_p, ITC_QueueID queue_id, ITC_cb_Memory *alloc_p) |
Remove a queue and a memory allocator from a task. | |
unsigned int | LIM_task_start_with_db (LIM_Task *task_p, TASK_attr *req_attr_p, TASK_attr *def_attr_p) |
Start a task using CPU_DB. | |
unsigned int | LIM_task_start (LIM_Task *task_p, TASK_attr *attr_p) |
Start a task. | |
unsigned int | LIM_task_stop (LIM_Task *task_p) |
Stop a task. |
** CVS $Id: LIM_task.h,v 1.5 2005/08/08 17:25:08 dmay Exp $ **
|
State for tasks.
|
|
Add command handlers to a task.
|
|
Add a queue and a memory allocator to a task.
|
|
Add a RAW dispatch command handler to a task.
|
|
Change the state of a task.
|
|
Check the state of a task. Checks that current state of a task and verifies that it is one of the specified valid states.
|
|
Get a pointer to the 'extra' bytes allocated for the task.
|
|
Begin task initialization. This function is a wrapper for the LIM_task_init_begin_with_db function. After calling this function, the LIM_task_add_queue() and LIM_task_add_apid() functions should be used to add queues and command handlers to the task. The LIM_task_init_end() function should then be called to finish the initialization process and transition the task to the INITIALIZED state.
|
|
Begin task initialization using CPU_DB. This function begins the task initialization process by allocating memory for task control information and creating the task. It uses the CPU_DB database to determine the name of the task if the requested name is NULL. When this function returns without an error, the task will be in the INITIALIZING state. After calling this function, the LIM_task_add_queue() and LIM_task_add_apid() functions should be used to add queues and command handlers to the task. The LIM_task_init_end() function should then be called to finish the initialization process and transition the task to the INITIALIZED state.
|
|
Finish task Initialization. This function finishes the task initialization process by attaching command confirmation memory. If successful, it transitions the task to the INITIALIZED state. This function should be called only if the current task state has been set to INITIALIZING by the LIM_task_init_begin() function. If task initialization fails, this function sets the task state to INIT_FAIL.
|
|
Lock access to task control information.
|
|
Remove a queue and a memory allocator from a task.
|
|
Shut down a task. This function begins the task shutdown process by transitioning the task to the SHUTDOWN state, detaching command handlers, detaching command and command confirmation memory, removing ITC queues, and deleting the task. When this function returns, the task will be in the SHUTDOWN state. The LIM_task_shutdown_end() function should be called to finish the shutdown process and transition the task to the UNINITIALIZED state.
|
|
Finish task shutdown. This function finished the task shutdown process by transitions the task to the UNINITIALIZED state. This function should be called only if the current task state has been set to SHUTDOWN by the LIM_task_shutdown_begin() function. If task shutdown fails, this function sets the task state to SHUTDOWN_FAIL.
|
|
Start a task. This function is a wrapper for LIM_task_start_with_db, which starts a task and transitions it to the STARTED state. The LIM_task_init() function must be called before this function is called.
|
|
Start a task using CPU_DB. This function starts a task and transitions it to the STARTED state. The LIM_task_init() function must be called before this function is called.
|
|
Stop a task. This function stops a task and transitions it to the INITIALIZED state. This function must be called before the LIM_task_shutdown() function is called.
|
|
Unlock access to task control information.
|