GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > ITC / V3-1-1

Constituent: itc     Tag: mv2304


Interface   Data Structures   File List   Data Fields   Globals  

ITC_control.c File Reference

Control routines for ITC. More...

#include <string.h>
#include "PBS/FFS.ih"
#include "PBS/FPA.h"
#include "PBS/MBA.h"
#include "PBS/MTX.h"
#include "PBS/RW.ih"
#include "MSG/MSG_pubdefs.h"
#include "ITC/ITC_msgs.h"
#include "ITC_prvdefs.h"

Include dependency graph for ITC_control.c:

Include dependency graph

Functions

unsigned int ITC_initialize (ITC_NodeID nid)
 Initialize the ITC control block.

unsigned int ITC_insertMap (unsigned int nim, ITC_TaskID tid)
 Insert entries into the ITC node map.

unsigned int ITC_removeMap (unsigned int nim)
 Remove entries from the ITC node map.

unsigned int ITC_shutdown ()
 Shut down the ITC system.


Variables

ITC_ControlITC_icb
 Control block for the inter-task communications system.

ITC_TaskITC_tpl [ITC_L_TASKS]
 Application/service/lightweight task pointer list.

ITC_QueueITC_qpl [ITC_L_TASKS][ITC_L_QUEUES]
 Queue pointer list.

ITC_ApidITC_apl [ITC_L_APIDS]
 APID pointer list.

const char * ITC_ctl_states [ITC_L_CTL_STATES]
 String constants for ITC control block states.


Detailed Description

Control routines for ITC.

CVS $Id: ITC_control.c,v 1.7 2005/04/12 00:11:18 apw Exp $
Author:
A.P.Waite
ITC_control.c provides all the basic control routines for ITC.

Function Documentation

unsigned int ITC_initialize ITC_NodeID  nid  ) 
 

Initialize the ITC control block.

Parameters:
nid Node ID of this node
Return values:
ITC_ALOCFAIL Memory allocation failure
ITC_CTLSTAT ITC control block not in state uninitialized
ITC_MUALOCFL Cannot allocate a mutex
ITC_SELFNID Bad node ID for this node
ITC_SUCCESS Success
ITC_initialize() initialized the ITC system.

unsigned int ITC_insertMap unsigned int  nim,
ITC_TaskID  tid
 

Insert entries into the ITC node map.

Parameters:
nim (in) Mask of nodes to be mapped to the given task ID
tid (in) Task ID that will serve as proxy for the listed nodes
Return values:
ITC_CTLSTAT ITC control block not in state initialized
ITC_NOTINIT ITC system not initialized
ITC_SUCCESS Success
ITC_inseretMap() puts proxy node/task entries into the ITC node map.

unsigned int ITC_removeMap unsigned int  nim  ) 
 

Remove entries from the ITC node map.

Parameters:
nim (in) Mask of nodes to be mapped
Return values:
ITC_CTLSTAT ITC control block not in state initialized
ITC_NOTINIT ITC system not initialized
ITC_SUCCESS Success
ITC_removeMap() removes proxy node/task entries from the ITC node map.

unsigned int ITC_shutdown void   ) 
 

Shut down the ITC system.

Return values:
ITC_CTLACTIV ITC control block still managing >0 tasks
ITC_CTLSTAT ITC control block not in state initialized
ITC_NOTINIT ITC system not initialized
ITC_SUCCESS Success
ITC_shutdown() shuts down the ITC system.


Variable Documentation

ITC_Apid* ITC_apl[ITC_L_APIDS]
 

APID pointer list.

A mapping table to go from APID/function code to task/queue/callback. This is global, so care must be taken when writing elements of this table that the code is properly protected.

const char* ITC_ctl_states[ITC_L_CTL_STATES]
 

Initial value:

{
    "uninitialized",
    "initialized"
}
String constants for ITC control block states.

ITC_Control* ITC_icb
 

Control block for the inter-task communications system.

Control block for the inter-task communications system. This is global, so care must be taken when writing elements of this block that the code is properly protected.

ITC_Queue* ITC_qpl[ITC_L_TASKS][ITC_L_QUEUES]
 

Queue pointer list.

Per queue control block for the inter-task communications system. These are global, so care must be taken when writing elements of these blocks that the code is properly protected.

ITC_Task* ITC_tpl[ITC_L_TASKS]
 

Application/service/lightweight task pointer list.

Per task control block for the inter-task communications system. These are global, so care must be taken when writing elements of these blocks that the code is properly protected.


Generated on Wed May 11 00:04:00 2005 by doxygen 1.3.3