GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QSEP / V3-5-1 > qsepdgm / rhel5-64


Interface   Data Structures   File List   Data Fields   Globals  

QSEP.h File Reference

Interface to physics event context handling and updating routines. More...


Typedefs

typedef enum _QSEP_STATUS_K QSEP_STATUS_K
 Typedef for QSEP_STATUS_K.

Enumerations

enum  _QSEP_STATUS_K {
  QSEP_STATUS_K_ERR = -1,
  QSEP_STATUS_K_TOO_SMALL = -2,
  QSEP_STATUS_K_INSRSC = -3,
  QSEP_STATUS_K_UNKLVL = -7,
  QSEP_STATUS_K_NOGEM = -8,
  QSEP_STATUS_K_UNDRUN = -9,
  QSEP_STATUS_K_OVRRUN = -10,
  QSEP_STATUS_K_INCLEN = -11,
  QSEP_STATUS_K_DECOMPRESS = -12,
  QSEP_STATUS_K_CHECKSUM = -13,
  QSEP_STATUS_K_LAST_VALID = -13
}
 Enumeration of the status codes. More...

Functions

QSEP * QSEP_alloc (int resource_level)
int QSEP_ebfSizeof (void)
void QSEP_updateAtDatagram (QSEP *qsep, const LSF_datagram *dgm)
void QSEP_updateAtContribution (QSEP *qsep, const LSF_contribution *ctb)
int QSEP_updateAtRecord (QSEP *qsep, const LSF_record *rec)
int QSEP_expand (QSEP *qsep, const LSF_record *rec, QSE_ebfEvt *ebf, int ebf_size, unsigned int *ret_size)
void QSEP_destruct (QSEP *qsep)
const char * QSEP_statusString (int status)
const QSE_ctx * QSEP_stdCtxGet (const QSEP *qsep)
const QSEP_ctx * QSEP_appCtxGet (const QSEP *qsep)
int QSEP_sizeof (unsigned int resource_level, void *prm)
QSEP * QSEP_construct (QSEP *qsep, unsigned int resource_level, void *prm)


Detailed Description

Interface to physics event context handling and updating routines.

Author:
JJRussell - russell@slac.stanford.edu

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

Typedef Documentation

Typedef for QSEP_STATUS_K.

The errors breakdown into roughly two categories
  1. User errors
  2. Internal errors
User Errors
Currently there are two user errors.
  1. Attempting to decode an event with compression level that exceeds what the user configured the decoder to handle. This maximum level is specified when allocating the QSEP handle.
  2. The user specified an output buffer that was too small to accommodate the event.
Internal Errors
The candidates for causing these errors are
  1. Internal error on the encoding side, i.e. the software that formatted and wrote the event out has an error.
  2. Internal error on the decoding side, i.e. the software that is decoding the event has an error.
  3. The input data was corrupted (for example a memory overwrite) after it was read in.


Enumeration Type Documentation

Enumeration of the status codes.

Enumerator:
QSEP_STATUS_K_ERR  Generic failure
QSEP_STATUS_K_TOO_SMALL  The user provided buffer is too small to accommodate the expanded event.
QSEP_STATUS_K_INSRSC  Insuffient resources to expand the requested input event format/compression level. The format/compression level is one of the known formats, but the user did not configure the expansion software with sufficient resources to handle it
QSEP_STATUS_K_UNKLVL  Unknown input event format/compression level. This is likely an internal error or an attempt to use an older version of the QSEP code that did not, at that time, support the specified format/compression level
QSEP_STATUS_K_NOGEM  The GEM contribution could not be located in the input data. Without the GEM contribution, the extended counter information cannot be updated. This is likely caused by an internal error. It is possible that there is a bug in the encoding/decoding of the data or that the input data was somehow corrupted.
QSEP_STATUS_K_UNDRUN  There was data left in the input after the event expansion thought it had completed. This is likely caused by an internal error. It is possible that there is a bug in the encoding/decoding of the data or that the input data was somehow corrupted.
QSEP_STATUS_K_OVRRUN  The input data was exhausted before the expansion thought it had completed. This is likely caused by an internal error. It is possible that there is a bug in the encoding/decoding of the data or that the input data was somehow corrupted.
QSEP_STATUS_K_INCLEN  An inconsistency in the calculation of the number of bytes to in the output stream and actual number. This is purely an internal error in the expansion/unpacking routines
QSEP_STATUS_K_DECOMPRESS  Decompression failure. This is purely an internal error likely within the compression/decompression routines
QSEP_STATUS_K_CHECKSUM  Checksum failure. This can be either an internal error, or more likely, a hardware failure that violated an assumption made by the compression routines
QSEP_STATUS_K_LAST_VALID  Last valid status code


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