GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> EDS / V2-10-2 > ebfio / mv2304


Interface   Data Structures   File List   Data Fields   Globals  

LCBV.h File Reference

LCB Virtual Device, interface. More...


Typedefs

typedef enum
_LCBV_PKT_FATE_M 
LCBV_PKT_FATE_M
 Typedef for enum _LCBV_PKT_FATE_M.
typedef unsigned int(* LCBV_pktCb )(void *prm, unsigned int dsc, EBF_pkt *pkt)
 Typedef for LCBV packet handling callback routine.
typedef unsigned int(* LCBV_pktsRngFreeCb )(void *prm, EBF_pkt *from, EBF_pkt *to)
 Callback signature to free the exclusive range of EBF packets from to to.

Enumerations

enum  _LCBV_PKT_FATE_M {
  LCBV_PKT_FATE_M_NO_MORE = (1 << 0),
  LCBV_PKT_FATE_M_NO_FREE = (1 << 2),
  LCBV_PKT_FATE_M_NO_PROCESS = (1 << 3),
  LCBV_PKT_FATE_M_PAUSE = (1 << 4),
  LCBV_PKT_FATE_M_IOERR = (1 << 5),
  LCBV_PKT_FATE_M_ABORT,
  LCBV_PKT_FATE_M_EOF = (1 << 31)
}
 Bit masks defining the options available on the return values of the packet callback routine. More...


Detailed Description

LCB Virtual Device, interface.

Author:
JJRussell - russell@slac.stanford.edu
   CVS $Id: LCBV.h,v 1.4 2007/02/14 01:01:53 russell Exp $

Typedef Documentation

LCBV_PKT_FATE_M

Typedef for enum _LCBV_PKT_FATE_M.

Usage
The user can control the packets processing loop in packet handler by specifying the return value as a bit list of the options enumerated here. The most common values will be 0, just keep on keeping on or LCBD_PKT_FATE_M_NO_MORE to stop the stream.

unsigned int(* LCBV_pktCb)(void *prm, unsigned int dsc, EBF_pkt *pkt)

Typedef for LCBV packet handling callback routine.

Returns:
A bit list of options enumerated by LCBV_PKT_FATE_M
Parameters:
prm User provided parameter
dsc The event descriptor as an uninterpreted unsigned int. Likely the only thing valuable in here is the status.
pkt Pointer to the packet data. This contains the length of the packet as well as the data itself
Usage
This is the user callback routine to handle packets.
Return Options
Normally this routine should return 0, but for testing and debugging purposes, it may return a bit list of the options enumerated in LCBV_PKT_FATE_M. The options currently include

unsigned int(* LCBV_pktsRngFreeCb)(void *prm, EBF_pkt *from, EBF_pkt *to)

Callback signature to free the exclusive range of EBF packets from to to.

Parameters:
prm Arbitrary user parameter, but likely the LCB device handle
from The address to start the free at.
to The address of the last event to free
What's freed
The memory from from to to is freed.


Enumeration Type Documentation

enum _LCBV_PKT_FATE_M

Bit masks defining the options available on the return values of the packet callback routine.

See also:
EBF_pkt_cb
Enumerator:
LCBV_PKT_FATE_M_NO_MORE  Stop processing transactions
LCBV_PKT_FATE_M_NO_FREE  Don't free the event
LCBV_PKT_FATE_M_NO_PROCESS  Don't process the event, applicable only for error handler
LCBV_PKT_FATE_M_PAUSE  Pause the processing
LCBV_PKT_FATE_M_IOERR  IO error
LCBV_PKT_FATE_M_ABORT  Convenience symbol, since this is the most common return value from the error routine
LCBV_PKT_FATE_M_EOF  No more packets


Generated on Thu Sep 2 12:27:40 2010 by  doxygen 1.5.3