GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCS / dev > lcs / rhel5-32
#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. |
CVS $Id: LTX_adaptCPU.c,v 1.6 2011/03/28 22:49:57 apw Exp $
FORK_cb_status LTX_allocReply | ( | FORK_cb_prm * | prm, | |
FORK_msg_hdr * | msg | |||
) |
Process a reply to an allocation request.
prm | (in) User context parameter (unused) | |
msg | (in) Fork message |
FORK_C_CONTINUE | Always |
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.
txe | (in) Transmit engine handle |
FORK_C_CONTINUE | Continue fork | |
~FORK_C_CONTINUE | Shut down fork |
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 | |||
) |
Form the protocol header for one packet of a CPU/CPU transaction.
txe | (in) LTX transmit engine | |
siz | (in) Size (bytes) of packet payload |
cel | The number of cells (16 byte objects) needed to send the message |
References _LTX_Engine::beg, _LTX_Engine::cnt, _LCS_Header::cpu, _LCS_ProtocolCPU::dat, _LTX_Engine::eid, _LTX_Engine::end, _LTX_Sync::have, _LTX_Engine::hdr, _LTX_Sync::key, LCS_OPCD_SEND, LCS_PRT_M_END, LCS_PRT_M_KEY, LCS_PRT_M_SNID, LCS_PRT_M_STID, LCS_PRT_M_TRID, LCS_PRT_V_KEY, LCS_PRT_V_OPCD, LCS_PRT_V_SEID, LCS_PRT_V_SNID, LCS_PRT_V_SQID, LCS_PRT_V_STID, LCS_PRT_V_TRID, _LCS_ProtocolCPU::lcsp, LTX_sendSync(), _LTX_Sync::next, _LTX_Engine::pid, _LTX_Engine::pnid, _LCS_HeaderCPU::prt, _LTX_Engine::qitem, _LTX_Engine::snc, _LCS_Data::ui, _LCS_Data::us, and _LTX_Sync::want.
FORK_cb_status LTX_sendReply | ( | FORK_cb_prm * | prm, | |
FORK_msg_hdr * | msg | |||
) |
Process a reply to the last packet of a message.
prm | (in) User context parameter (unused) | |
msg | (in) Fork message |
FORK_C_CONTINUE | Always |
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.
txe | (in) LTX transmit engine |
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 | ) |
Start a protocol 3 CPU to CPU transaction.
txe | (in) LTX transmit engine |
LCS_SUCCESS | Success |
References _LTX_Engine::cl, _LTX_Engine::clloc, _LTX_Engine::cnt, _LCS_ProtocolCPU::dat, _LTX_Engine::eid, _LTX_Sync::have, _LTX_Sync::key, LCS_K_CL_HDR, LCS_OPCD_ALLOC, LCS_PRT_M_END, LCS_PRT_M_KEY, LCS_PRT_M_SNID, LCS_PRT_M_STID, LCS_PRT_M_TRID, LCS_PRT_V_KEY, LCS_PRT_V_OPCD, LCS_PRT_V_SEID, LCS_PRT_V_SNID, LCS_PRT_V_SQID, LCS_PRT_V_STID, LCS_PRT_V_TRID, _LCS_ProtocolCPU::lcsp, LTX_allocSync(), LTX_submit(), _LTX_Sync::next, _LTX_Engine::pnid, _LTX_Engine::qilen, _LTX_Engine::qitem, _LTX_Engine::snc, _LCS_Data::ui, and _LTX_Sync::want.