GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QSEP / V3-5-1 > qsepdgm / rhel6-32


Interface   Data Structures   File List   Data Fields   Globals  

QSEP_dgmDvr.h File Reference

Tailors the QSE_dgmDvr interface specifically for the QSEP environment. More...

#include <QSE/QSE_dgmDvr.h>

Typedefs

typedef struct _QSE_dgmDvr QSEP_dgmDvr
typedef struct _QSEP QSEP
typedef enum _QSEP_DGMDVR_FATE_K QSEP_DGMDVR_FATE_K
 Typedef for enum _QSEP_DGMDVR_FATE_K.
typedef unsigned int(* QSEP_dgmDvrDgm )(void *context, const LSF_datagram *dgm, QSEP *qsep)
 Callback signature for user provided datagram handler.
typedef unsigned int(* QSEP_dgmDvrCtb )(void *context, const LSF_contribution *ctb, QSEP *qsep)
 Callback signature for user provided context handler.
typedef unsigned int(* QSEP_dgmDvrRec )(void *context, const LSF_record *rec, void *prm)
 Callback signature for user provided record handler.

Enumerations

enum  _QSEP_DGMDVR_FATE_K {
  QSEP_DGMDVR_FATE_K_PROCESS = QSE_DGMDVR_FATE_K_PROCESS,
  QSEP_DGMDVR_FATE_K_CONTINUE = QSE_DGMDVR_FATE_K_CONTINUE,
  QSEP_DGMDVR_FATE_K_STOP = QSE_DGMDVR_FATE_K_STOP,
  QSEP_DGMDVR_FATE_K_NEXT_DATAGRAM = QSE_DGMDVR_FATE_K_NEXT_DATAGRAM,
  QSEP_DGMDVR_FATE_K_NEXT_CONTRIBUTION = QSE_DGMDVR_FATE_K_NEXT_CONTRIBUTION
}
 Fate returned by the print driver callback routine to determine whether more events are processed or not. More...

Functions

void QSEP_dgmDvrConstruct (QSEP_dgmDvr *dgmDvr, unsigned int resource_level, void *cfg, const unsigned int *dgmDvrCfg, void *handler_ctx, QSEP_dgmDvrDgm handler_dgm, QSEP_dgmDvrCtb handler_ctb, QSEP_dgmDvrRec handler_rec)
 Constructs/initializes the print driver handle used in formatting the events.
const unsigned int * QSEP_dgmDvrPrmsConstruct (unsigned int *prms, int nevents, int nskip)
 Convenience routine to construct the QSE driver parameter list.
const unsigned int * QSEP_dgmDvrPrmsShrConstruct (unsigned int *prms, int *pevents, int *pskip)
 Convenience routine to construct the QSE driver parameter list for shared parameters. These are parameters that are potentially shared by multiple QSEP_dgmDvr's.
int QSEP_dgmDvrSizeof (int resource_level, void *qsepCfg, const unsigned int *qseDgmDvrCfg)
 Returns the size, in bytes, of the control handle.
void QSEP_dgmDvrDestruct (QSEP_dgmDvr *dvr)
 Frees the QSEP datagram driver context.
LSF_scanContributionHandler QSEP_dgmDvrDatagramProcess (QSEP_dgmDvr *dvr, const LSF_datagram *dgm)
 Handles each datagram.


Detailed Description

Tailors the QSE_dgmDvr interface specifically for the QSEP environment.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: QSEP_dgmDvr.h,v 1.3 2011/03/29 18:49:03 russell Exp $

Typedef Documentation

unsigned int(* QSEP_dgmDvrCtb)(void *context, const LSF_contribution *ctb, QSEP *qsep)

Callback signature for user provided context handler.

Return values:
QSEP_DGMDVR_FATE_K_QUIT 
QSEP_DGMDVR_FATE_K_CONTINUE 
Parameters:
context The update context
ctb The datagram contribution
qsep The QSEP context

unsigned int(* QSEP_dgmDvrDgm)(void *context, const LSF_datagram *dgm, void *prm)

Callback signature for user provided datagram handler.

Return values:
QSEP_DGMDVR_FATE_K_QUIT 
QSEP_DGMDVR_FATE_K_CONTINUE 
Parameters:
context The update context
dgm The datagram
qsep The QSEP context

unsigned int(* QSEP_dgmDvrRec)(void *context, const LSF_record *record, QSEP *qsep)

Callback signature for user provided record handler.

Return values:
QSEP_DGMDVR_FATE_K_QUIT 
QSEP_DGMDVR_FATE_K_CONTINUE 
Parameters:
context The update context
record The event record to decode
qsep The QSEP context


