GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > LCBD / V1-3-2
Constituent: lcbd     Tag: mv2304
#include "LCBD/LCB.h"
#include "LCBD/LATP.h"
Include dependency graph for LCBD_evt.h:
This graph shows which files directly or indirectly include this file:
Data Structures | |
struct | _LCBD_evt |
Layout of an unsolicited data received on the event fabric. More... | |
struct | _LCBD_evt_cbp |
Binds an event call back routine with its parameter. More... | |
struct | _LCBD_evt_err_cbp |
Binds an event error handler call back routine with its parameter. More... | |
struct | _LCBD_evt_hdr |
Layout of 8 padding words that precede an unsolicited event. More... | |
Defines | |
#define | LCBD_OK 0 |
Success return code, note that this is not an LCBD message code, but may be used as one. | |
#define | LCBD_EVT_K_DEFAULT_PRIORITY -1 |
Instructs the event service task creation routine LCBD_evt_handler_create to use a system defined default priority. | |
#define | LCBD_EVT_PROTO_CNT ( LCB_EVT_PROTO_CNT + 1) |
The LCBD driver keeps track of the known LCB protocols + reserves one spot for unknown protocols. | |
#define | LCBD_EVT_PROTO_UNDEFINED (LCBD_EVT_PROTO_CNT - 1) |
Defines the 'undefined protocol. | |
Typedefs | |
typedef enum _LCBD_EVT_COND | LCBD_EVT_COND |
Typedef for enum _LCB_EVT_COND. | |
typedef enum _LCBD_EVT_QUE_STATE | LCBD_EVT_QUE_STATE |
Typedef for enum _LCBD_EVT_QUE_STATE. | |
typedef enum _LCBD_EVT_QUE_STATE | LCBD_evt_que_state |
Typedef for enum _LCBD_EVT_QUE_STATE. | |
typedef _LCBD_evt_hdr | LCBD_evt_hdr |
typedef for struct _LCBD_evt_hdr | |
typedef _LCBD_evt | LCBD_evt |
typedef for struct _LCBD_evt | |
typedef enum _LCBD_EVT_FATE_M | LCBD_EVT_FATE_M |
Typedef for enum _LCBD_EVT_FATE_M. | |
typedef unsigned int(* | LCBD_evt_cb )(void *prm, unsigned int dsc, LCBD_evt *evt) |
Typedef for LCBD event handling callback routine. | |
typedef _LCBD_evt_cbp | LCBD_evt_cbp |
Typedef for struct _LCBD_evt_cbp. | |
typedef unsigned int(* | LCBD_evt_err_cb )(void *prm, unsigned int ed, LCBD_evt *evt) |
Typedef for LCBD event error handling callback routine. | |
typedef _LCBD_evt_err_cbp | LCBD_evt_err_cbp |
Typedef for struct _LCBD_evt_err_cbp. | |
Enumerations | |
enum | _LCBD_EVT_COND { LCBD_EVT_COND_75_FULL = 0x0, LCBD_EVT_COND_50_FULL = 0x1, LCBD_EVT_COND_25_FULL = 0x2, LCBD_EVT_COND_NOT_EMPTY = 0x3 } |
Enumerates the Interrupt Request conditions of both the event queue. More... | |
enum | _LCBD_EVT_QUE_STATE { LCBD_EVT_QUE_STATE_EMPTY = -1, LCBD_EVT_QUE_STATE_POSTED = 0, LCBD_EVT_QUE_STATE_BUSY = 1 } |
Describes the current state of event queue. More... | |
enum | _LCBD_EVT_FATE_M { LCBD_EVT_FATE_M_NO_MORE = (1 << 0), LCBD_EVT_FATE_M_NO_REARM = (1 << 1), LCBD_EVT_FATE_M_NO_FREE = (1 << 2), LCBD_EVT_FATE_M_NO_PROCESS = (1 << 3), LCBD_EVT_FATE_M_ABORT } |
Bit masks defining the options available on the return values of the event callback routine. More... | |
Functions | |
unsigned int | LCBD_evt_cb_set (LCBD lcb, unsigned int proto, LCBD_evt_cb cb, void *prm) |
Sets the event data callback routine and parameter for the specified LATp protocol. | |
LCBD_evt_cbp | LCBD_evt_cbp_get (LCBD lcb, unsigned int proto) |
Retrieves the event data callback routine and parameter for the specified LATp protocol. | |
unsigned int | LCBD_evt_conds_set (LCBD lcb, unsigned int conditions) |
Sets the interrupt conditions for the EVENT FIFO and EVENT ring buffer. | |
unsigned int | LCBD_evt_err_cb_set (LCBD lcb, LCBD_evt_err_cb cb, void *prm) |
Establish callback for event transport errors. | |
LCBD_evt_err_cbp | LCBD_evt_err_cbp_get (LCBD lcb) |
Returns the callback routine for the event transport error handler plus its parameter. | |
unsigned int | LCBD_evt_enable (LCBD lcb, int enable) |
Enables/Disables the flow of events into the LCB. | |
unsigned int | LCBD_evt_handler_create (LCBD lcb, int priority) |
Creates the event que handler service task. | |
unsigned int | LCBD_evt_que_install (LCBD lcb, FORK_que *que) |
Installs queue from fcb as the ISR -> task message queue for event traffic. | |
LCBD_evt_que_state | LCBD_evt_tickle (LCBD lcb) |
Callable version of the LCBD ISR. | |
unsigned int | LCBD_evt_rcv_err_map (unsigned int err) |
Maps a receive error to a standard LCB message code. | |
unsigned int | LCBD_evt_xfr_err_map (unsigned int err) |
Maps a event transfer error code to a standard LCB message code. | |
unsigned int | LCBD_evt_free (LCBD lcb, LCBD_evt *evt) |
Frees the a LCBD_evt. | |
unsigned int | LCBD_evt_rng_free (LCBD lcb, LCBD_evt *from, LCBD_evt *to) |
Frees the LCBD_evts from to to exclusively, i.e. excludes the memory associated with to Frees theLCBD_evt. |
JJRussell -- russell@slac.stanford.edu
CVS $Id
|
Instructs the event service task creation routine LCBD_evt_handler_create to use a system defined default priority.
|
|
Typedef for LCBD event handling callback routine.
|
|
Typedef for enum _LCB_EVT_COND.
|
|
Typedef for LCBD event error handling callback routine.
The PACKET TRUNCATED events are passed to the normal user callback handlers where the user is expected to handle packet reassembly in a manner appropriate to his processing needs. Any other errors are really serious hardware errors. Continued use of the LCB device is at the user's peril. However, rather than simply bugchecking the system, a callback routine is provided to allow the user to handle this error condition. The recommended action is to put your house in order with a minimum of fuss (naturally this means no LCB accesses) and shut the system down as gracefully as possible.
|
|
Typedef for struct _LCBD_evt_err_cbp. All event descriptors with fatal hardware receive/transmit errors are funneled through this callback for user action. Naturally, these events are not expected to occur, but this a clean mechanism for moving the error handling outside the context of the driver. |
|
Typedef for enum _LCBD_EVT_FATE_M.
|
|
typedef for struct _LCBD_evt_hdr
|
|
Typedef for enum _LCBD_EVT_QUE_STATE. This value is returned by LCBD_evt_tickle. |
|
Enumerates the Interrupt Request conditions of both the event queue.
|
|
Bit masks defining the options available on the return values of the event callback routine.
|
|
|
Sets the event data callback routine and parameter for the specified LATp protocol.
|
|
Retrieves the event data callback routine and parameter for the specified LATp protocol.
|
|
Sets the interrupt conditions for the EVENT FIFO and EVENT ring buffer.
new = LCBD_EVT_CONDS_COMPOSE (LCBD_M_EVT_COND_50_FULL, LCBD_M_EVT_COND_25_FULL); prv = LCBD_evt_cond_set (lcb, new); // Do somethings, then restore prv = LCBD_evt_cond_set (lcb, prv); |
Here is the call graph for this function:
|
Enables/Disables the flow of events into the LCB.
|
Here is the call graph for this function:
|
Establish callback for event transport errors.
|
|
Returns the callback routine for the event transport error handler plus its parameter.
|
|
Frees the a LCBD_evt.
|
Here is the call graph for this function:
|
Creates the event que handler service task.
|
Here is the call graph for this function:
|
Installs queue from fcb as the ISR -> task message queue for event traffic.
|
|
Maps a receive error to a standard LCB message code.
|
|
Frees the LCBD_evts from to to exclusively, i.e. excludes the memory associated with to Frees theLCBD_evt.
|
Here is the call graph for this function:
|
Callable version of the LCBD ISR.
|
Here is the call graph for this function:
|
Maps a event transfer error code to a standard LCB message code.
|