GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCS / dev > lcs / rhel5-32


Interface   Data Structures   File List   Data Fields   Globals  

LTX_adaptCPU.c File Reference

LTX protocol adapter for CPU to CPU communications. More...

#include <PBI/TBD_id.h>
#include <PBS/FFS.ih>
#include <PBS/FORK.h>
#include <PBS/TBD.ih>
#include <MSG/MSG_pubdefs.h>
#include <ITC/ITC_drvdefs.h>
#include <ITC/ITC_pubdefs.h>
#include <LCS/LCS_drvdefs.h>
#include <LCS/LCS_msgs.h>
#include <LCS_prvdefs.h>

Functions

static FORK_cb_status LTX_allocSync (LTX_Engine *txe)
 Allocation request synchronized, move to next step.
FORK_cb_status LTX_allocReply (FORK_cb_prm *prm, FORK_msg_hdr *msg)
 Process a reply to an allocation request.
unsigned int LTX_protocolCPU (LTX_Engine *txe, unsigned int siz)
 Form the protocol header for one packet of a CPU/CPU transaction.
FORK_cb_status LTX_sendReply (FORK_cb_prm *prm, FORK_msg_hdr *msg)
 Process a reply to the last packet of a message.
unsigned int LTX_startCPU2 (LTX_Engine *txe)
 Start a protocol 2 CPU to CPU transaction.
unsigned int LTX_startCPU3 (LTX_Engine *txe)
 Start a protocol 3 CPU to CPU transaction.


Detailed Description

LTX protocol adapter for CPU to CPU communications.

CVS $Id: LTX_adaptCPU.c,v 1.6 2011/03/28 22:49:57 apw Exp $
Author:
A.P.Waite

Function Documentation

FORK_cb_status LTX_allocReply ( FORK_cb_prm *  prm,
FORK_msg_hdr *  msg 
)

Process a reply to an allocation request.

Parameters:
prm (in) User context parameter (unused)
msg (in) Fork message
Return values:
FORK_C_CONTINUE Always
LTX_allocReply() is the fork routine to process a memory allocation response.

References _LCS_ProtocolCPU::dat, _LCS_Reply::hdr, LCS_PRT_M_KEY, LCS_PRT_M_SEID, LCS_PRT_M_SNID, LCS_PRT_V_KEY, LCS_PRT_V_SEID, LCS_PRT_V_SNID, _LCS_ProtocolCPU::lcsp, LTX_allocSync(), LTX_cancelTimer(), LTX_sync(), _LTX_Timing::qar, _LTX_Engine::tim, _LTX_Service::txe, and _LCS_Data::ui.

Referenced by LRX_replyDispatch().

static FORK_cb_status LTX_allocSync ( LTX_Engine txe  )  [static]

Allocation request synchronized, move to next step.

Parameters:
txe (in) Transmit engine handle
Return values:
FORK_C_CONTINUE Continue fork
~FORK_C_CONTINUE Shut down fork
LTX_allocSync() continues the processing once a memory allocation request has been synchronized.

References _LTX_Sync::dat, _LTX_Sync::have, LTX_reset(), LTX_sendFirst(), and _LTX_Engine::snc.

Referenced by LTX_allocReply(), and LTX_startCPU3().

unsigned int LTX_protocolCPU ( LTX_Engine txe,
unsigned int  siz 
)

FORK_cb_status LTX_sendReply ( FORK_cb_prm *  prm,
FORK_msg_hdr *  msg 
)

Process a reply to the last packet of a message.

Parameters:
prm (in) User context parameter (unused)
msg (in) Fork message
Return values:
FORK_C_CONTINUE Always
LTX_sendReply() is the fork routine to process a last packet response.

References _LCS_ProtocolCPU::dat, _LCS_Reply::hdr, LCS_PRT_M_KEY, LCS_PRT_M_SEID, LCS_PRT_M_SNID, LCS_PRT_V_KEY, LCS_PRT_V_SEID, LCS_PRT_V_SNID, _LCS_ProtocolCPU::lcsp, LTX_cancelTimer(), LTX_sync(), _LTX_Sync::next, _LTX_Timing::qsr, _LTX_Engine::snc, _LTX_Engine::tim, _LTX_Service::txe, and _LCS_Data::ui.

Referenced by LRX_replyDispatch().

unsigned int LTX_startCPU2 ( LTX_Engine txe  ) 

Start a protocol 2 CPU to CPU transaction.

Parameters:
txe (in) LTX transmit engine
Return values:
LCS_SUCCESS Success
LCS_TXNGNSIZ Protocol 2 message size exceeds maximum

References _LTX_Engine::adp, _LTX_Engine::fit, LCS_K_CL_HDR, LTX_sendFirst(), _LTX_Engine::qilen, and _LTX_Adapter::size.

unsigned int LTX_startCPU3 ( LTX_Engine txe  ) 


Generated on Mon Mar 28 15:54:27 2011 by  doxygen 1.5.8