GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > EDS / V2-10-0
Constituent: eds     Tag: mv2304
#include "EDS/LCBV.h"
#include "EDS/EBF_siv.h"
#include "EDS/EDS_rsd.h"
#include "EDS/EDS_fwServices.h"
Classes | |
struct | _EDS_fwIxbInfo |
Derived information about the event that is can be shared between processor. More... | |
struct | _EDS_fwEvt |
These are the reserved data blocks used in the EDS_fwIxb. More... | |
union | _EDS_fwIxbBlk |
The pointer data block. More... | |
struct | _EDS_fwIxbSrc |
Static information about the nature of the data source controlled by this EDS framework. More... | |
struct | _EDS_fwIxbDst |
Static information about the nature of the data sinking controlled by this EDS framework. More... | |
struct | _EDS_fwIxb |
Encapsulates all the derived data structures associated with an event. More... | |
Defines | |
#define | EDS_FW_MASK(_bitNumber) (1 << (31 - (_bitNumber))) |
Creates the corresponding bit mask. | |
Typedefs | |
typedef enum _EDS_FW_OBJ_K | EDS_FW_OBJ_K |
Typedef for enum _EDS_OBJ_K. | |
typedef enum _EDS_FW_OBJ_V | EDS_FW_OBJ_V |
Typedef for enum _EDS_OBJ_V. | |
typedef enum _EDS_FW_OBJ_M | EDS_FW_OBJ_M |
Typedef for enum _EDS_OBJ_M. | |
typedef enum _EDS_FW_K_POST | EDS_FW_K_POST |
Typedef for enum _EDS_FW_K_POST. | |
typedef enum _EDS_FW_V_POST | EDS_FW_V_POST |
Typedef for enum _EDS_FW_V_POST. | |
typedef enum _EDS_FW_M_POST | EDS_FW_M_POST |
Typedef for enum _EDS_FW_M_POST. | |
typedef enum _EDS_FW_FN_V | EDS_FW_FN_V |
Typedef for enum _EDS_FW_FN_V. | |
typedef enum _EDS_FW_FN_M | EDS_FW_FN_M |
Typedef for enum _EDS_FW_FN_M. | |
typedef void *(* | EDS_fwMemNew )(void *prm, unsigned int amount) |
Callback signature for the framework's allocator. | |
typedef void(* | EDS_fwMemDelete )(void *prm, void *ptr, unsigned int amount) |
Callback signature for the memory deallocator. | |
typedef enum _EDS_FW_EVTQUE_K | EDS_FW_EVTQUE_K |
Typedef for enum _EDS_FW_EVTQUE_K. | |
typedef struct _EDS_fwIxbInfo | EDS_fwIxbInfo |
Typedef for EDS_fwIxbInfo. | |
typedef struct _EDS_fwEvt | EDS_fwEvt |
Typedef for struct _EDS_fwEvt. | |
typedef union _EDS_fwIxbBlk | EDS_fwIxbBlk |
Typedef for union _EDS_fwIxbBlk. | |
typedef unsigned int(* | EDS_fwIxbObjConstructor )(void *ptr) |
Signature for constructing an Information Exchange objects. | |
typedef unsigned int(* | EDS_fwIxbObjDestructor )(void *ptr) |
Signature 'for destructing' an Information Exchange objects. | |
typedef void(* | EDS_fwIxbObjReset )(void *ptr) |
Signature for resetting an Information Exchange object. | |
typedef struct _EDS_fwIxbSrc | EDS_fwIxbSrc |
Typedef for struct _EDS_fwIxbSrc. | |
typedef struct _EDS_fwIxbDst | EDS_fwIxbDst |
Typedef for struct _EDS_fwIxbDst. | |
typedef struct _EDS_fwIxb | EDS_fwIxb |
Typedef for struct _EDS_fwIxb. | |
Enumerations | |
enum | _EDS_FW_OBJ_K { EDS_FW_OBJ_K_ERR = 0, EDS_FW_OBJ_K_DIR = 1, EDS_FW_OBJ_K_ACD = 2, EDS_FW_OBJ_K_TKR = 3, EDS_FW_OBJ_K_CAL = 4, EDS_FW_OBJ_K_ACDC = 5, EDS_FW_OBJ_K_TKRC = 6, EDS_FW_OBJ_K_CALC = 7, EDS_FW_OBJ_K_CNT = 8 } |
Enumerates what the type of objects the framework manages. More... | |
enum | _EDS_FW_OBJ_V { EDS_FW_OBJ_V_ERR = 31 - EDS_FW_OBJ_K_ERR, EDS_FW_OBJ_V_DIR = 31 - EDS_FW_OBJ_K_DIR, EDS_FW_OBJ_V_ACD = 31 - EDS_FW_OBJ_K_ACD, EDS_FW_OBJ_V_TKR = 31 - EDS_FW_OBJ_K_TKR, EDS_FW_OBJ_V_CAL = 31 - EDS_FW_OBJ_K_CAL, EDS_FW_OBJ_V_ACDC = 31 - EDS_FW_OBJ_K_ACDC, EDS_FW_OBJ_V_TKRC = 31 - EDS_FW_OBJ_K_TKRC, EDS_FW_OBJ_V_CALC = 31 - EDS_FW_OBJ_K_CALC } |
Enumerates the bit positions of the print objects. More... | |
enum | _EDS_FW_OBJ_M { EDS_FW_OBJ_M_ERR = (1 << EDS_FW_OBJ_V_ERR ), EDS_FW_OBJ_M_DIR = (1 << EDS_FW_OBJ_V_DIR ), EDS_FW_OBJ_M_ACD = (1 << EDS_FW_OBJ_V_ACD ), EDS_FW_OBJ_M_TKR = (1 << EDS_FW_OBJ_V_TKR ), EDS_FW_OBJ_M_CAL = (1 << EDS_FW_OBJ_V_CAL ), EDS_FW_OBJ_M_ACDC = (1 << EDS_FW_OBJ_V_ACDC ), EDS_FW_OBJ_M_TKRC = (1 << EDS_FW_OBJ_V_TKRC ), EDS_FW_OBJ_M_CALC = (1 << EDS_FW_OBJ_V_CALC ), EDS_FW_OBJ_M_ALL } |
Enumerates the bit masks of the print objects. More... | |
enum | _EDS_FW_K_POST { EDS_FW_K_POST_0 = 0, EDS_FW_K_POST_1 = 1, EDS_FW_K_POST_2 = 2, EDS_FW_K_POST_3 = 3, EDS_FW_K_POST_CNT = 4 } |
Enumeration of the output posting queues/streams. More... | |
enum | _EDS_FW_V_POST { EDS_FW_V_POST_0 = 31 - EDS_FW_K_POST_0, EDS_FW_V_POST_1 = 31 - EDS_FW_K_POST_1, EDS_FW_V_POST_2 = 31 - EDS_FW_K_POST_2, EDS_FW_V_POST_3 = 31 - EDS_FW_K_POST_3 } |
Enumeration of the output posting queues/streams, right justified bit offset. More... | |
enum | _EDS_FW_M_POST { EDS_FW_M_POST_0 = 1 << EDS_FW_V_POST_0, EDS_FW_M_POST_1 = 1 << EDS_FW_V_POST_1, EDS_FW_M_POST_2 = 1 << EDS_FW_V_POST_2, EDS_FW_M_POST_3 = 1 << EDS_FW_V_POST_3 } |
Enumeration of the output posting queues/streams, in place masks. More... | |
enum | _EDS_FW_FN_V { EDS_FW_FN_V_NO_MORE = 0, EDS_FW_FN_V_DIR = 1, EDS_FW_FN_V_RSVD_2 = 2, EDS_FW_FN_V_RSVD_3 = 3, EDS_FW_FN_V_FIRST = 4, EDS_FW_FN_V_MID = 5, EDS_FW_FN_V_LAST = 6, EDS_FW_FN_V_STOP = 7, EDS_FW_FN_V_POST = 12, EDS_FW_FN_V_POST_3 = 12, EDS_FW_FN_V_POST_2 = 13, EDS_FW_FN_V_POST_1 = 14, EDS_FW_FN_V_POST_0 = 15 } |
The bit offsets of fate and need bits. More... | |
enum | _EDS_FW_FN_M { EDS_FW_FN_M_NO_MORE = (1 << EDS_FW_FN_V_NO_MORE), EDS_FW_FN_M_DIR = (1 << EDS_FW_FN_V_DIR), EDS_FW_FN_M_RSVD_2 = (1 << EDS_FW_FN_V_RSVD_2), EDS_FW_FN_M_RSVD_3 = (1 << EDS_FW_FN_V_RSVD_3), EDS_FW_FN_M_FIRST = (1 << EDS_FW_FN_V_FIRST), EDS_FW_FN_M_MID = (1 << EDS_FW_FN_V_MID), EDS_FW_FN_M_LAST = (1 << EDS_FW_FN_V_LAST), EDS_FW_FN_M_STOP = (1 << EDS_FW_FN_V_STOP), EDS_FW_FN_M_POST, EDS_FW_FN_M_POST_3 = (1 << EDS_FW_FN_V_POST_3), EDS_FW_FN_M_POST_2 = (1 << EDS_FW_FN_V_POST_2), EDS_FW_FN_M_POST_1 = (1 << EDS_FW_FN_V_POST_1), EDS_FW_FN_M_POST_0 = (1 << EDS_FW_FN_V_POST_0) } |
The bit masks of fate and need bits. | |
enum | _EDS_FW_EVTQUE_K { EDS_FW_EVTQUE_K_EVT = 31 } |
Enumerates the names of the event queues. More... | |
Functions | |
int | EDS_fwSizeof (void) |
Returns the size, in bytes, of and EDS_fw control structure. | |
void | EDS_fwConstruct (EDS_fw *fw, EDS_fwMemNew memNew, EDS_fwMemDelete memDelete, void *memPrm) |
Initializes the specified EDS_fw structure. | |
void | EDS_fwConstruct1 (EDS_fw *fw, EDS_fwMemNew memNew, EDS_fwMemDelete memDelete, void *memPrm, unsigned int origin, unsigned int cpu, unsigned int apidOffset) |
Initializes the specified EDS_fw structure. This is an expanded version of the construct that includes the data producer (origin) and the data processor (cpu). | |
int | EDS_fwPostRegister (EDS_fw *fw, unsigned int idx, EDS_fwPostStartRtn start, EDS_fwPostWriteRtn write, EDS_fwPostNotifyRtn notify, EDS_fwPostFlushRtn flush, void *prm) |
Initializes the specified EDS_fw posting stream. | |
int | EDS_fwPostServicesRegister (EDS_fw *fw, unsigned int idx, const EDS_fwPostServices *services, void *prm) |
Initializes the specified EDS_fw posting stream. | |
void | EDS_fwFreeSet (EDS_fw *fw, LCBV_pktsRngFreeCb pktsFreeRtn, void *pktsFreePrm) |
Sets the packet freeing routine. | |
int | EDS_fwIxbObjAdd (EDS_fw *fw, int object, int size, EDS_fwIxbObjConstructor construct, EDS_fwIxbObjDestructor destruct, EDS_fwIxbObjReset reset) |
Adds an object to the Information Exchange Block. | |
unsigned int | EDS_fwIxbObjAllocate (EDS_fw *fw, unsigned int objects) |
Allocates any previously added (known) objects. | |
unsigned int | EDS_fwDestruct (EDS_fw *fw) |
Destroys the EDS framework by unregistering all the registered handlers and destroying all objects. | |
int | EDS_fwHandlerRegisterX1 (EDS_fw *fw, int priority, unsigned int objects, unsigned int needs, unsigned int result_size, EDS_fwHandlerProcessRtn process, EDS_fwHandlerAssociateRtn associate, EDS_fwHandlerStartRtn start, EDS_fwHandlerSelectRtn select, EDS_fwHandlerFlushRtn flush, EDS_fwHandlerDestructRtn destruct, void *prm) |
Routine to register a packet handler. | |
int | EDS_fwHandlerServicesRegisterX1 (EDS_fw *fw, int priority, const EDS_fwHandlerServicesX1 *services, void *prm) |
Routine to register a packet handler using a service vector. | |
int | EDS_fwHandlerRegister (EDS_fw *fw, int priority, unsigned int objects, unsigned int needs, unsigned int result_size, EDS_fwHandlerProcessRtn process, EDS_fwHandlerAssociateRtn associate, EDS_fwHandlerSelectRtn select, EDS_fwHandlerFlushRtn flush, EDS_fwHandlerDestructRtn destruct, void *prm) |
Routine to register a packet handler. | |
int | EDS_fwHandlerServicesRegister (EDS_fw *fw, int priority, const EDS_fwHandlerServices *services, void *prm) |
Routine to register a packet handler using a service vector. | |
int | EDS_fwHandlerUnregister (EDS_fw *fw, int priority) |
Routine to unregister a packet processor. | |
unsigned int | EDS_fwHandlerChange (EDS_fw *fw, unsigned int targets, unsigned int newState) |
Changes the enabled/disabled state of the select targets. | |
int | EDS_fwHandlerProcess (EDS_fw *fw, unsigned int edw, EBF_pkt *pkt) |
This is the LCB event callback handler. | |
unsigned int | EDS_fwHandlerStart (EDS_fw *fw, unsigned int list, int reason, unsigned int run_id, unsigned int startTime, unsigned int mode) |
Informs the specified list of handlers of the start of a run. | |
unsigned int | EDS_fwHandlerSelect (EDS_fw *fw, unsigned int targets, unsigned int mode) |
Selects a new mode. | |
unsigned int | EDS_fwHandlerAssociate (EDS_fw *fw, unsigned int targets, unsigned int mode, unsigned int configuration) |
Associates a configuration with a mode. | |
unsigned int | EDS_fwHandlerFlush (EDS_fw *fw, unsigned int targets, int reason) |
This flushes the output of the specified list of handlers. | |
unsigned int | EDS_fwPostChange (EDS_fw *fw, unsigned int list, unsigned int newState) |
Changes the state of the enable/disable post list. | |
unsigned int | EDS_fwPostStart (EDS_fw *fw, unsigned int list, int reason, unsigned int run_id, unsigned int startTime, unsigned int mode, unsigned int hw_key, unsigned int cfg_key) |
Sets the parameters associated with a new run. | |
unsigned int | EDS_fwPostResume (EDS_fw *fw, unsigned int list, int reason) |
Resumes after a pause. | |
unsigned int | EDS_fwPostFlush (EDS_fw *fw, unsigned int list, int reason) |
Selects a new mode. | |
unsigned int | EDS_fwPostNotify (EDS_fw *fw, unsigned int list, unsigned int mode) |
Notifies the list of post routines of a change in the configuraion. | |
int | EDS_fwEvtQueSet (EDS_fw *fw, unsigned int que_id, FORK_que *que) |
Sets the FORK queues that feed the event delivery task. This is used to send synchronized messages to the event delivery task. | |
FORK_que * | EDS_fwEvtQueGet (EDS_fw *fw, unsigned int que_id) |
Returns a poitner to the FORK queues that feed the event delivery task. This is used to send synchronized messages to the event delivery task. | |
EDS_fwIxb * | EDS_fwIxbLocate (EDS_fw *fw) |
Locates the EDS_fwIxb structure. |
CVS $Id: EDS_fw.h,v 1.11 2009/04/29 17:47:18 russell Exp $
#define EDS_FW_MASK | ( | _bitNumber | ) | (1 << (31 - (_bitNumber))) |
Creates the corresponding bit mask.
_bitNumber | The bit number |
Typedef for enum _EDS_FW_FN_M.
Typedef for enum _EDS_FW_FN_V.
Typedef for enum _EDS_FW_K_POST.
Typedef for enum _EDS_FW_M_POST.
Typedef for enum _EDS_OBJ_M.
Typedef for enum _EDS_FW_OBJ_M.
Typedef for enum _EDS_OBJ_V.
Typedef for enum _EDS_FW_OBJ_V.
Typedef for enum _EDS_FW_V_POST.
Typedef for struct _EDS_fwIxb.
Typedef for EDS_fwIxbInfo.
unsigned int(* EDS_fwIxbObjConstructor)(void *ptr) |
Signature for constructing an Information Exchange objects.
ptr | A pointer to the object to construct |
unsigned int(* EDS_fwIxbObjDestructor)(void *ptr) |
Signature 'for destructing' an Information Exchange objects.
ptr | A pointer to the object to destruct |
void(* EDS_fwIxbObjReset)(void *ptr) |
Signature for resetting an Information Exchange object.
ptr | A pointer to the object to reset |
void(* EDS_fwMemDelete)(void *prm, void *ptr, unsigned int amount) |
Callback signature for the memory deallocator.
prm | Arbitrary user parameter | |
ptr | Pointer to the memory to be deallocated | |
amount | The number of bytes to be deallocated |
typedef void *(* EDS_fwMemNew)(void *prm, unsigned int amount) |
Callback signature for the framework's allocator.
prm | Arbitrary user parameter | |
amount | The number of bytes being requested |
enum _EDS_FW_EVTQUE_K |
enum _EDS_FW_FN_V |
The bit offsets of fate and need bits.
enum _EDS_FW_K_POST |
enum _EDS_FW_M_POST |
enum _EDS_FW_OBJ_K |
Enumerates what the type of objects the framework manages.
enum _EDS_FW_OBJ_M |
Enumerates the bit masks of the print objects.
Bit masks for the managed objects.
enum _EDS_FW_OBJ_V |
Enumerates the bit positions of the print objects.
Bit offsets for the managed objects.
enum _EDS_FW_V_POST |
void EDS_fwConstruct | ( | EDS_fw * | fw, | |
EDS_fwMemNew | memNew, | |||
EDS_fwMemDelete | memDelete, | |||
void * | memPrm | |||
) |
Initializes the specified EDS_fw structure.
fw | The EDS_fw structure to initialize | |
memNew | Memory allocator | |
memDelete | Memory deallocator | |
memPrm | Memory context handle |
void EDS_fwConstruct1 | ( | EDS_fw * | fw, | |
EDS_fwMemNew | memNew, | |||
EDS_fwMemDelete | memDelete, | |||
void * | memPrm, | |||
unsigned int | origin, | |||
unsigned int | cpu, | |||
unsigned int | apidOffset | |||
) |
Initializes the specified EDS_fw structure. This is an expanded version of the construct that includes the data producer (origin) and the data processor (cpu).
fw | The EDS_fw structure to initialize | |
memNew | Memory allocator | |
memDelete | Memory deallocator | |
memPrm | Memory context handle | |
origin | The data production origin. This is typically a small integer describing the entity (for example the LAT, the GLEAM Monte Carlo program) that produced the data. The value -1 is reserved for an unknown.producer. | |
cpu | The cpu identifier. This is typically a small integer describing the CPU that processed the data. -1 is reserved for an unspecified CPU. | |
apidOffset | An offset (0-4) that is added to an APID base value in order to create a CPU unique APID. |
unsigned int EDS_fwDestruct | ( | EDS_fw * | fw | ) |
Destroys the EDS framework by unregistering all the registered handlers and destroying all objects.
fw | The framework to destroy |
FORK_que* EDS_fwEvtQueGet | ( | EDS_fw * | fw, | |
unsigned int | que_id | |||
) |
Returns a poitner to the FORK queues that feed the event delivery task. This is used to send synchronized messages to the event delivery task.
!= | NULL, The fork que | |
== | NULL, Either the FORK_que requested FORK que has not been set or que_id is out-of-range (0-31) |
fw | The EDS framework structure | |
que_id | The que id, 0-31, see the enum EDS_FW_EVTQUE_K for the symbolic names of these queues. |
int EDS_fwEvtQueSet | ( | EDS_fw * | fw, | |
unsigned int | que_id, | |||
FORK_que * | que | |||
) |
Sets the FORK queues that feed the event delivery task. This is used to send synchronized messages to the event delivery task.
0,Success | ||
-1,Failure,\a | que_id is out-of-range (0-31) |
fw | The EDS framework structure | |
que_id | The que id, 0-31, see the enum EDS_FW_EVTQUE_K for the symbolic names of these queues. | |
que | The FORK que |
void EDS_fwFreeSet | ( | EDS_fw * | fw, | |
LCBV_pktsRngFreeCb | pktsFreeRtn, | |||
void * | pktsFreePrm | |||
) |
Sets the packet freeing routine.
fw | The EDS_fw structure to initialize | |
pktsFreeRtn | Routine to free the packet | |
pktsFreePrm | Parameter to the free routine. |
unsigned int EDS_fwHandlerAssociate | ( | EDS_fw * | fw, | |
unsigned int | targets, | |||
unsigned int | mode, | |||
unsigned int | configuration | |||
) |
Associates a configuration with a mode.
fw | The EDS_fw structure | |
targets | The target list, specified as a bit mask, of those handlers to set the new mode in | |
mode | The mode, passed through to the user's associate routine. | |
configuration | The index of the configuration to associate with the specified mode, passed through to the user's associate routine. |
unsigned int EDS_fwHandlerChange | ( | EDS_fw * | fw, | |
unsigned int | targets, | |||
unsigned int | newState | |||
) |
Changes the enabled/disabled state of the select targets.
fw | The framework handle | |
targets | A bit mask of the targets. | |
newState | A bit mask of the new state (0 = disable, 1 = enabled)) |
unsigned int EDS_fwHandlerFlush | ( | EDS_fw * | fw, | |
unsigned int | targets, | |||
int | reason | |||
) |
This flushes the output of the specified list of handlers.
fw | The EDS_fw structure | |
targets | The target list, specified as a bit mask, of those handlers to flush | |
reason | The reason flush is being called. This is just passed through to the user's flush routine |
This is the LCB event callback handler.
fw | The control structure | |
edw | The Event Descriptor Word | |
pkt | The packet to process |
int EDS_fwHandlerRegister | ( | EDS_fw * | fw, | |
int | priority, | |||
unsigned int | objects, | |||
unsigned int | needs, | |||
unsigned int | result_size, | |||
EDS_fwHandlerProcessRtn | process, | |||
EDS_fwHandlerAssociateRtn | associate, | |||
EDS_fwHandlerSelectRtn | select, | |||
EDS_fwHandlerFlushRtn | flush, | |||
EDS_fwHandlerDestructRtn | destruct, | |||
void * | prm | |||
) |
Routine to register a packet handler.
fw | The framework's control structure | |
priority | The requested priority of the handler. If this is specified as
| |
objects | A bit list of the event objects (ACD unpack structure DIR structure, see EDS_FW_OBJ_M) that this processor needs. If this resource has not yet been allocated by a previous processor, then this call will allocate them. Note that this routine treats this request exactly as is. That is, it does not decide that because one has requested the TKR to be unpacked, that this implies one needs a directory structure. If the caller wishes to have a resource allocated on his behalf, the user must specify it. | |
needs | This is from the list EDS_FW_FN_M. It includes the these important pieces
| |
result_size | Size, in bytes, of the handler's result. An area of this size will be reserved in the Ixb. | |
prm | Arbitrary user parameter passed to the processor and destructor | |
process | The packet processing routine | |
associate | Routine to associate a configuration with a mode | |
select | Routine to selects the mode | |
flush | The packet handler's flush routine | |
destruct | The handler's destructor. This is called on during framework deletion and unregisteration |
int EDS_fwHandlerRegisterX1 | ( | EDS_fw * | fw, | |
int | priority, | |||
unsigned int | objects, | |||
unsigned int | needs, | |||
unsigned int | result_size, | |||
EDS_fwHandlerProcessRtn | process, | |||
EDS_fwHandlerAssociateRtn | associate, | |||
EDS_fwHandlerStartRtn | start, | |||
EDS_fwHandlerSelectRtn | select, | |||
EDS_fwHandlerFlushRtn | flush, | |||
EDS_fwHandlerDestructRtn | destruct, | |||
void * | prm | |||
) |
Routine to register a packet handler.
fw | The framework's control structure | |
priority | The requested priority of the handler. If this is specified as
| |
objects | A bit list of the event objects (ACD unpack structure DIR structure, see EDS_FW_OBJ_M) that this processor needs. If this resource has not yet been allocated by a previous processor, then this call will allocate them. Note that this routine treats this request exactly as is. That is, it does not decide that because one has requested the TKR to be unpacked, that this implies one needs a directory structure. If the caller wishes to have a resource allocated on his behalf, the user must specify it. | |
needs | This is from the list EDS_FW_FN_M. It includes the these important pieces
| |
result_size | Size, in bytes, of the handler's result. An area of this size will be reserved in the Ixb. | |
prm | Arbitrary user parameter passed to the processor and destructor | |
process | The packet processing routine | |
associate | Routine to associate a configuration with a mode | |
start | Routine to handle a start run | |
select | Routine to selects the mode | |
flush | The packet handler's flush routine | |
destruct | The handler's destructor. This is called on during framework deletion and unregisteration |
unsigned int EDS_fwHandlerSelect | ( | EDS_fw * | fw, | |
unsigned int | targets, | |||
unsigned int | mode | |||
) |
Selects a new mode.
fw | The EDS_fw structure | |
targets | The target list, specified as a bit mask, of those handlers to set the new mode in | |
mode | The new mode, passed through to the user's set routine |
int EDS_fwHandlerServicesRegister | ( | EDS_fw * | fw, | |
int | priority, | |||
const EDS_fwHandlerServices * | services, | |||
void * | prm | |||
) |
Routine to register a packet handler using a service vector.
fw | The framework's control structure | |
priority | The requested priority of the handler. If this is specified as
| |
services | The services structure | |
prm | Arbitrary user parameter passed to the processor and destructor |
int EDS_fwHandlerServicesRegisterX1 | ( | EDS_fw * | fw, | |
int | priority, | |||
const EDS_fwHandlerServicesX1 * | services, | |||
void * | prm | |||
) |
Routine to register a packet handler using a service vector.
fw | The framework's control structure | |
priority | The requested priority of the handler. If this is specified as
| |
services | The services structure | |
prm | Arbitrary user parameter passed to the processor and destructor |
unsigned int EDS_fwHandlerStart | ( | EDS_fw * | fw, | |
unsigned int | targets, | |||
int | reason, | |||
unsigned int | run_id, | |||
unsigned int | startTime, | |||
unsigned int | mode | |||
) |
Informs the specified list of handlers of the start of a run.
fw | The EDS_fw structure | |
targets | The target list, specified as a bit mask, of those handlers to send the start run to | |
reason | Suggested use is to indicate why the run is being started | |
run_id | Suggested use is to identify the block of events between when EDS_fwHandlerStart is called and EDS_fwHandlerFlush is called with a stop reason | |
startTime | The run start time rounded to the nearest second | |
mode | This must be the previously selected, by EDS_fwHandlerSelect, running mode. |
int EDS_fwHandlerUnregister | ( | EDS_fw * | fw, | |
int | priority | |||
) |
Routine to unregister a packet processor.
fw | The EDS framework structure | |
priority | The identifying priority of the handler to unregister |
Locates the EDS_fwIxb structure.
fw | The framework's control structure |
int EDS_fwIxbObjAdd | ( | EDS_fw * | fw, | |
int | object, | |||
int | size, | |||
EDS_fwIxbObjConstructor | construct, | |||
EDS_fwIxbObjDestructor | destruct, | |||
EDS_fwIxbObjReset | reset | |||
) |
Adds an object to the Information Exchange Block.
If | postive, the index of the added object | |
If | negative, failure |
fw | The framework's control structure | |
object | The index of the object to add | |
size | The size, in bytes, of the object | |
construct | The constructor routine (if any) | |
destruct | The destructor routine (if any) | |
reset | The reset routine (if any) |
unsigned int EDS_fwIxbObjAllocate | ( | EDS_fw * | fw, | |
unsigned int | objects | |||
) |
Allocates any previously added (known) objects.
fw | The framework's control structure | |
objects | The list of objects to allocate |
unsigned int EDS_fwPostChange | ( | EDS_fw * | fw, | |
unsigned int | list, | |||
unsigned int | newState | |||
) |
Changes the state of the enable/disable post list.
fw | The EDS_fw structure | |
list | The target list of posting routine, specified as a right justified bit mask | |
newState | The new enable/disable state of those post ques/streams specified by list |
unsigned int EDS_fwPostFlush | ( | EDS_fw * | fw, | |
unsigned int | list, | |||
int | reason | |||
) |
Selects a new mode.
fw | The EDS_fw structure | |
list | The target list of posting routine, specified as a bit mask | |
reason | The reason for flushing |
unsigned int EDS_fwPostNotify | ( | EDS_fw * | fw, | |
unsigned int | list, | |||
unsigned int | mode | |||
) |
Notifies the list of post routines of a change in the configuraion.
fw | The EDS_fw structure | |
list | The target list of posting routines, specified as a bit mask | |
mode | The new mode |
int EDS_fwPostRegister | ( | EDS_fw * | fw, | |
unsigned int | idx, | |||
EDS_fwPostStartRtn | start, | |||
EDS_fwPostWriteRtn | write, | |||
EDS_fwPostNotifyRtn | notify, | |||
EDS_fwPostFlushRtn | flush, | |||
void * | prm | |||
) |
Initializes the specified EDS_fw posting stream.
fw | The EDS_fw structure to initialize | |
idx | Which post routine (0-3 inclusive) | |
start | Routine to start (or more accurately) prepare a post stream to receive events. This routine may be specified as NULL. | |
write | Routine to write the event to the post stream. This routine may not be specfied as NULL. | |
notify | Routine to notify the post stream when a change to the configuration has occured. This routine may be specified as NULL. | |
flush | Routine to flush the post stream. This routine may not be specified as NULL. | |
prm | Parameter to the post routine |
unsigned int EDS_fwPostResume | ( | EDS_fw * | fw, | |
unsigned int | list, | |||
int | reason | |||
) |
Resumes after a pause.
fw | The EDS_fw structure | |
list | The target list of posting routine, specified as a bit mask | |
reason | Suggested use is to indicate why the post stream is being resumed |
int EDS_fwPostServicesRegister | ( | EDS_fw * | fw, | |
unsigned int | idx, | |||
const EDS_fwPostServices * | services, | |||
void * | prm | |||
) |
Initializes the specified EDS_fw posting stream.
fw | The EDS_fw structure to initialize | |
idx | Which post routine (0-3 inclusive) | |
services | Pointer to the list of services to set. | |
prm | Parameter to the post routine |
unsigned int EDS_fwPostStart | ( | EDS_fw * | fw, | |
unsigned int | list, | |||
int | reason, | |||
unsigned int | run_id, | |||
unsigned int | startTime, | |||
unsigned int | mode, | |||
unsigned int | hw_key, | |||
unsigned int | cfg_key | |||
) |
Sets the parameters associated with a new run.
fw | The EDS_fw structure | |
list | The target list of posting routine, specified as a bit mask | |
reason | Suggested use is to indicate why the post stream is being started | |
run_id | Suggested use is to identify the block of events between when EDS_fwStart is called and EDS_fwFlush is called with a stop reason | |
startTime | The run start time rounded to the nearest second. | |
mode | This must be the running mode. | |
hw_key | The hardware configuration file key | |
cfg_key | The software configuration file key. This likely a reference to how event handlers to EDS here configured (perhaps the LPA_DB key). |
int EDS_fwSizeof | ( | void | ) |
Returns the size, in bytes, of and EDS_fw control structure.