GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > ITC / V2-1-7
Constituent: itc     Tag: rad750
#include "PBS/TASK.h"
#include "PBS/TOC.h"
Include dependency graph for ITC_pubdefs.h:
This graph shows which files directly or indirectly include this file:
Data Structures | |
struct | _ITC_ApidDef |
Structure to define a member of the APID list. More... | |
struct | _ITC_CommandItem |
Structure to define a command item in a command list. More... | |
struct | _ITC_CommandList |
Structure to define a list of command definitions. More... | |
struct | _ITC_Map |
Structure to hold maps of how to get from here to there. More... | |
struct | _ITC_PoolDsc |
Structure to describe a memory pool. More... | |
Defines | |
#define | ITC_L_NODES (8) |
Maximum number of nodes supported. | |
#define | ITC_L_CPUS (5) |
Number of nodes that are genuine LAT CPUs. | |
#define | ITC_L_APPS ( 30 ) |
Number of application level tasks. | |
#define | ITC_L_SVCS ( 2 ) |
Number of service level tasks. | |
#define | ITC_L_TASKS ( ITC_L_APPS + ITC_L_SVCS ) |
Total number of tasks (including "anonymous", excluding "lites"). | |
#define | ITC_L_LITES ( 3 ) |
Total number of lieghtweight tasks. | |
#define | ITC_SID_NONE ( 32 ) |
Provided for backward compatibility only. | |
#define | ITC_L_QUEUES (8) |
Maximum number of queues supported per task. | |
#define | ITC_L_PROTS (4) |
Maximum number of protocols supported. | |
#define | ITC_L_LEVELS (3) |
Maximum number of response levels. | |
#define | ITC_L_CLASSES (2) |
Maximum number of command classes. | |
#define | ITC_L_ACTIONS (2) |
Maximum number of actions a task can perform on a command. | |
Typedefs | |
typedef _ITC_QueueItem | ITC_QueueItem |
Typedef/forward reference for struct _ITC_QueueItem. | |
typedef _ITC_PacketHdr | ITC_PacketHdr |
Typedef/forward reference for struct _ITC_PacketHdr. | |
typedef _ITC_Task | ITC_Task |
Typedef/forward reference for struct _ITC_Task. | |
typedef _ITC_Queue | ITC_Queue |
Typedef/forward reference for struct _ITC_Queue. | |
typedef enum _ITC_NodeID | ITC_NodeID |
Typedef for enum _ITC_NodeID. | |
typedef enum _ITC_TaskID | ITC_TaskID |
Typedef for enum _ITC_TaskID. | |
typedef enum _ITC_QueueID | ITC_QueueID |
Typedef for enum _ITC_QueueID. | |
typedef enum _ITC_ProtID | ITC_ProtID |
Typedef for enum _ITC_ProtID. | |
typedef enum _ITC_CmdLevel | ITC_CmdLevel |
Typedef for enum _ITC_CmdLevel. | |
typedef enum _ITC_CmdClass | ITC_CmdClass |
Typedef for enum _ITC_CmdClass. | |
typedef enum _ITC_CmdAction | ITC_CmdAction |
Typedef for enum _ITC_CmdAction. | |
typedef unsigned int | ITC_cb_StartTask (void *prm) |
Signature for an ITC task startup routine. | |
typedef unsigned int | ITC_cb_Processor (void *prm, const struct _ITC_QueueItem *qitem, void *pay, unsigned int len) |
Signature for an ITC packet processing routine. | |
typedef void | ITC_cb_Free (void *prm, struct _ITC_QueueItem *qitem) |
Signature for an ITC memory freeing routine. | |
typedef _ITC_Map | ITC_Map |
Typedef for struct _ITC_Map. | |
typedef _ITC_PoolDsc | ITC_PoolDsc |
Typedef for struct _ITC_PoolDsc. | |
typedef _ITC_CommandItem | ITC_CommandItem |
Typedef for struct _ITC_CommandItem. | |
typedef _ITC_CommandList | ITC_CommandList |
Typedef for struct _ITC_CommandList. | |
typedef _ITC_ApidDef | ITC_ApidDef |
Typedef for struct _ITC_ApidDef. | |
Enumerations | |
enum | _ITC_NodeID { ITC_NID_UNKNOWN = -1, ITC_NID_SIU = 0, ITC_NID_EPU0 = 1, ITC_NID_EPU1 = 2, ITC_NID_EPU2 = 3, ITC_NID_EPU3 = 4, ITC_NID_SDI = 5, ITC_NID_SC = 6, ITC_NID_BCST = 7 } |
Enumeration of communications nodes. More... | |
enum | _ITC_TaskID { ITC_TID_UNKNOWN = -1, ITC_TID_ANON = 0, ITC_TID_LCM = 1, ITC_TID_LFS_M = 2, ITC_TID_LFS_S = 3, ITC_TID_LHK_M = 4, ITC_TID_LHK_S = 5, ITC_TID_LIM_M = 6, ITC_TID_LIM_S = 7, ITC_TID_LSM_M = 8, ITC_TID_LSM_S = 9, ITC_TID_LSW_M = 10, ITC_TID_LSW_S = 11, ITC_TID_LCI_M = 12, ITC_TID_LCI_S = 13, ITC_TID_ICT = 20, ITC_SID_LCS = 30, ITC_SID_CTS = 31, ITC_LID_LCX = 32, ITC_LID_CTX = 33, ITC_LID_MSG = 34 } |
Enumeration of task identifiers. More... | |
enum | _ITC_QueueID { ITC_QID_UNKNOWN = -1, ITC_QID_META = 0, ITC_QID_SYNC = 1, ITC_QID_CMD_X = 2, ITC_QID_CMD = 3, ITC_QID_CTL_X = 4, ITC_QID_CTL = 5, ITC_QID_BULK_X = 6, ITC_QID_BULK = 7 } |
Enumeration of queue identifiers. More... | |
enum | _ITC_ProtID { ITC_PRT_UNKNOWN = -1, ITC_PRT_LID = 0, ITC_PRT_RAW = 1, ITC_PRT_CMD = 2, ITC_PRT_APID = 3 } |
Enumeration of protocols. More... | |
enum | _ITC_CmdLevel { ITC_LVL_UNKNOWN = -1, ITC_LVL_ALL = 0, ITC_LVL_ERROR = 1, ITC_LVL_NONE = 2 } |
Enumeration of states for spacecraft command acknowledgement. More... | |
enum | _ITC_CmdClass { ITC_CMD_NORMAL = 0, ITC_CMD_BROADCAST = 1 } |
Enumeration of spacecraft command classes. More... | |
enum | _ITC_CmdAction { ITC_ACT_EXECUTE = 0, ITC_ACT_FORWARD = 1 } |
Enumeration of task action types (in response to spacecraft command). More... | |
Functions | |
unsigned int | ITC_addQueue (struct _ITC_Task *task, ITC_QueueID qid) |
Add a queue to a task. | |
const struct _ITC_QueueItem * | ITC_allocW (unsigned int len, ITC_NodeID nid, ITC_TaskID tid, ITC_QueueID qid, ITC_ProtID pid, const TOC *toc) |
Allocate a queue item descriptor and a send buffer. | |
unsigned int | ITC_attachApid (struct _ITC_Task *task, ITC_QueueID qid, const ITC_ApidDef *def, void *prm) |
Attach an APID definition to a queue. | |
unsigned int | ITC_attachCmd (struct _ITC_Task *task, ITC_QueueID qid, const ITC_CommandList *lst, void *prm) |
Attach a command list to a queue (only one per queue). | |
unsigned int | ITC_attachRaw (struct _ITC_Task *task, ITC_QueueID qid, ITC_cb_Processor *rtn, void *prm) |
Attach a raw processor to a queue (only one per queue). | |
unsigned int | ITC_copyCounts (void *dst, ITC_TaskID tid) |
Copy a command counts block to the provided destination. | |
unsigned int | ITC_createService (struct _ITC_Task **task, ITC_TaskID tid, ITC_cb_Processor *rtn) |
Create a service task. | |
unsigned int | ITC_createTask (struct _ITC_Task **task, ITC_TaskID tid) |
Create a task level container for queues. | |
unsigned int | ITC_createTaskLite (struct _ITC_Task **task, ITC_TaskID tid) |
Create a lightweight ITC task. | |
unsigned int | ITC_convertTaskLite (struct _ITC_Task *task) |
Convert a task to a lightweight ITC task. | |
unsigned int | ITC_deleteTask (struct _ITC_Task *task) |
Delete a task container. | |
unsigned int | ITC_detachApid (const ITC_ApidDef *def) |
Detach an APID definition from a queue. | |
unsigned int | ITC_detachCmd (struct _ITC_Task *task, ITC_QueueID qid) |
Detach a command list from a queue. | |
unsigned int | ITC_detachRaw (struct _ITC_Task *task, ITC_QueueID qid) |
Detach a raw processor from a queue. | |
unsigned int | ITC_dispatchCTDB (void *prm, unsigned char *pkt) |
Driver level packet dispatch (used in CTDB driver). | |
void | ITC_freeQueueItem (const struct _ITC_QueueItem *qitem) |
Free a queue item and it's associated packet. | |
ITC_NodeID | ITC_getNodeID (void) |
Initialize the ITC control block. | |
ITC_NodeID | ITC_getPacketDstNodeID (const struct _ITC_QueueItem *qitem) |
Return destination node ID for given queue item. | |
ITC_QueueID | ITC_getPacketDstQueueID (const struct _ITC_QueueItem *qitem) |
Return destination queue ID for given queue item. | |
ITC_TaskID | ITC_getPacketDstTaskID (const struct _ITC_QueueItem *qitem) |
Return destination task ID for given queue item. | |
void * | ITC_getPacketPay (const struct _ITC_QueueItem *qitem) |
Return pointer to packet payload for queue item. | |
ITC_ProtID | ITC_getPacketProtocol (const struct _ITC_QueueItem *qitem) |
Return ITC protocol for given queue item. | |
ITC_NodeID | ITC_getPacketSrcNodeID (const struct _ITC_QueueItem *qitem) |
Return source node ID for given queue item. | |
ITC_TaskID | ITC_getPacketSrcTaskID (const struct _ITC_QueueItem *qitem) |
Return source task ID for given queue item. | |
ITC_QueueID | ITC_getQueueID (struct _ITC_Queue *queue) |
Return queue ID for given queue. | |
_ITC_Task * | ITC_getTaskHandle (ITC_TaskID tid) |
Return the task handle for a given task ID. | |
ITC_TaskID | ITC_getTaskID (void) |
Return the ITC task ID of the calling task (if it's an ITC task). | |
unsigned int | ITC_initialize (ITC_NodeID nid, ITC_Map *map, unsigned int recvCnt, ITC_PoolDsc *recvDsc, unsigned int sendCnt, ITC_PoolDsc *sendDsc) |
Initialize the ITC control block. | |
unsigned int | ITC_removeQueue (struct _ITC_Task *task, ITC_QueueID qid) |
Remove a queue from a task. | |
unsigned int | ITC_send (const struct _ITC_QueueItem *qitem) |
Send a queue item to a destination. | |
unsigned int | ITC_setCmdConfirm (ITC_TaskID tid, ITC_CmdClass scb, ITC_CmdAction fwd, ITC_CmdLevel new, ITC_CmdLevel *old) |
Set the command confirmation level for a task. | |
unsigned int | ITC_sizeofCounts (void) |
Return size of a command counting structure. | |
unsigned int | ITC_startTask (struct _ITC_Task *task, const TASK_attr *attr, ITC_cb_StartTask *rtn, void *prm) |
Fork a task with the queues described in the task handle. | |
unsigned int | ITC_stopTask (struct _ITC_Task *task) |
Stop an ITC task. | |
unsigned int | ITC_shutdown (void) |
Shut down the ITC system. |
CVS $Id: ITC_pubdefs.h,v 1.7 2004/12/14 01:22:56 apw Exp $
|
Enumeration of task action types (in response to spacecraft command).
|
|
Enumeration of spacecraft command classes.
|
|
Enumeration of states for spacecraft command acknowledgement.
|
|
Enumeration of communications nodes.
|
|
Enumeration of protocols.
|
|
|
Enumeration of task identifiers.
|
|
Add a queue to a task.
|
Here is the call graph for this function:
|
Allocate a queue item descriptor and a send buffer.
|
Here is the call graph for this function:
|
Attach an APID definition to a queue.
|
Here is the call graph for this function:
|
Attach a command list to a queue (only one per queue).
|
|
Attach a raw processor to a queue (only one per queue).
|
|
Convert a task to a lightweight ITC task.
|
|
Copy a command counts block to the provided destination.
|
|
Create a service task.
|
Here is the call graph for this function:
|
Create a task level container for queues.
|
Here is the call graph for this function:
|
Create a lightweight ITC task.
|
|
Delete a task container.
|
Here is the call graph for this function:
|
Detach an APID definition from a queue.
|
Here is the call graph for this function:
|
Detach a command list from a queue.
|
|
Detach a raw processor from a queue.
|
|
Driver level packet dispatch (used in CTDB driver).
|
Here is the call graph for this function:
|
Free a queue item and it's associated packet.
|
|
Initialize the ITC control block.
|
|
Return destination node ID for given queue item.
|
|
Return destination queue ID for given queue item.
|
|
Return destination task ID for given queue item.
|
|
Return pointer to packet payload for queue item.
|
|
Return ITC protocol for given queue item.
|
|
Return source node ID for given queue item.
|
|
Return source task ID for given queue item.
|
|
Return queue ID for given queue.
|
|
Return the task handle for a given task ID.
|
|
Return the ITC task ID of the calling task (if it's an ITC task).
|
|
Initialize the ITC control block.
|
Here is the call graph for this function:
|
Remove a queue from a task.
|
Here is the call graph for this function:
|
Send a queue item to a destination.
|
Here is the call graph for this function:
|
Set the command confirmation level for a task.
scb ). The second element of the matrix is whether the task is acting as a forwarding agent (parameter fwd ). Thus the call ITC_setCmdReponse( tid, ITC_CMD_NORMAL, ITC_ACT_FORWARD, ITC_LVL_ERROR, &old ); would mean "for task <tid>, set the command confirmation level to ITC_LVL_ERROR when forwarding non-broadcast spacecraft commands". |
|
Shut down the ITC system.
|
|
Return size of a command counting structure.
|
|
Fork a task with the queues described in the task handle.
|
Here is the call graph for this function:
|
Stop an ITC task.
|