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

Constituent: itc     Tag: rad750


Interface   Data Structures   File List   Data Fields   Globals  

ITC_send.c File Reference

Packet sending routines for ITC. More...

#include "MSG/MSG_pubdefs.h"
#include "ITC/ITC_drvdefs.h"
#include "ITC/ITC_msgs.h"
#include "ITC_prvdefs.h"

Include dependency graph for ITC_send.c:

Include dependency graph

Functions

unsigned int validSend (ITC_NodeID dnid, ITC_TaskID dtid, ITC_QueueID dqid, ITC_DispID did, ITC_ProtID pid)
 Check the send arguments for validity.

unsigned int ITC_bind (ITC_QueueItem *qitem, void *qipay, unsigned int qilen, ITC_NodeID dnid, ITC_TaskID dtid, ITC_QueueID dqid, ITC_DispID did, ITC_ProtID pid, ITC_cb_Completion *rtn, void *prm0, void *prm1, void *prm2)
 Bind a queue item descriptor.

void ITC_complete (const ITC_QueueItem *qitem, unsigned int status)
 Call back the user provided completion routine (often a free).

unsigned int ITC_forward (const ITC_QueueItem *qitem, ITC_NodeID dnid, ITC_TaskID dtid, ITC_QueueID dqid, ITC_DispID did, ITC_ProtID pid)
 Forward a queue item to another destination.

unsigned int ITC_send (ITC_QueueItem *qitem)
 Send a queue item to a destination queue.

unsigned int ITC_sizeofQueueItem ()
 return the size of a queue item header (bytes)


Detailed Description

Packet sending routines for ITC.

CVS $Id: ITC_send.c,v 1.12 2005/05/03 20:14:22 apw Exp $
Author:
A.P.Waite

Function Documentation

unsigned int ITC_bind ITC_QueueItem qitem,
void *  qipay,
unsigned int  qilen,
ITC_NodeID  dnid,
ITC_TaskID  dtid,
ITC_QueueID  dqid,
ITC_DispID  did,
ITC_ProtID  pid,
ITC_cb_Completion rtn,
void *  prm0,
void *  prm1,
void *  prm2
 

Bind a queue item descriptor.

Parameters:
qitem (in) Queue item descriptor
qipay (in) Location of buffer to be queued
qilen (in) Length of buffer to be queued (bytes)
dnid (in) Destination node ID
dtid (in) Destination task ID
dqid (in) Destination queue ID
did (in) Dispatch protocol ID
pid (in) Hardware protocol ID
rtn (in) Completion routine
prm0 (in) Completion routine user parameter 0
prm1 (in) Completion routine user parameter 1
prm2 (in) Completion routine user parameter 2
Return values:
ITC_SUCCESS Success
ITC_VARNULL NULL variable (pointer) detected
ITC_VARRNG Out of range variable detected
ITC_bind() binds a queue item descriptor (connects together all the elements of a message: the location of the message, the destination of the message and the disposal method of the message).

Here is the call graph for this function:

void ITC_complete const ITC_QueueItem qitem,
unsigned int  status
 

Call back the user provided completion routine (often a free).

Parameters:
qitem (in) Queue item
status (in) Completion status

unsigned int ITC_forward const ITC_QueueItem qitem,
ITC_NodeID  dnid,
ITC_TaskID  dtid,
ITC_QueueID  dqid,
ITC_DispID  did,
ITC_ProtID  pid
 

Forward a queue item to another destination.

Parameters:
qitem (in) Queue item descriptor
dnid (in) Destination node ID
dtid (in) Destination task ID
dqid (in) Destination queue ID
did (in) Dispatch protocol ID
pid (in) Hardware protocol ID
Return values:
ITC_SENDNID Destination node not reachable
ITC_SENDPRX Proxy task for destination node not started
ITC_SENDQID Destination queue not available
ITC_SENDTID Destination task not started
ITC_SUCCESS Success
ITC_VARNULL NULL variable (pointer) detected
ITC_VARRNG Out of range variable detected
ITC_forward() sends an existing, fully described queue item to another destination. If successful, it returns the code ITC_FORWARD (level "success"). If this queue item is being forwarded from within the standard task level dispatch, this code should be returned from the dispatch callback so that the dispatcher doesn't free the queue item.

Here is the call graph for this function:

unsigned int ITC_send ITC_QueueItem qitem  ) 
 

Send a queue item to a destination queue.

Parameters:
qitem (in) Queue item descriptor
Return values:
ITC_SENDNID Destination node not reachable
ITC_SENDPRX Proxy task for destination node not started
ITC_SENDQID Destination queue not available
ITC_SENDTID Destination task not started
ITC_SUCCESS Success
ITC_VARNULL NULL variable (pointer) detected
ITC_sendQueueItem() sends a packet to a destination. The queue item must be fully composed and is assumed to have integrity. This routine should never be made part of the public interface.

unsigned int ITC_sizeofQueueItem void   ) 
 

return the size of a queue item header (bytes)

ITC_sizeofQueueItem()returns the size of a queue item header (in bytes).

unsigned int validSend ITC_NodeID  dnid,
ITC_TaskID  dtid,
ITC_QueueID  dqid,
ITC_DispID  did,
ITC_ProtID  pid
[inline, static]
 

Check the send arguments for validity.

Parameters:
dnid (in) Destination node ID
dtid (in) Destination task ID
dqid (in) Destination queue ID
did (in) Dispatch protocol ID
pid (in) Hardware protocol ID
Return values:
ITC_SUCCESS Success
ITC_VARRNG Variable out of range


Generated on Wed May 11 00:09:03 2005 by doxygen 1.3.3