\hypertarget{xfc_8c}{
\section{xfc.c File Reference}
\label{xfc_8c}\index{xfc.c@{xfc.c}}
}
Utility/driver program for filter test code.  


{\tt \#include $<$xfc.h$>$}\par
{\tt \#include $<$xfc\_\-sdi.h$>$}\par
{\tt \#include $<$xfc\_\-rto\_\-def.h$>$}\par
{\tt \#include $<$xfc\_\-print\_\-def.h$>$}\par
{\tt \#include $<$xfc\_\-ebf\_\-output.h$>$}\par
{\tt \#include $<$EFC\_\-DB/EFC\_\-DB\_\-schema.h$>$}\par
{\tt \#include $<$EFC/EFC\_\-display.h$>$}\par
{\tt \#include $<$EFC/EFS.h$>$}\par
{\tt \#include $<$EFC/EFA.h$>$}\par
{\tt \#include $<$EDS/io/EBF\_\-stream.h$>$}\par
{\tt \#include $<$EDS/io/LCBP.h$>$}\par
{\tt \#include $<$EDS/io/EBF\_\-evts.h$>$}\par
{\tt \#include $<$EDS/EDS\_\-fw.h$>$}\par
{\tt \#include $<$EDS/LCBV.h$>$}\par
{\tt \#include $<$EDS/TMR.h$>$}\par
{\tt \#include $<$EFC/EFC.h$>$}\par
{\tt \#include $<$EDS/EBF\_\-siv.h$>$}\par
{\tt \#include $<$EDS/EBF\_\-dir.h$>$}\par
{\tt \#include $<$EDS/EDSD\_\-print.h$>$}\par
{\tt \#include $<$EFC/EFC\_\-time.h$>$}\par
{\tt \#include $<$EFC/EFR\_\-key.h$>$}\par
{\tt \#include $<$LSE/CCSDS\_\-ostream.h$>$}\par
{\tt \#include $<$LSE/LSE\_\-time.h$>$}\par
{\tt \#include $<$LSF/LSF\_\-ids.h$>$}\par
{\tt \#include $<$LSEP/LSEPW.h$>$}\par
{\tt \#include $<$ITC/ITC\_\-pubdefs.h$>$}\par
{\tt \#include $<$IMM/FPM\_\-pubdefs.h$>$}\par
{\tt \#include $<$IMM/RBM\_\-pubdefs.h$>$}\par
{\tt \#include $<$MSG/MSG\_\-pubdefs.h$>$}\par
{\tt \#include $<$CMX/CMX\_\-lookupPub.h$>$}\par
{\tt \#include $<$CDM/CDM\_\-pubdefs.h$>$}\par
{\tt \#include $<$PBS/PBS.h$>$}\par
{\tt \#include $<$PBS/MBA.h$>$}\par
{\tt \#include $<$PBS/TASK.h$>$}\par
{\tt \#include $<$PBI/FFS.ih$>$}\par
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
\subsection*{Classes}
\begin{CompactItemize}
\item 
struct \hyperlink{struct__XfcStatsCtx}{\_\-XfcStatsCtx}
\begin{CompactList}\small\item\em The statistics context. \item\end{CompactList}\item 
struct \hyperlink{struct__XfcResultsCtx}{\_\-XfcResultsCtx}
\begin{CompactList}\small\item\em The filter results context. \item\end{CompactList}\item 
struct \hyperlink{struct__XfcPosterCtx}{\_\-XfcPosterCtx}
\begin{CompactList}\small\item\em The posting context. \item\end{CompactList}\item 
struct \hyperlink{struct__XfcEfcCtx}{\_\-XfcEfcCtx}
\begin{CompactList}\small\item\em Kludge structure to hold some of the context that gets hidden in the EFC interface. This should be replaced by query calls into EFC, but that requires a new EFC release, just not worth it at this time. \item\end{CompactList}\item 
struct \hyperlink{struct__XfcHandlerCtx}{\_\-XfcHandlerCtx}
\begin{CompactList}\small\item\em Description of a handler. \item\end{CompactList}\item 
struct \hyperlink{struct__XfcDisplayerCtx}{\_\-XfcDisplayerCtx}
\begin{CompactList}\small\item\em The displayer context. \item\end{CompactList}\item 
struct \hyperlink{struct__XfcCtx}{\_\-XfcCtx}
\begin{CompactList}\small\item\em Structure to bind all the filtering parameters together into something suitable for passing to the LCB event call back handler. \item\end{CompactList}\item 
struct \hyperlink{struct__XfcConstructCtx}{\_\-XfcConstructCtx}
\begin{CompactList}\small\item\em Special structure to fee context to the services constructor. \item\end{CompactList}\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\hypertarget{xfc_8c_ec8c0070eff8e6b29c3fe26689c160cc}{
\#define \textbf{CCSDS\_\-ostream\_\-d}(variable)~CCSDS\_\-ostream variable}
\label{xfc_8c_ec8c0070eff8e6b29c3fe26689c160cc}

\item 
\#define \hyperlink{xfc_8c_5dba91706697b20ef38e7ab2c85d6785}{RND8}(\_\-n)~(((\_\-n) + 7) \& $\sim$0x7)
\begin{CompactList}\small\item\em Rounds {\em \_\-n\/} to a value of 8. \item\end{CompactList}\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
\hypertarget{xfc_8c_10695acf25b336ca3113700282190446}{
typedef struct \hyperlink{struct__XfcStatsCtx}{\_\-XfcStatsCtx} \hyperlink{xfc_8c_10695acf25b336ca3113700282190446}{XfcStatsCtx}}
\label{xfc_8c_10695acf25b336ca3113700282190446}

\begin{CompactList}\small\item\em Typedef for struct \hyperlink{struct__XfcStatsCtx}{\_\-XfcStatsCtx}. \item\end{CompactList}\item 
\hypertarget{xfc_8c_2e0cee221ed8092c63518311cf4da448}{
typedef struct \hyperlink{struct__XfcResultsCtx}{\_\-XfcResultsCtx} \hyperlink{xfc_8c_2e0cee221ed8092c63518311cf4da448}{XfcResultsCtx}}
\label{xfc_8c_2e0cee221ed8092c63518311cf4da448}

\begin{CompactList}\small\item\em Typedef for struct \hyperlink{struct__XfcResultsCtx}{\_\-XfcResultsCtx}. \item\end{CompactList}\item 
\hypertarget{xfc_8c_99dc65e25e4d729bd8636ff5aa54f6ed}{
typedef struct \hyperlink{struct__XfcPosterCtx}{\_\-XfcPosterCtx} \hyperlink{xfc_8c_99dc65e25e4d729bd8636ff5aa54f6ed}{XfcPosterCtx}}
\label{xfc_8c_99dc65e25e4d729bd8636ff5aa54f6ed}

\begin{CompactList}\small\item\em Typedef for struct \hyperlink{struct__XfcPosterCtx}{\_\-XfcPosterCtx}. \item\end{CompactList}\item 
\hypertarget{xfc_8c_ff69261a2c53df09a0bde45f2b6d9864}{
typedef struct \hyperlink{struct__XfcEfcCtx}{\_\-XfcEfcCtx} \hyperlink{xfc_8c_ff69261a2c53df09a0bde45f2b6d9864}{XfcEfcCtx}}
\label{xfc_8c_ff69261a2c53df09a0bde45f2b6d9864}

\begin{CompactList}\small\item\em Typedef for stuct \hyperlink{struct__XfcEfcCtx}{\_\-XfcEfcCtx}. \item\end{CompactList}\item 
\hypertarget{xfc_8c_5b2da3b8b11c16bb58cb4e561323c79d}{
typedef struct \hyperlink{struct__XfcHandlerCtx}{\_\-XfcHandlerCtx} \hyperlink{xfc_8c_5b2da3b8b11c16bb58cb4e561323c79d}{XfcHandlerCtx}}
\label{xfc_8c_5b2da3b8b11c16bb58cb4e561323c79d}

\begin{CompactList}\small\item\em Typedef for struct \hyperlink{struct__XfcHandlerCtx}{\_\-XfcHandlerCtx}. \item\end{CompactList}\item 
\hypertarget{xfc_8c_783775b268c9ae767c9bbcaa99c94336}{
typedef struct \hyperlink{struct__XfcDisplayerCtx}{\_\-XfcDisplayerCtx} \hyperlink{xfc_8c_783775b268c9ae767c9bbcaa99c94336}{XfcDisplayerCtx}}
\label{xfc_8c_783775b268c9ae767c9bbcaa99c94336}

\begin{CompactList}\small\item\em Typedef for struct \_\-XfcDisplayCtx. \item\end{CompactList}\item 
\hypertarget{xfc_8c_241030b0bcaf8e61b89336e901f36d56}{
typedef struct \hyperlink{struct__XfcCtx}{\_\-XfcCtx} \hyperlink{xfc_8c_241030b0bcaf8e61b89336e901f36d56}{XfcCtx}}
\label{xfc_8c_241030b0bcaf8e61b89336e901f36d56}

\begin{CompactList}\small\item\em Typedef for struct \hyperlink{struct__XfcCtx}{\_\-XfcCtx}. \item\end{CompactList}\item 
\hypertarget{xfc_8c_d9a101a07bd87361c08cdcda26d67f5f}{
typedef struct \hyperlink{struct__XfcConstructCtx}{\_\-XfcConstructCtx} \hyperlink{xfc_8c_d9a101a07bd87361c08cdcda26d67f5f}{XfcConstructCtx}}
\label{xfc_8c_d9a101a07bd87361c08cdcda26d67f5f}

\begin{CompactList}\small\item\em Typedef for struct XfcConstructCtx. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
static void \hyperlink{xfc_8c_cf580d203107b46be45f3173a23768ae}{xfc\_\-run\_\-start} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx)
\begin{CompactList}\small\item\em Notifies the handlers and posters of the start run. \item\end{CompactList}\item 
static void \hyperlink{xfc_8c_dabe13b8bc945001b8a64708b4bdf82e}{xfc\_\-run\_\-stop} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx)
\begin{CompactList}\small\item\em Stops the run. \item\end{CompactList}\item 
static int \hyperlink{xfc_8c_32aa2e00ffbdcab60c879e764efde119}{createPoster} (\hyperlink{struct__XfcPosterCtx}{XfcPosterCtx} $\ast$poster, const char $\ast$name, unsigned int options)
\begin{CompactList}\small\item\em Creates an output file if {\em name\/} is not NULL. \item\end{CompactList}\item 
static void \hyperlink{xfc_8c_665ab85f1e169851be4ea2c8856f7c24}{printPoster} (\hyperlink{struct__XfcPosterCtx}{XfcPosterCtx} $\ast$poster, EDS\_\-fwIxb $\ast$ixb)
\begin{CompactList}\small\item\em Prints a 1 line summary of the events that are output. \item\end{CompactList}\item 
static void \hyperlink{xfc_8c_e45bda34da50a9ec76eecb2987ebf589}{printElapsed} (const char $\ast$caption, TMR\_\-tick beg, TMR\_\-tick end, int n)
\begin{CompactList}\small\item\em Utility routine to print elapsed times. \item\end{CompactList}\item 
int \hyperlink{xfc_8c_69de20a22e9b4d56a40320357f0112c0}{xfc\_\-initialize} (void)
\begin{CompactList}\small\item\em One time initialization routine. \item\end{CompactList}\item 
static unsigned int \hyperlink{xfc_8c_36ac3d2c18b9221fc5e4d84f0f365d88}{xfc\_\-time\_\-initialize} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, const \hyperlink{struct__XfcRto}{XfcRto} $\ast$rto)
\begin{CompactList}\small\item\em Initializes the time base (fakes out WCT and THS). \item\end{CompactList}\item 
static unsigned int \hyperlink{xfc_8c_67af2d082c9e6a4dd270fe3f6ecb9d38}{xfc\_\-edsFw\_\-build} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, const \hyperlink{struct__XfcRto}{XfcRto} $\ast$rto)
\begin{CompactList}\small\item\em Allocates and constructs the EDS framework. \item\end{CompactList}\item 
static unsigned int \hyperlink{xfc_8c_6d4694c922a6c6cce3fc1f6dc40371b3}{xfc\_\-istream\_\-build} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, const \hyperlink{struct__XfcRto}{XfcRto} $\ast$rto)
\begin{CompactList}\small\item\em Initializes the input data stream. \item\end{CompactList}\item 
static unsigned int \hyperlink{xfc_8c_3a2aa46cd2e9325019ca14dcc11bc080}{xfc\_\-display\_\-build} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, const \hyperlink{struct__XfcRto}{XfcRto} $\ast$rto)
\begin{CompactList}\small\item\em Initializes the event display information. \item\end{CompactList}\item 
\hypertarget{xfc_8c_5bdd5f6d64e2ec3f0ee201687c8cd175}{
static unsigned int \textbf{xfc\_\-output\_\-build} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, const \hyperlink{struct__XfcRto}{XfcRto} $\ast$rto)}
\label{xfc_8c_5bdd5f6d64e2ec3f0ee201687c8cd175}

\item 
\hypertarget{xfc_8c_9826af308b3c14a77068a65082fc2f81}{
static unsigned int \textbf{xfc\_\-handlers\_\-build} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, const \hyperlink{struct__XfcRto}{XfcRto} $\ast$rto)}
\label{xfc_8c_9826af308b3c14a77068a65082fc2f81}

\item 
void $\ast$ \hyperlink{xfc_8c_66d19a8d1ee405c60e04ab00117795e6}{xfc\_\-filterCtx\_\-get} (const \hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx)
\begin{CompactList}\small\item\em Returns a pointer to the underlying user filter control structure. \item\end{CompactList}\item 
void $\ast$ \hyperlink{xfc_8c_50c7182bd7675f00d661649c80852d61}{xfc\_\-resultsCtx\_\-get} (const \hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx)
\begin{CompactList}\small\item\em Returns a pointer to the results control structure. \item\end{CompactList}\item 
void $\ast$ \hyperlink{xfc_8c_773a573d2bec67759cb46c84503dbfb1}{xfc\_\-statsCtx\_\-get} (const \hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx)
\begin{CompactList}\small\item\em Returns a pointer to the statistics control structure. \item\end{CompactList}\item 
int \hyperlink{xfc_8c_f7358c29dc100cf694336dcbccb1d486}{xfc\_\-sizeof} (\hyperlink{struct__XfcConstructCtx}{XfcConstructCtx} $\ast$ctxx, const EFC\_\-definition $\ast$def, const EFC\_\-DB\_\-Schema $\ast$schema, int stats\_\-size)
\begin{CompactList}\small\item\em Computes the size needed to hold configuration defined by the specified context, definition block and schema. \item\end{CompactList}\item 
const EDS\_\-fwHandlerServicesX1 $\ast$ \hyperlink{xfc_8c_0c48f6b049ded35c6e32a017101c3321}{xfc\_\-construct} (\hyperlink{struct__XfcConstructCtx}{XfcConstructCtx} $\ast$ctxx, EFC $\ast$efc, unsigned int handler\_\-id, const EFC\_\-DB\_\-Schema $\ast$schema, unsigned int schema\_\-key, EDS\_\-fw $\ast$edsFw, unsigned int objects, unsigned int needs, XfcResultsPrintRtn resultsPrint, XfcStatsClearRtn statsClear, XfcStatsAccumulateRtn statsAcc, XfcStatsPrintRtn statsPrint, void $\ast$statsPrintCtx)
\begin{CompactList}\small\item\em Constructs the configuration for the specified set of parameters. \item\end{CompactList}\item 
int \hyperlink{xfc_8c_658f303a33a1f9bec98dc3ecb1156b7a}{xfc\_\-any\_\-display} (const \hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx)
\begin{CompactList}\small\item\em Returns non-zero if there are any subsystems to display that need a directory. \item\end{CompactList}\item 
void \hyperlink{xfc_8c_03b8bc89c109654662b54aa3ea569949}{xfc\_\-display} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, unsigned int pktBytes, EBF\_\-pkt $\ast$pkt, EBF\_\-siv siv, EDS\_\-fwIxb $\ast$ixb)
\begin{CompactList}\small\item\em Displays the requested subsystems. \item\end{CompactList}\item 
int \hyperlink{xfc_8c_a253b27520b8bc2c2cb9afe21a4d686d}{xfc\_\-process} (int id, const \hyperlink{struct__XfcRto}{XfcRto} $\ast$rto, const EDS\_\-DB\_\-HandlerConstructServices $\ast$services)
\begin{CompactList}\small\item\em Common routine to do the processing. \item\end{CompactList}\item 
void \hyperlink{xfc_8c_44e4df2d00c6f280bfe0f4a697a42776}{xfc\_\-results\_\-post} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, int reason, const void $\ast$beg, const void $\ast$end, const EFA\_\-span $\ast$span)
\begin{CompactList}\small\item\em Dummy result vector post routine. \item\end{CompactList}\item 
int \hyperlink{xfc_8c_4d12d478b5701f168a377964b7d25cb8}{xfc\_\-results\_\-start} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, int reason, int run\_\-id, int startTime, int mode)
\begin{CompactList}\small\item\em Handles the start run for the result analysis. \item\end{CompactList}\item 
void \hyperlink{xfc_8c_31ce821780297f71b1376391e98e727f}{xfc\_\-begtick\_\-set} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, TMR\_\-tick tick)
\begin{CompactList}\small\item\em Seeds the beginning tick of this sample. \item\end{CompactList}\item 
void \hyperlink{xfc_8c_0687f715084e4538adfa8c28aa43c282}{xfc\_\-endtick\_\-set} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, TMR\_\-tick tick)
\begin{CompactList}\small\item\em Seeds the ending tick of this sample. \item\end{CompactList}\item 
void \hyperlink{xfc_8c_2ade9050b6e50e99744d5d7f3186b15a}{xfc\_\-results\_\-print} (\hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx, const void $\ast$beg, const void $\ast$end)
\begin{CompactList}\small\item\em Prints the standard part of the results, then calls the filter specific piece. \item\end{CompactList}\item 
unsigned int \hyperlink{xfc_8c_188060f34cdd46fbe75e337d2e8b5e4a}{xfc\_\-objects\_\-get} (const \hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx)
\begin{CompactList}\small\item\em Used to supply any additional EDS\_\-fw objects needed by this filter context. \item\end{CompactList}\item 
unsigned int \hyperlink{xfc_8c_7c1010e6ca101dfb45c9cb75d5ea94e3}{xfc\_\-needs\_\-get} (const \hyperlink{struct__XfcCtx}{XfcCtx} $\ast$ctx)
\begin{CompactList}\small\item\em Used to supply any additional EDS\_\-fw needs for this filter context. \item\end{CompactList}\item 
static int \hyperlink{xfc_8c_2d207b75f2da74b5df10933886068a74}{dummyStart} (void $\ast$prm, unsigned int run\_\-id, unsigned int startTime, unsigned int mode, int reason)
\begin{CompactList}\small\item\em Dummy routine to intercept the posted events when one does not have a real posting routine. \item\end{CompactList}\item 
static void \hyperlink{xfc_8c_253cd950a91d5a8813b08069a22ba3e6}{dummyWrite} (\hyperlink{struct__XfcPosterCtx}{XfcPosterCtx} $\ast$poster, EDS\_\-fwIxb $\ast$ixb)
\begin{CompactList}\small\item\em Dummy routine to intercept the output events when one does not have a real output routine. \item\end{CompactList}\item 
static int \hyperlink{xfc_8c_f12f22ba53616cf98e062bf5f9ec15be}{dummyNotify} (void $\ast$prm, unsigned int mode, unsigned int active, const unsigned char cfgs\mbox{[}32\mbox{]}, const EDS\_\-rsdTbl $\ast$rsdTbl)
\begin{CompactList}\small\item\em Dummy routine to handle mode change notifications to the posting stream. \item\end{CompactList}\item 
static void \hyperlink{xfc_8c_5aa3705f1e7f2e6531b828f20748d4f6}{dummyFlush} (void $\ast$prm, int reason)
\begin{CompactList}\small\item\em Dummy routine to close an posting stream. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Utility/driver program for filter test code. 

\begin{Desc}
\item[Author:]JJRussell - \href{mailto:russell@slac.stanford.edu}{\tt russell@slac.stanford.edu}\end{Desc}


\footnotesize\begin{verbatim}

   CVS $Id: xfc.c,v 1.2 2011/03/28 20:51:00 russell Exp $
\end{verbatim}
\normalsize
 

\subsection{Define Documentation}
\hypertarget{xfc_8c_5dba91706697b20ef38e7ab2c85d6785}{
\index{xfc.c@{xfc.c}!RND8@{RND8}}
\index{RND8@{RND8}!xfc.c@{xfc.c}}
\subsubsection[{RND8}]{\setlength{\rightskip}{0pt plus 5cm}\#define RND8(\_\-n)~(((\_\-n) + 7) \& $\sim$0x7)}}
\label{xfc_8c_5dba91706697b20ef38e7ab2c85d6785}


Rounds {\em \_\-n\/} to a value of 8. 

\begin{Desc}
\item[Returns:]The rounded value\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-n}]The value to round \end{description}
\end{Desc}


Referenced by xfc\_\-sizeof().

\subsection{Function Documentation}
\hypertarget{xfc_8c_32aa2e00ffbdcab60c879e764efde119}{
\index{xfc.c@{xfc.c}!createPoster@{createPoster}}
\index{createPoster@{createPoster}!xfc.c@{xfc.c}}
\subsubsection[{createPoster}]{\setlength{\rightskip}{0pt plus 5cm}static int createPoster ({\bf XfcPosterCtx} $\ast$ {\em poster}, \/  const char $\ast$ {\em name}, \/  unsigned int {\em options})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_32aa2e00ffbdcab60c879e764efde119}


Creates an output file if {\em name\/} is not NULL. 

\begin{Desc}
\item[Returns:]Status\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em poster}]The poster to fill in \item[{\em name}]The name of the output file to create \item[{\em options}]Bit list of output options. \end{description}
\end{Desc}


References \_\-XfcPosterCtx::count, \_\-XfcPosterCtx::ctx, dummyFlush(), dummyNotify(), dummyStart(), dummyWrite(), \_\-XfcPosterCtx::options, \_\-XfcPosterCtx::services, xfc\_\-ebf\_\-output\_\-construct(), and xfc\_\-ebf\_\-output\_\-sizeof().\hypertarget{xfc_8c_5aa3705f1e7f2e6531b828f20748d4f6}{
\index{xfc.c@{xfc.c}!dummyFlush@{dummyFlush}}
\index{dummyFlush@{dummyFlush}!xfc.c@{xfc.c}}
\subsubsection[{dummyFlush}]{\setlength{\rightskip}{0pt plus 5cm}void dummyFlush (void $\ast$ {\em prm}, \/  int {\em reason})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_5aa3705f1e7f2e6531b828f20748d4f6}


Dummy routine to close an posting stream. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em prm}]The user context parameter \item[{\em reason}]The reason flush is being called \end{description}
\end{Desc}


Referenced by createPoster().\hypertarget{xfc_8c_f12f22ba53616cf98e062bf5f9ec15be}{
\index{xfc.c@{xfc.c}!dummyNotify@{dummyNotify}}
\index{dummyNotify@{dummyNotify}!xfc.c@{xfc.c}}
\subsubsection[{dummyNotify}]{\setlength{\rightskip}{0pt plus 5cm}int dummyNotify (void $\ast$ {\em prm}, \/  unsigned int {\em mode}, \/  unsigned int {\em active}, \/  const unsigned char {\em cfgs}\mbox{[}32\mbox{]}, \/  const EDS\_\-rsdTbl $\ast$ {\em rsdTbl})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_f12f22ba53616cf98e062bf5f9ec15be}


Dummy routine to handle mode change notifications to the posting stream. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em prm}]The user context parameter \item[{\em mode}]The current mode \item[{\em active}]The list of active handlers \item[{\em cfgs}]The array of handler configurations \item[{\em rsdTbl}]The result summary data table \end{description}
\end{Desc}


Referenced by createPoster().\hypertarget{xfc_8c_2d207b75f2da74b5df10933886068a74}{
\index{xfc.c@{xfc.c}!dummyStart@{dummyStart}}
\index{dummyStart@{dummyStart}!xfc.c@{xfc.c}}
\subsubsection[{dummyStart}]{\setlength{\rightskip}{0pt plus 5cm}int dummyStart (void $\ast$ {\em prm}, \/  unsigned int {\em run\_\-id}, \/  unsigned int {\em startTime}, \/  unsigned int {\em mode}, \/  int {\em reason})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_2d207b75f2da74b5df10933886068a74}


Dummy routine to intercept the posted events when one does not have a real posting routine. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em prm}]The user context parameter \item[{\em run\_\-id}]The run identifier \item[{\em startTime}]The start time (in seconds since the SA epoch) \item[{\em mode}]The starting mode \item[{\em reason}]The reason for starting \end{description}
\end{Desc}


Referenced by createPoster().\hypertarget{xfc_8c_253cd950a91d5a8813b08069a22ba3e6}{
\index{xfc.c@{xfc.c}!dummyWrite@{dummyWrite}}
\index{dummyWrite@{dummyWrite}!xfc.c@{xfc.c}}
\subsubsection[{dummyWrite}]{\setlength{\rightskip}{0pt plus 5cm}void dummyWrite ({\bf XfcPosterCtx} $\ast$ {\em post}, \/  EDS\_\-fwIxb $\ast$ {\em ixb})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_253cd950a91d5a8813b08069a22ba3e6}


Dummy routine to intercept the output events when one does not have a real output routine. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em post}]The posting context handle \item[{\em ixb}]The information exchange block, contains a reference to the event to write plus other event related information \end{description}
\end{Desc}


References \_\-XfcPosterCtx::options, and printPoster().

Referenced by createPoster().\hypertarget{xfc_8c_e45bda34da50a9ec76eecb2987ebf589}{
\index{xfc.c@{xfc.c}!printElapsed@{printElapsed}}
\index{printElapsed@{printElapsed}!xfc.c@{xfc.c}}
\subsubsection[{printElapsed}]{\setlength{\rightskip}{0pt plus 5cm}static void printElapsed (const char $\ast$ {\em caption}, \/  TMR\_\-tick {\em beg}, \/  TMR\_\-tick {\em end}, \/  int {\em n})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_e45bda34da50a9ec76eecb2987ebf589}


Utility routine to print elapsed times. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em caption}]The caption to print \item[{\em beg}]The beginning time \item[{\em end}]The ending time \item[{\em n}]The normalizing count \end{description}
\end{Desc}


Referenced by xfc\_\-results\_\-print().\hypertarget{xfc_8c_665ab85f1e169851be4ea2c8856f7c24}{
\index{xfc.c@{xfc.c}!printPoster@{printPoster}}
\index{printPoster@{printPoster}!xfc.c@{xfc.c}}
\subsubsection[{printPoster}]{\setlength{\rightskip}{0pt plus 5cm}static void printPoster ({\bf XfcPosterCtx} $\ast$ {\em poster}, \/  EDS\_\-fwIxb $\ast$ {\em ixb})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_665ab85f1e169851be4ea2c8856f7c24}


Prints a 1 line summary of the events that are output. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em poster}]The posting context handle \item[{\em ixb}]The information exchange block \end{description}
\end{Desc}


References \_\-XfcPosterCtx::count.

Referenced by dummyWrite().\hypertarget{xfc_8c_658f303a33a1f9bec98dc3ecb1156b7a}{
\index{xfc.c@{xfc.c}!xfc\_\-any\_\-display@{xfc\_\-any\_\-display}}
\index{xfc\_\-any\_\-display@{xfc\_\-any\_\-display}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-any\_\-display}]{\setlength{\rightskip}{0pt plus 5cm}int xfc\_\-any\_\-display (const {\bf XfcCtx} $\ast$ {\em ctx})}}
\label{xfc_8c_658f303a33a1f9bec98dc3ecb1156b7a}


Returns non-zero if there are any subsystems to display that need a directory. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The filter context parameter \end{description}
\end{Desc}


References \_\-XfcCtx::displayer, and \_\-XfcDisplayerCtx::printCtl.\hypertarget{xfc_8c_31ce821780297f71b1376391e98e727f}{
\index{xfc.c@{xfc.c}!xfc\_\-begtick\_\-set@{xfc\_\-begtick\_\-set}}
\index{xfc\_\-begtick\_\-set@{xfc\_\-begtick\_\-set}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-begtick\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void xfc\_\-begtick\_\-set ({\bf XfcCtx} $\ast$ {\em ctx}, \/  TMR\_\-tick {\em tick})}}
\label{xfc_8c_31ce821780297f71b1376391e98e727f}


Seeds the beginning tick of this sample. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The xfc context \item[{\em tick}]The beginning tick value \end{description}
\end{Desc}


References \_\-XfcCtx::tickBeg.

Referenced by xfc\_\-results\_\-post().\hypertarget{xfc_8c_0c48f6b049ded35c6e32a017101c3321}{
\index{xfc.c@{xfc.c}!xfc\_\-construct@{xfc\_\-construct}}
\index{xfc\_\-construct@{xfc\_\-construct}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-construct}]{\setlength{\rightskip}{0pt plus 5cm}const EDS\_\-fwHandlerServicesX1$\ast$ xfc\_\-construct ({\bf XfcConstructCtx} $\ast$ {\em ctxx}, \/  EFC $\ast$ {\em efc}, \/  unsigned int {\em handler\_\-id}, \/  const EFC\_\-DB\_\-Schema $\ast$ {\em schema}, \/  unsigned int {\em schema\_\-key}, \/  EDS\_\-fw $\ast$ {\em edsFw}, \/  unsigned int {\em objects}, \/  unsigned int {\em needs}, \/  XfcResultsPrintRtn {\em resultsPrint}, \/  XfcStatsClearRtn {\em statsClear}, \/  XfcStatsAccumulateRtn {\em statsAcc}, \/  XfcStatsPrintRtn {\em statsPrint}, \/  void $\ast$ {\em statsPrintCtx})}}
\label{xfc_8c_0c48f6b049ded35c6e32a017101c3321}


Constructs the configuration for the specified set of parameters. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctxx}]Holds the run-time modifying context \item[{\em efc}]The controlling Event Filter's handle \item[{\em handler\_\-id}]The handler's identifier \item[{\em schema}]The defining schema. This must be what was passed to xfc\_\-sizeof (). \item[{\em schema\_\-key}]The (likely FMX) key of the schema \item[{\em edsFw}]The controlling EDS framework's handle \item[{\em objects}]The EDS framework objects needed by this filter \item[{\em needs}]The EDS framework service needs of this filter \item[{\em resultsPrint}]The filter specific result print routine \item[{\em statsClear}]The filter specific statistics buffer clear routine \item[{\em statsAcc}]The filter specific statistics accumulation routine \item[{\em statsPrint}]The fitler specific statistics print routine \item[{\em statsPrintCtx}]The filter specific statistics print routine context parameter \end{description}
\end{Desc}


!!!results; 

References \_\-XfcStatsCtx::acc, \_\-XfcStatsCtx::bufs, \_\-XfcSdi::cbp, \_\-XfcStatsCtx::clear, \_\-XfcConstructCtx::ctx, \_\-XfcHandlerCtx::def, \_\-XfcCtx::displayer, \_\-XfcHandlerCtx::efa\_\-post\_\-cnt, \_\-XfcHandlerCtx::efa\_\-size, \_\-XfcHandlerCtx::efc\_\-size, \_\-XfcCtx::efcCtx, \_\-XfcResultsCtx::efs, \_\-XfcHandlerCtx::efs\_\-size, \_\-XfcSdi::file, \_\-XfcEfcCtx::filterCtx, \_\-XfcCtx::handler, \_\-XfcCtx::nevts, \_\-XfcCtx::poster, \_\-XfcResultsCtx::print, \_\-XfcStatsCtx::print, \_\-XfcDisplayerCtx::print\_\-size, \_\-XfcDisplayerCtx::printCtl, \_\-XfcStatsCtx::printCtx, \_\-XfcHandlerCtx::results, \_\-XfcEfcCtx::resultsCtx, \_\-XfcPosterCtx::sdi, \_\-XfcResultsCtx::size, \_\-XfcStatsCtx::size, \_\-XfcDisplayerCtx::ss\_\-to\_\-print, \_\-XfcHandlerCtx::stats, \_\-XfcEfcCtx::statsCtx, xfc\_\-needs\_\-get(), xfc\_\-objects\_\-get(), xfc\_\-results\_\-post(), and xfc\_\-results\_\-start().\hypertarget{xfc_8c_03b8bc89c109654662b54aa3ea569949}{
\index{xfc.c@{xfc.c}!xfc\_\-display@{xfc\_\-display}}
\index{xfc\_\-display@{xfc\_\-display}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-display}]{\setlength{\rightskip}{0pt plus 5cm}void xfc\_\-display ({\bf XfcCtx} $\ast$ {\em ctx}, \/  unsigned int {\em pktBytes}, \/  EBF\_\-pkt $\ast$ {\em pkt}, \/  EBF\_\-siv {\em siv}, \/  EDS\_\-fwIxb $\ast$ {\em ixb})}}
\label{xfc_8c_03b8bc89c109654662b54aa3ea569949}


Displays the requested subsystems. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The filter context \item[{\em pktBytes}]The number of bytes in the packet \item[{\em pkt}]The event data packet \item[{\em siv}]The packet state information vector \item[{\em ixb}]The EDS information exchange block \end{description}
\end{Desc}


References \_\-XfcCtx::displayer, \_\-XfcDisplayerCtx::printCtl, \_\-XfcDisplayerCtx::ss\_\-to\_\-display, \_\-XfcDisplayerCtx::ss\_\-to\_\-print, and \_\-XfcDisplayerCtx::to\_\-print.\hypertarget{xfc_8c_3a2aa46cd2e9325019ca14dcc11bc080}{
\index{xfc.c@{xfc.c}!xfc\_\-display\_\-build@{xfc\_\-display\_\-build}}
\index{xfc\_\-display\_\-build@{xfc\_\-display\_\-build}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-display\_\-build}]{\setlength{\rightskip}{0pt plus 5cm}static unsigned int xfc\_\-display\_\-build ({\bf XfcCtx} $\ast$ {\em ctx}, \/  const {\bf XfcRto} $\ast$ {\em rto})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_3a2aa46cd2e9325019ca14dcc11bc080}


Initializes the event display information. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The Xfc context handle \item[{\em rto}]The run time options \end{description}
\end{Desc}


References \_\-XfcCtx::displayer, \_\-XfcCtx::nevts, \_\-XfcDisplayerCtx::ss\_\-to\_\-display, \_\-XfcRto::ss\_\-to\_\-display, \_\-XfcDisplayerCtx::ss\_\-to\_\-print, \_\-XfcRto::ss\_\-to\_\-print, and \_\-XfcDisplayerCtx::to\_\-print.

Referenced by xfc\_\-process().\hypertarget{xfc_8c_67af2d082c9e6a4dd270fe3f6ecb9d38}{
\index{xfc.c@{xfc.c}!xfc\_\-edsFw\_\-build@{xfc\_\-edsFw\_\-build}}
\index{xfc\_\-edsFw\_\-build@{xfc\_\-edsFw\_\-build}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-edsFw\_\-build}]{\setlength{\rightskip}{0pt plus 5cm}static unsigned int xfc\_\-edsFw\_\-build ({\bf XfcCtx} $\ast$ {\em ctx}, \/  const {\bf XfcRto} $\ast$ {\em rto})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_67af2d082c9e6a4dd270fe3f6ecb9d38}


Allocates and constructs the EDS framework. 

\begin{Desc}
\item[Returns:]Status\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The Xfc context handle \item[{\em rto}]The run time options \end{description}
\end{Desc}


References \_\-XfcCtx::edsFw.

Referenced by xfc\_\-process().\hypertarget{xfc_8c_0687f715084e4538adfa8c28aa43c282}{
\index{xfc.c@{xfc.c}!xfc\_\-endtick\_\-set@{xfc\_\-endtick\_\-set}}
\index{xfc\_\-endtick\_\-set@{xfc\_\-endtick\_\-set}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-endtick\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}void xfc\_\-endtick\_\-set ({\bf XfcCtx} $\ast$ {\em ctx}, \/  TMR\_\-tick {\em tick})}}
\label{xfc_8c_0687f715084e4538adfa8c28aa43c282}


Seeds the ending tick of this sample. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The xfc context \item[{\em tick}]The ending tick value \end{description}
\end{Desc}


References \_\-XfcCtx::tickEnd.

Referenced by xfc\_\-results\_\-post().\hypertarget{xfc_8c_66d19a8d1ee405c60e04ab00117795e6}{
\index{xfc.c@{xfc.c}!xfc\_\-filterCtx\_\-get@{xfc\_\-filterCtx\_\-get}}
\index{xfc\_\-filterCtx\_\-get@{xfc\_\-filterCtx\_\-get}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-filterCtx\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ xfc\_\-filterCtx\_\-get (const {\bf XfcCtx} $\ast$ {\em ctx})}}
\label{xfc_8c_66d19a8d1ee405c60e04ab00117795e6}


Returns a pointer to the underlying user filter control structure. 

\begin{Desc}
\item[Returns:]A pointer to the underlying user filter control structure\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The filter control context \end{description}
\end{Desc}


References \_\-XfcCtx::efcCtx, and \_\-XfcEfcCtx::filterCtx.\hypertarget{xfc_8c_69de20a22e9b4d56a40320357f0112c0}{
\index{xfc.c@{xfc.c}!xfc\_\-initialize@{xfc\_\-initialize}}
\index{xfc\_\-initialize@{xfc\_\-initialize}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-initialize}]{\setlength{\rightskip}{0pt plus 5cm}int xfc\_\-initialize (void)}}
\label{xfc_8c_69de20a22e9b4d56a40320357f0112c0}


One time initialization routine. 

\begin{Desc}
\item[Returns:]Status \end{Desc}
\hypertarget{xfc_8c_6d4694c922a6c6cce3fc1f6dc40371b3}{
\index{xfc.c@{xfc.c}!xfc\_\-istream\_\-build@{xfc\_\-istream\_\-build}}
\index{xfc\_\-istream\_\-build@{xfc\_\-istream\_\-build}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-istream\_\-build}]{\setlength{\rightskip}{0pt plus 5cm}static unsigned int status xfc\_\-istream\_\-build ({\bf XfcCtx} $\ast$ {\em ctx}, \/  const {\bf XfcRto} $\ast$ {\em rto})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_6d4694c922a6c6cce3fc1f6dc40371b3}


Initializes the input data stream. 

\begin{Desc}
\item[Returns:]Status\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The Xfc context handle \item[{\em rto}]The run time options \end{description}
\end{Desc}


References \_\-XfcCtx::ebf, \_\-XfcCtx::ievt, \_\-XfcRto::name, \_\-XfcCtx::nevts, \_\-XfcRto::to\_\-process, \_\-XfcRto::to\_\-skip, and \_\-XfcRto::type.

Referenced by xfc\_\-process().\hypertarget{xfc_8c_7c1010e6ca101dfb45c9cb75d5ea94e3}{
\index{xfc.c@{xfc.c}!xfc\_\-needs\_\-get@{xfc\_\-needs\_\-get}}
\index{xfc\_\-needs\_\-get@{xfc\_\-needs\_\-get}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-needs\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int xfc\_\-needs\_\-get (const {\bf XfcCtx} $\ast$ {\em ctx})}}
\label{xfc_8c_7c1010e6ca101dfb45c9cb75d5ea94e3}


Used to supply any additional EDS\_\-fw needs for this filter context. 

\begin{Desc}
\item[Returns:]Bit mask of the addition objects\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The filter context handle \end{description}
\end{Desc}


References \_\-XfcPosterCtx::ctx, \_\-XfcCtx::displayer, \_\-XfcCtx::poster, and \_\-XfcDisplayerCtx::printCtl.

Referenced by xfc\_\-construct().\hypertarget{xfc_8c_188060f34cdd46fbe75e337d2e8b5e4a}{
\index{xfc.c@{xfc.c}!xfc\_\-objects\_\-get@{xfc\_\-objects\_\-get}}
\index{xfc\_\-objects\_\-get@{xfc\_\-objects\_\-get}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-objects\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int xfc\_\-objects\_\-get (const {\bf XfcCtx} $\ast$ {\em ctx})}}
\label{xfc_8c_188060f34cdd46fbe75e337d2e8b5e4a}


Used to supply any additional EDS\_\-fw objects needed by this filter context. 

\begin{Desc}
\item[Returns:]Bit mask of the addition objects\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The filter context handle \end{description}
\end{Desc}


References \_\-XfcPosterCtx::ctx, \_\-XfcCtx::displayer, \_\-XfcCtx::poster, and \_\-XfcDisplayerCtx::printCtl.

Referenced by xfc\_\-construct().\hypertarget{xfc_8c_a253b27520b8bc2c2cb9afe21a4d686d}{
\index{xfc.c@{xfc.c}!xfc\_\-process@{xfc\_\-process}}
\index{xfc\_\-process@{xfc\_\-process}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-process}]{\setlength{\rightskip}{0pt plus 5cm}int xfc\_\-process (int {\em id}, \/  const {\bf XfcRto} $\ast$ {\em rto}, \/  const EDS\_\-DB\_\-HandlerConstructServices $\ast$ {\em services})}}
\label{xfc_8c_a253b27520b8bc2c2cb9afe21a4d686d}


Common routine to do the processing. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em id}]The EFC\_\-DB\_\-id of this filter \item[{\em rto}]The runtime options structure \item[{\em services}]An alternative set of construction services, may be NULL, in which case the services resolved by the database schema and instance buried in the {\em rto\/} will be used. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Status \end{Desc}


References \_\-XfcHandlerCtx::construction\_\-services, \_\-XfcCtx::ebf, \_\-XfcCtx::edsFw, \_\-XfcHandlerCtx::efc, \_\-XfcCtx::handler, \_\-XfcHandlerCtx::handler\_\-id, \_\-XfcRto::mode, \_\-XfcCtx::mode, \_\-XfcCtx::poster, \_\-XfcPosterCtx::sdi, xfc\_\-display\_\-build(), xfc\_\-edsFw\_\-build(), xfc\_\-istream\_\-build(), xfc\_\-run\_\-start(), xfc\_\-run\_\-stop(), and xfc\_\-time\_\-initialize().\hypertarget{xfc_8c_44e4df2d00c6f280bfe0f4a697a42776}{
\index{xfc.c@{xfc.c}!xfc\_\-results\_\-post@{xfc\_\-results\_\-post}}
\index{xfc\_\-results\_\-post@{xfc\_\-results\_\-post}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-results\_\-post}]{\setlength{\rightskip}{0pt plus 5cm}void xfc\_\-results\_\-post ({\bf XfcCtx} $\ast$ {\em ctx}, \/  int {\em reason}, \/  const void $\ast$ {\em beg}, \/  const void $\ast$ {\em end}, \/  const EFA\_\-span $\ast$ {\em span})}}
\label{xfc_8c_44e4df2d00c6f280bfe0f4a697a42776}


Dummy result vector post routine. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The xfc context \item[{\em reason}]The posting reason \item[{\em beg}]The first result vector \item[{\em end}]The last result vector (actually one past the last one) \item[{\em span}]The span of the sample \end{description}
\end{Desc}


References \_\-XfcStatsCtx::acc, \_\-XfcStatsCtx::bufs, \_\-XfcResultsCtx::efs, \_\-XfcCtx::handler, \_\-XfcResultsCtx::options, \_\-XfcStatsCtx::print, \_\-XfcStatsCtx::printCtx, \_\-XfcHandlerCtx::results, \_\-XfcHandlerCtx::stats, \_\-XfcResultsCtx::verbose, \_\-XfcResultsCtx::vetoes, xfc\_\-begtick\_\-set(), xfc\_\-endtick\_\-set(), and xfc\_\-results\_\-print().

Referenced by xfc\_\-construct().\hypertarget{xfc_8c_2ade9050b6e50e99744d5d7f3186b15a}{
\index{xfc.c@{xfc.c}!xfc\_\-results\_\-print@{xfc\_\-results\_\-print}}
\index{xfc\_\-results\_\-print@{xfc\_\-results\_\-print}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-results\_\-print}]{\setlength{\rightskip}{0pt plus 5cm}void xfc\_\-results\_\-print ({\bf XfcCtx} $\ast$ {\em ctx}, \/  const void $\ast$ {\em beg}, \/  const void $\ast$ {\em end})}}
\label{xfc_8c_2ade9050b6e50e99744d5d7f3186b15a}


Prints the standard part of the results, then calls the filter specific piece. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The xfc context \item[{\em beg}]Pointer to the first filter specific result vector \item[{\em end}]Pointer to the last filter specific result vector \end{description}
\end{Desc}


References \_\-XfcCtx::handler, \_\-XfcResultsCtx::options, \_\-XfcResultsCtx::print, printElapsed(), \_\-XfcHandlerCtx::results, \_\-XfcCtx::tickBeg, and \_\-XfcCtx::tickEnd.

Referenced by xfc\_\-results\_\-post().\hypertarget{xfc_8c_4d12d478b5701f168a377964b7d25cb8}{
\index{xfc.c@{xfc.c}!xfc\_\-results\_\-start@{xfc\_\-results\_\-start}}
\index{xfc\_\-results\_\-start@{xfc\_\-results\_\-start}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-results\_\-start}]{\setlength{\rightskip}{0pt plus 5cm}int xfc\_\-results\_\-start ({\bf XfcCtx} $\ast$ {\em ctx}, \/  int {\em reason}, \/  int {\em run\_\-id}, \/  int {\em startTime}, \/  int {\em mode})}}
\label{xfc_8c_4d12d478b5701f168a377964b7d25cb8}


Handles the start run for the result analysis. 

\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em ==0,if}]successfully started \item[{\em !=0,if}]not successfully started\end{description}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The callback context parameter \item[{\em reason}]The LSF\_\-REASON\_\-OPEN to indicate why the stream is being started \item[{\em run\_\-id}]Suggested use is to identify the block of events between when EDS\_\-fwHandlerStart is called and EDS\_\-fwHandlerFlush is called with a stop reason \item[{\em startTime}]The run start time rounded to the nearest second \item[{\em mode}]This must be the running mode. \end{description}
\end{Desc}


References \_\-XfcResultsCtx::efs, \_\-XfcCtx::handler, and \_\-XfcHandlerCtx::results.

Referenced by xfc\_\-construct().\hypertarget{xfc_8c_50c7182bd7675f00d661649c80852d61}{
\index{xfc.c@{xfc.c}!xfc\_\-resultsCtx\_\-get@{xfc\_\-resultsCtx\_\-get}}
\index{xfc\_\-resultsCtx\_\-get@{xfc\_\-resultsCtx\_\-get}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-resultsCtx\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ xfc\_\-resultsCtx\_\-get (const {\bf XfcCtx} $\ast$ {\em ctx})}}
\label{xfc_8c_50c7182bd7675f00d661649c80852d61}


Returns a pointer to the results control structure. 

\begin{Desc}
\item[Returns:]A pointer to the results control structure\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The filter control context \end{description}
\end{Desc}


References \_\-XfcCtx::efcCtx, and \_\-XfcEfcCtx::resultsCtx.\hypertarget{xfc_8c_cf580d203107b46be45f3173a23768ae}{
\index{xfc.c@{xfc.c}!xfc\_\-run\_\-start@{xfc\_\-run\_\-start}}
\index{xfc\_\-run\_\-start@{xfc\_\-run\_\-start}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-run\_\-start}]{\setlength{\rightskip}{0pt plus 5cm}static void xfc\_\-run\_\-start ({\bf XfcCtx} $\ast$ {\em ctx})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_cf580d203107b46be45f3173a23768ae}


Notifies the handlers and posters of the start run. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The Xfc context handle \end{description}
\end{Desc}


References \_\-XfcCtx::ebf, \_\-XfcCtx::edsFw, \_\-XfcCtx::handler\_\-mask, \_\-XfcCtx::ievt, \_\-XfcCtx::mode, \_\-XfcCtx::nevts, \_\-XfcPosterCtx::post\_\-mask, \_\-XfcCtx::poster, and \_\-XfcCtx::tickBeg.

Referenced by xfc\_\-process().\hypertarget{xfc_8c_dabe13b8bc945001b8a64708b4bdf82e}{
\index{xfc.c@{xfc.c}!xfc\_\-run\_\-stop@{xfc\_\-run\_\-stop}}
\index{xfc\_\-run\_\-stop@{xfc\_\-run\_\-stop}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-run\_\-stop}]{\setlength{\rightskip}{0pt plus 5cm}static void xfc\_\-run\_\-stop ({\bf XfcCtx} $\ast$ {\em ctx})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_dabe13b8bc945001b8a64708b4bdf82e}


Stops the run. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The Xfc context handle \end{description}
\end{Desc}


References \_\-XfcCtx::edsFw, \_\-XfcCtx::handler\_\-mask, \_\-XfcPosterCtx::post\_\-mask, and \_\-XfcCtx::poster.

Referenced by xfc\_\-process().\hypertarget{xfc_8c_f7358c29dc100cf694336dcbccb1d486}{
\index{xfc.c@{xfc.c}!xfc\_\-sizeof@{xfc\_\-sizeof}}
\index{xfc\_\-sizeof@{xfc\_\-sizeof}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-sizeof}]{\setlength{\rightskip}{0pt plus 5cm}int xfc\_\-sizeof ({\bf XfcConstructCtx} $\ast$ {\em ctxx}, \/  const EFC\_\-definition $\ast$ {\em def}, \/  const EFC\_\-DB\_\-Schema $\ast$ {\em schema}, \/  int {\em stats\_\-size})}}
\label{xfc_8c_f7358c29dc100cf694336dcbccb1d486}


