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

Constituent: itc     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

ITC_control.c File Reference

Control routines for ITC. More...

#include <string.h>
#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

ITC_NodeID ITC_getNodeID ()
 Initialize the ITC control block.

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_shutdown ()
 Shut down the ITC system.


Variables

ITC_ControlITC_icb
 Control block for the inter-task communications system.

ITC_TaskITC_tpl [ITC_L_TASKS+ITC_L_LITES]
 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.


Detailed Description

Control routines for ITC.

CVS $Id: ITC_control.c,v 1.3 2004/11/24 01:52:46 apw Exp $
Author:
A.P.Waite
ITC_control.c provides all the basic control routines for ITC.

Function Documentation

ITC_NodeID ITC_getNodeID void   ) 
 

Initialize the ITC control block.

Return values:
ITC_NID_UNKNOWN Node ID not known (not yet initialized)
ITC_NID_SIU Node SIU
ITC_NID_EPU0 Node EPU 0
ITC_NID_EPU1 Node EPU 1
ITC_NID_EPU2 Node EPU 2
ITC_NID_EPU3 Node EPU 3 (or SIU-EXT if you prefer)
ITC_getNodeID() returns the node ID for the calling node.

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.

Parameters:
nid Node ID of this node
map Node specific "network map"
recvCnt Receive memory pool descriptor count
recvDsc Receive memory pool descriptors
sendCnt Send memory pool descriptor count
sendDsc Send memory pool descriptors
Return values:
ITC_ALOCFAIL Memory allocation failure
ITC_DBLINIT Cannot double initialize
ITC_MAPNID Bad node ID in node map
ITC_MAPSID Bad service task ID in node map
ITC_MUALOCFL Cannot allocate a mutex
ITC_SELFNID Bad node ID for this node
ITC_SUCCESS Success
ITC_initialize() does all one-time ITC initialization.

Here is the call graph for this function:

unsigned int ITC_shutdown void   ) 
 

Shut down the ITC system.

Warning:
This routine is currently a no-op
Return values:
ITC_SUCCESS Success


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.

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 + ITC_L_LITES]
 

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 Thu Mar 3 20:43:02 2005 by doxygen 1.3.3