Enumeration Type Documentation

Fate returned by the print driver callback routine to determine whether more events are processed or not.

Enumerator:
QSEP_DGMDVR_FATE_K_PROCESS  Process the contents of the current object.
  • If the object is a datagram, then process the contributions.
  • If the object is a contribution, then process the records
QSEP_DGMDVR_FATE_K_CONTINUE  Continue the processing of the records in a contribution
QSEP_DGMDVR_FATE_K_STOP  Stop all processing
QSEP_DGMDVR_FATE_K_NEXT_DATAGRAM  Advances to the next datagram.
  • If the object is a datagram, then skip the processing of the contributions and, by implication, any records within those contributions
  • If the object is a contribution, then skip the processing of the records in that contribution and any remaining contributions in the current datagram
  • If the object is a record, then skip the processing of any remaining records in the contribution and any remaining contribution in the current datagram
QSEP_DGMDVR_FATE_K_NEXT_CONTRIBUTION  Advances to the next contribution
  • If the object is a contribution, then skip the processing of any records records in the current contribution
  • If the object is a record, then skip the processing of any remaining records records in the current contribution


Function Documentation

void QSEP_dgmDvrConstruct ( QSEP_dgmDvr *  dgmDvr,
unsigned int  resource_level,
void *  qsepCfg,
const unsigned int *  dgmDvrCfg,
void *  handler_ctx,
QSEP_dgmDvrDgm  handler_dgm,
QSEP_dgmDvrCtb  handler_ctb,
QSEP_dgmDvrRec  handler_rec 
)

Constructs/initializes the print driver handle used in formatting the events.

Parameters:
dgmDvr The datagram driver handle to initialize
resource_level The maximum QSEP resource level to support
qsepCfg The QSEP configuration, may be NULL
dgmDvrCfg Datagram driver configuration parameters construction routine, may be NULL
handler_ctx User context. Passed as the first parameter in the datagram, contributor and record handling routines
handler_dgm The datagram handling routine
handler_ctb The contribution handling routine
handler_rec The record handling routine

References RND_TO.

LSF_scanContributionHandler QSEP_dgmDvrDatagramProcess ( QSEP_dgmDvr *  dvr,
const LSF_datagram *  dgm 
)

Handles each datagram.

Return values:
The contribution level handler (routine + parameter)
Parameters:
dvr Datagram driver context parameter
dgm The datagram to print

void QSEP_dgmDvrDestruct ( QSEP_dgmDvr *  dvr  ) 

Frees the QSEP datagram driver context.

Parameters:
dvr The datagram context to destruct

const unsigned int* QSEP_dgmDvrPrmsConstruct ( unsigned int *  prms,
int  nevents,
int  nskip 
)

Convenience routine to construct the QSE driver parameter list.

Return values:
NULL If the list is empty, i.e. nevents is specified to process all the events and nskip is specified as 0
non - NULL If either nevents is not specified to process all the events or nskip is non-zero
Parameters:
prms Pointer to an array of 32-bit words to hold the list The maximum size of this list is 5 32-bit words
nevents The number of events to process. If this is specified as -1, then no limit will be configured
nskip The number of events to skip. If this is specified as 0, then no skip parameter will be configured.

const unsigned int* QSEP_dgmDvrPrmsShrConstruct ( unsigned int *  prms,
int *  pevents,
int *  pskip 
)

Convenience routine to construct the QSE driver parameter list for shared parameters. These are parameters that are potentially shared by multiple QSEP_dgmDvr's.

Return values:
NULL If the list is empty, i.e. nevents is specified to process all the events and nskip is specified as 0
non - NULL If either nevents is not specified to process all the events or nskip is non-zero
Parameters:
prms Pointer to an array of 32-bit words to hold the list The maximum size of this list is 5 32-bit words
pevents Pointer to the number of events to process. If this is specified as NULL, then no limit will be configured
pskip Pointer to The number of events to skip. If this is specified as 0, then no skip parameter will be configured.

int QSEP_dgmDvrSizeof ( int  resource_level,
void *  qsepCfg,
const unsigned int *  qseDgmDvrCfg 
)

Returns the size, in bytes, of the control handle.

Returns:
The size, in bytes, of the control handle.
Parameters:
resource_level The QSEP resource level
qsepCfg The QSEP configuration parameters, may be NULL
qseDgmDvrCfg The QSE datagram driver configuration, may be NULL
The amount of memory returned by this routine should be allocated by caller and passed, along with prm, to construction routine

References RND_TO.


Generated on Fri Nov 30 11:44:30 2012 by  doxygen 1.5.8