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


Interface   Data Structures   File List   Data Fields   Globals  

LTX_service.c File Reference

LTX processing routines shared by all protocols. More...

#include <string.h>
#include <PBI/PTR.h>
#include <PBS/FORK.h>
#include <PBS/WCT.h>
#include <MSG/MSG_pubdefs.h>
#include <ITC/ITC_drvdefs.h>
#include <ITC/ITC_pubdefs.h>
#include <ITC/ITC_msgs.h>
#include <LCBD/LCBC.h>
#include <LCBD/LCBD_drv.h>
#include <LCS/LCS_msgs.h>
#include <LCS_prvdefs.h>

Functions

static FORK_cb_status LTX_resultList (FORK_cb_prm *prm, FORK_msg_hdr *msg)
 Process a result list posted back by the LCB.
unsigned int LTX_sendFirst (LTX_Engine *txe)
 LTX service task send first packet.
FORK_cb_status LTX_sendNext (LTX_Engine *txe, unsigned int status)
 Field the result item resulting from an event message send.
unsigned int LTX_service (void *prm, const ITC_QueueItem *qitem, void *qipay, unsigned int qilen)
 LTX service task queue item callback routine.
unsigned int LTX_submit (LTX_Engine *txe, LCBD_cl_event *cl, unsigned int cel)
 Construct an LTX packet (all kinds) and submit to the LCB.


Detailed Description

LTX processing routines shared by all protocols.

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

Function Documentation

static FORK_cb_status LTX_resultList ( FORK_cb_prm *  prm,
FORK_msg_hdr *  msg 
) [static]

Process a result list posted back by the LCB.

Parameters:
prm (in) User context parameter
msg (in) Fork message
Return values:
FORK_C_CONTINUE Continue fork
~FORK_C_CONTINUE Shut down fork
LTX_resultList() processes LCB result lists posted back to LTX. Processing involves synchronizing multiple messages if so requested (only allocation requests and last packet sends currently request synchronization) then executing the next processing step defined in the synchronization mechanism.

References _LTX_Sync::key, LCS_L_DATEASCII, LCS_lcb, LCS_wct2ascii(), _LTX_Engine::ltx, LTX_reset(), LTX_startTimer(), LTX_sync(), _LTX_Service::mto, _LTX_Sync::next, _LCS_Control::nto, _LCS_Control::rwi, _LTX_Engine::snc, and _LCS_Control::tto.

Referenced by LTX_submit().

unsigned int LTX_sendFirst ( LTX_Engine txe  ) 

FORK_cb_status LTX_sendNext ( LTX_Engine txe,
unsigned int  status 
)

Field the result item resulting from an event message send.

Parameters:
txe (in) Transmit engine
status (in) Status from previous packet
Return values:
FORK_C_CONTINUE Continue fork
~FORK_C_CONTINUE Shut down fork

References _LTX_Engine::adp, _LTX_Engine::beg, _LTX_Engine::cl, _LTX_Engine::clloc, _LTX_Engine::clnxt, _LTX_Engine::clsav, _LTX_Engine::end, _LTX_Engine::fit, _LTX_Engine::hdr, _LTX_Adapter::header, LCS_K_CL_HDR, _LTX_Engine::ltx, LTX_reset(), LTX_submit(), _LTX_Service::max, _LTX_Engine::qilen, _LTX_Engine::qipay, _LTX_Adapter::size, _LTX_Engine::stloc, and _LTX_Engine::stsav.

Referenced by LTX_sendSync().

unsigned int LTX_service ( void *  prm,
const ITC_QueueItem *  qitem,
void *  qipay,
unsigned int  qilen 
)

LTX service task queue item callback routine.

Parameters:
prm (in) User context parameter
qitem (in) Queue item
qipay (in) Queue item payload pointer
qilen (in) Queue item payload length
Return values:
x Assorted

References _LTX_Engine::adp, _LTX_Engine::iqm, LCS_getNodeAddress(), LCS_NIH_NONE, LTX_adapter, LTX_ADAPTER_CPU2, LTX_ADAPTER_CPU3, LTX_ADAPTER_SDI2, LTX_ENG_BUSY, LTX_ENG_READY, _LTX_Engine::pid, _LTX_Engine::pnid, _LTX_Engine::qilen, _LTX_Engine::qipay, _LTX_Engine::qitem, _LTX_Adapter::start, and _LTX_Engine::state.

Referenced by createService().

unsigned int LTX_submit ( LTX_Engine txe,
LCBD_cl_event *  cl,
unsigned int  cel 
)

Construct an LTX packet (all kinds) and submit to the LCB.

Parameters:
txe (in) LTX transmit engine
cl (in) LCB command list
cel (in) Cell count (complete message)
Return values:
LCS_LCBBIND LCB bind failed
LCS_LCBSUBMT LCB submit failed
LCS_SUCCESS Success

References _LTX_Service::fqi, _LTX_Sync::key, LCS_getNodeAddress(), _LTX_Engine::ltx, LTX_resultList(), _LTX_Engine::pid, _LTX_Engine::pnid, _LTX_Engine::rl, and _LTX_Engine::snc.

Referenced by LTX_sendFirst(), LTX_sendNext(), and LTX_startCPU3().


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