GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> LCS / dev > lcs_test / mv2304


Interface   Data Structures   File List   Data Fields   Globals  

LCS_integrity.c File Reference

Test general message integrity. More...

#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>

Defines

#define LCS_O_BYTES   ( 236 )
 Byte offset into pages.

Functions

static FORK_cb_status exitIntegrity (FORK_cb_prm *prm, FORK_msg_hdr *msg)
 Exit routine for LCS protocol integrity test.
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 forkIntegrity (FORK_cb_prm *prm, FORK_msg_hdr *msg)
 Main routine for LCS protocol integrity tests.
unsigned int LCS_integrity (ITC_NodeID dnid, ITC_TaskID dtid, ITC_QueueID dqid, ITC_ProtID pid, ITC_TaskID stid)
 Main routine for LCS protocol integrity tests.


Detailed Description

Test general message integrity.

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

Function Documentation

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

Exit routine for LCS protocol integrity test.

exitIntegrity() performs exit processing (post-analysis and resource freeing) for the integrity test.

References cmd, _LCS_Cmd::dmg, _LCS_Cmd::drp, _LCS_TestControl::fpc, LCS_copyTxEngine(), LCS_dumpTxDTiming(), LCS_tcb, _LCS_Cmd::out, _LCS_Cmd::ovr, _LCS_CmdParam::pid, _LCS_Cmd::prm, _LCS_CmdParam::qid, _LCS_Cmd::tbeg, _LCS_Cmd::tend, _LCS_Cmd::txb, _LCS_Cmd::txe, and _LCS_Cmd::use.

Referenced by forkIntegrity().

static WUT_cb_status expireTimer ( void *  prm,
WUT_tmr *  wut 
) [static]

Timer callback routine to queue a message back to a fork.

Parameters:
prm (in) User context parameter
wut (in) Timer handle
expireTimer() is the routine called at interrupt level by the timeout timer. It simply places the test command back on the meta-hi queue.

References cmd, _LCS_Cmd::fqi, and _LCS_Cmd::rtn.

Referenced by forkFragmentPre(), forkIntegrity(), and forkPriorityMax().

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

Main routine for LCS protocol integrity tests.

forkIntegrity() tests general message integrity by scanning through a large variety of message lengths and message alignments.

References _LCS_CmdParam::beg, _LCS_Cmd::cid, cmd, _LCS_Cmd::drp, _LCS_CmdParam::end, exitIntegrity(), expireTimer(), _LCS_TestControl::fpm, _LCS_Cmd::fqi, LCS_freeBuffer(), LCS_O_BYTES, LCS_sendMessage(), LCS_tcb, _LCS_Cmd::msg, _LCS_CmdParam::nid, _LCS_CmdParam::pgs, _LCS_CmdParam::pid, _LCS_Cmd::prm, _LCS_CmdParam::qid, _LCS_CmdParam::tid, and _LCS_Cmd::tmr.

Referenced by LCS_integrity().

static unsigned int LCS_integrity ( ITC_NodeID  dnid,
ITC_TaskID  dtid,
ITC_QueueID  dqid,
ITC_ProtID  pid,
ITC_TaskID  stid 
)

Main routine for LCS protocol integrity tests.

Parameters:
dnid (in) Destination ITC node ID
dtid (in) Destination ITC task ID
dqid (in) Destination ITC queue ID
pid (in) Protocol ID
stid (in) Source ITC task ID
LCS_integrity() tests general message integrity by scanning through a large variety of message lengths and message alignments.

References _LCS_CmdParam::beg, _LCS_TestControl::cid, _LCS_Cmd::cid, cmd, _LCS_Cmd::dmg, _LCS_Cmd::drp, _LCS_CmdParam::end, forkIntegrity(), _LCS_TestControl::fpc, _LCS_Cmd::fqi, LCS_copyTxEngine(), LCS_O_BYTES, LCS_tcb, _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_Cmd::tbeg, _LCS_CmdParam::tid, _LCS_Cmd::txb, and _LCS_Cmd::use.


Generated on Mon Mar 28 15:57:44 2011 by  doxygen 1.5.8