GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCS / dev > lcs_test / mv2304
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <PBS/PBS.h>
#include <PBS/FORK.h>
#include <PBS/FPA.h>
#include <ITC/ITC_drvdefs.h>
#include <LCS/LCS_msgs.h>
#include <LCS_prvtest.h>
Functions | |
static WUT_cb_status | expireTimer (void *prm, WUT_tmr *wut) |
Timer callback routine to queue a message back to a fork. | |
static FORK_cb_status | forkFragmentPre (FORK_cb_prm *prm, FORK_msg_hdr *msg) |
Send off a precursor message to "upset" the far side. | |
static FORK_cb_status | forkFragmentFrg (FORK_cb_prm *prm, FORK_msg_hdr *msg) |
Send off the small message. | |
static void | freeFragment (ITC_QueueItem *qitem, unsigned int status, void *prm0, void *prm1, void *prm2) |
Free allocated buffer. | |
unsigned int | LCS_fragment (ITC_NodeID dnid, ITC_TaskID dtid, ITC_QueueID dqid, ITC_ProtID pid, ITC_TaskID stid) |
Main routine for LCS message (hardware) fragmentation test. |
CVS $Id: LCS_fragment.c,v 1.2 2011/03/28 22:49:56 apw Exp $
static WUT_cb_status expireTimer | ( | void * | prm, | |
WUT_tmr * | wut | |||
) | [static] |
Timer callback routine to queue a message back to a fork.
prm | (in) User context parameter | |
wut | (in) Timer handle |
References _LCS_Cmd::fqi, and _LCS_Cmd::rtn.
static FORK_cb_status forkFragmentFrg | ( | FORK_cb_prm * | prm, | |
FORK_msg_hdr * | msg | |||
) | [static] |
Send off the small message.
forkFragmentFrg() sends off the victim message.
References _LCS_CmdParam::beg, _LCS_CmdParam::end, _LCS_TestControl::fpm, freeFragment(), LCS_sendMessage(), LCS_tcb, _LCS_Cmd::msg, _LCS_CmdParam::nid, _LCS_CmdParam::pgs, _LCS_CmdParam::pid, _LCS_Cmd::prm, _LCS_CmdParam::qid, _LCS_Cmd::tbeg, and _LCS_CmdParam::tid.
Referenced by LCS_fragment().
static FORK_cb_status forkFragmentPre | ( | FORK_cb_prm * | prm, | |
FORK_msg_hdr * | msg | |||
) | [static] |
Send off a precursor message to "upset" the far side.
forkFragmentPre() sends off a precursor message to the far side instructing it to start introducing fragmantation.
References _LCS_CmdParam::beg, _LCS_CmdParam::end, expireTimer(), _LCS_TestControl::fpm, freeFragment(), LCS_sendMessage(), LCS_tcb, _LCS_Cmd::msg, _LCS_CmdParam::nid, _LCS_CmdParam::pgs, _LCS_CmdParam::pid, _LCS_Cmd::prm, _LCS_CmdParam::qid, _LCS_Cmd::tbeg, _LCS_CmdParam::tid, and _LCS_Cmd::use.
Referenced by LCS_fragment().
static void freeFragment | ( | ITC_QueueItem * | qitem, | |
unsigned int | status, | |||
void * | prm0, | |||
void * | prm1, | |||
void * | prm2 | |||
) | [static] |
Free allocated buffer.
qitem | (in) Queue item (unused) | |
status | (in) Processing completion code (unused) | |
prm0 | (in) User parameter 0 (unused) | |
prm1 | (in) User parameter 1 (unused) | |
prm2 | (in) User parameter 2 (unused) |
References _LCS_CmdParam::beg, cmd, _LCS_CmdParam::end, _LCS_TestControl::fpc, LCS_tcb, _LCS_CmdParam::pgs, _LCS_Cmd::prm, _LCS_CmdParam::qid, _LCS_Cmd::tbeg, and _LCS_Cmd::tend.
Referenced by forkFragmentFrg(), and forkFragmentPre().
unsigned int LCS_fragment | ( | ITC_NodeID | dnid, | |
ITC_TaskID | dtid, | |||
ITC_QueueID | dqid, | |||
ITC_ProtID | pid, | |||
ITC_TaskID | stid | |||
) |
Main routine for LCS message (hardware) fragmentation test.
dnid | (in) Destination ITC node ID | |
dtid | (in) Destination ITC task ID | |
dqid | (in) Destination ITC queue ID | |
pid | (in) Message protocol | |
stid | (in) Source ITC task ID |
References _LCS_CmdParam::beg, _LCS_TestControl::cid, _LCS_Cmd::cid, _LCS_Cmd::dmg, _LCS_Cmd::drp, _LCS_CmdParam::end, forkFragmentFrg(), forkFragmentPre(), _LCS_TestControl::fpc, _LCS_TestControl::fpm, _LCS_Cmd::fqi, LCS_tcb, _LCS_Cmd::msg, _LCS_CmdParam::nid, _LCS_Cmd::out, _LCS_Cmd::ovr, _LCS_CmdParam::pgs, _LCS_CmdParam::pid, _LCS_Cmd::prm, _LCS_CmdParam::qid, _LCS_Cmd::rtn, _LCS_CmdParam::tid, and _LCS_Cmd::use.