Computes the size needed to hold configuration defined by the specified context, definition block and schema. 

\begin{Desc}
\item[Returns:]The size, in bytes,\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctxx}]The filter control construction context \item[{\em def}]The EFC definition block \item[{\em schema}]The defining schema \item[{\em stats\_\-size}]The size, in bytes, of one statistics buffer \end{description}
\end{Desc}


References \_\-XfcConstructCtx::ctx, \_\-XfcHandlerCtx::def, \_\-XfcCtx::displayer, \_\-XfcHandlerCtx::efa\_\-post\_\-cnt, \_\-XfcHandlerCtx::efa\_\-size, \_\-XfcHandlerCtx::efc\_\-size, \_\-XfcHandlerCtx::efs\_\-size, \_\-XfcSdi::file, \_\-XfcCtx::handler, \_\-XfcCtx::poster, \_\-XfcDisplayerCtx::print\_\-size, RND8, \_\-XfcHandlerCtx::schema, \_\-XfcPosterCtx::sdi, \_\-XfcStatsCtx::size, \_\-XfcDisplayerCtx::ss\_\-to\_\-print, and \_\-XfcHandlerCtx::stats.\hypertarget{xfc_8c_773a573d2bec67759cb46c84503dbfb1}{
\index{xfc.c@{xfc.c}!xfc\_\-statsCtx\_\-get@{xfc\_\-statsCtx\_\-get}}
\index{xfc\_\-statsCtx\_\-get@{xfc\_\-statsCtx\_\-get}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-statsCtx\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ xfc\_\-statsCtx\_\-get (const {\bf XfcCtx} $\ast$ {\em ctx})}}
\label{xfc_8c_773a573d2bec67759cb46c84503dbfb1}


Returns a pointer to the statistics control structure. 

\begin{Desc}
\item[Returns:]A pointer to the statistics control structure\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The filter control context \end{description}
\end{Desc}


References \_\-XfcCtx::efcCtx, and \_\-XfcEfcCtx::statsCtx.\hypertarget{xfc_8c_36ac3d2c18b9221fc5e4d84f0f365d88}{
\index{xfc.c@{xfc.c}!xfc\_\-time\_\-initialize@{xfc\_\-time\_\-initialize}}
\index{xfc\_\-time\_\-initialize@{xfc\_\-time\_\-initialize}!xfc.c@{xfc.c}}
\subsubsection[{xfc\_\-time\_\-initialize}]{\setlength{\rightskip}{0pt plus 5cm}static unsigned int xfc\_\-time\_\-initialize ({\bf XfcCtx} $\ast$ {\em ctx}, \/  const {\bf XfcRto} $\ast$ {\em rto})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{xfc_8c_36ac3d2c18b9221fc5e4d84f0f365d88}


Initializes the time base (fakes out WCT and THS). 

\begin{Desc}
\item[Returns:]Status\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ctx}]The Xfc context handle \item[{\em rto}]The run time options \end{description}
\end{Desc}


Referenced by xfc\_\-process().