GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> DFI / V5-2-3 > dfi / linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

DfiFile-Key.hh File Reference

Layout and access for file keys. More...

#include <PBI/Endianness.h>


Classes

struct  DfiFile::KeyGeneric_bf
 The bit field layout of a generic key. More...
struct  DfiFile::KeyFmx_bf
 The bit field layout of a FMX key. More...
struct  DfiFile::KeyCmx_bf
 The bit field layout of a CMX key. More...
union  DfiFile::Key_u
 Captures all the key types. More...

Namespaces

namespace  Key
 Captures the functions for dealing with generic keys.
namespace  KeyFmx
 Access functions for a FMX key.
namespace  KeyCmx
 Access functions for a CMX key.

Enumerations

enum  Type {
  DfiFile::Key::FMX = 0,
  DfiFile::Key::CMX = 1,
  DfiFile::Key::NONE = 7
}
 The enumerates the 8 possible key types.

Functions

unsigned int DfiFile::Key::type (unsigned int key)
 Returns the key type.
unsigned int DfiFile::Key::user (unsigned int key)
 Returns the user field. The interpretation of this field is dependent of the file the key is describing.
unsigned int DfiFile::Key::value (unsigned int key)
 Returns the value of the key. For the FMX keys, this is just its value field, for all other keys it is the full key. This function is generally used by DFI to return the key to the user when he is expecting an FMX key and does not wish to deal with the user or type fields.
unsigned int DfiFile::KeyFmx::type (unsigned int key)
 Return the FMX key type. This had better be Type::FMX otherwise this key is not a FMX key.
unsigned int DfiFile::KeyFmx::user (unsigned int key)
 Returns the user field of an FMX key.
unsigned int DfiFile::KeyFmx::value (unsigned int key)
 Returns the FMX file key portion of the full key.
unsigned int DfiFile::KeyFmx::error (unsigned int key)
 Returns the must be zero fields. If these are not zero the key is in error.
unsigned int DfiFile::KeyCmx::type (unsigned int key)
 Returns the CMX key type. This had better be Type::CMX otherwise this key is not a CMX key.
unsigned int DfiFile::KeyCmx::user (unsigned int key)
 Returns the user field of a CMX key.
unsigned int DfiFile::KeyCmx::value (unsigned int key)
unsigned int DfiFile::KeyCmx::patch (unsigned int key)
 Returns the patch number of a CMX key.
unsigned int DfiFile::KeyCmx::minor (unsigned int key)
 Returns the minor version number of a CMX key.
unsigned int DfiFile::KeyCmx::major (unsigned int key)
 Returns the major version number of a CMX key.


Detailed Description

Layout and access for file keys.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: DfiFile-Key.hh,v 1.2 2011/03/29 20:58:46 russell Exp $

Routines to access the file keys stored in the datagrams. Mainly this was added to strip away the extra information stored in the upper 8-bits of FMX-style keys (uninteresting and an nuisance to DFI customers) but not strip them for CMX-style keys. (CMX-style keys are used in testing and should never appear in LAT-produced datagrams. There are used by developers to test new configurations, solving the chicken-and-egg problem of you can't commit a new configuration file until you test it, you can't test it till you get a new key and you can't get a new key until you commit it. As such, CMX-style keys are only of interest to developers.)


Generated on Fri Sep 30 19:08:26 2011 by  doxygen 1.5.8