GLAST/LAT >
DAQ and FSW >
FSW >
Doxygen Index >
GRBU / V0-0-4
Constituent: grbu     Tag: sun-gcc
Interface Data Structures File List Data Fields Globals
GRBU_pubdefs.h File Reference
Public definitions for GRBU. More...
#include "GRB/GRB_pktdef.h"
#include "GRB/GRB_siu.h"
Include dependency graph for GRBU_pubdefs.h:
This graph shows which files directly or indirectly include this file:
|
Typedefs |
typedef _GRBU_pktMerge | GRBU_pktMerge |
typedef void(* | GRBU_mrgDisposeRtn )(void *prm, GRBU_pktMerge *mrg) |
| Signature for a routine to dispose of a GRB merge packet.
|
Functions |
unsigned int | GRBU_mergePacket (GRBU_pktMerge *mrg, const GRB_pktHdr *hdr, GRBU_mrgDisposeRtn rtn, void *prm) |
| Add a new merge packet to the merge process.
|
void | GRBU_mergeReset (void) |
| Reset the merge machine.
|
unsigned int | GRBU_mergeSizeof (void) |
| Size of a merge packet structure.
|
unsigned int | GRBU_mergeStart (unsigned int msk, GRB_siuStartRtn start_rtn, void *start_prm, GRB_siuProcessRtn exec_rtn, void *exec_prm, GRB_siuStopRtn stop_rtn, void *stop_prm) |
| Start the merging process.
|
Detailed Description
Public definitions for GRBU.
CVS $Id: GRBU_pubdefs.h,v 1.2 2007/06/19 20:15:10 apw Exp $
- Author:
- A.P.Waite
Function Documentation
|
Add a new merge packet to the merge process.
- Parameters:
-
| mrg | (in) A merge packet header |
| hdr | (in) Pointer to the header of the real data packet |
| rtn | (in) Callback routine to dispose of the merge packet |
| prm | (in) User parameter to the disposal routine |
- Return values:
-
| GRBU_ENDMERGE | End of merge run |
| GRBU_NULLPARM | NULL parameter in calling sequence |
| GRBU_SRCOFF | No merge packets expected from this source |
| GRBU_SRCEND | Source has sent stop packet, then another packet |
| GRBU_SUCCESS | Success |
Receive a new GRB packet and push it through merging. |
unsigned int GRBU_mergeStart |
( |
unsigned int |
msk, |
|
|
GRB_siuStartRtn |
start_rtn, |
|
|
void * |
start_prm, |
|
|
GRB_siuProcessRtn |
exec_rtn, |
|
|
void * |
exec_prm, |
|
|
GRB_siuStopRtn |
stop_rtn, |
|
|
void * |
stop_prm |
|
) |
|
|
|
Start the merging process.
- Parameters:
-
| msk | [in] Mask of sources (CPUs) to merge |
| start_rtn | [in] Callback to inform photon processor of "start" |
| start_prm | [in] User parameter to "start_rtn()" |
| exec_rtn | [in] Callback for each photon |
| exec_prm | [in] User parameter to "start_rtn()" |
| stop_rtn | [in] Callback to inform photon processor of "stop" |
| stop_prm | [in] User parameter to "start_rtn()" |
- Return values:
-
| GRBU_SRCMSK | Invalid source (CPU) mask |
| GRBU_STARTPRM | No photon processing routine provided |
| GRBU_SUCCESS | Success |
GRBU_mergeStart() starts a new merge process. It clears out any previous context and resets for the new CPU mask set and callback definitions. The CPU mask set uses the ITC CPU definitions and the provided mask must make sense (i.e. define at least one valid CPU and must not define any invalid CPUs). A photon processing routine must be defined with the exec_rtn parameter. The "start" and "stop" callbacks are optional and will not be called if defined as NULL. |
Generated on Wed Jun 20 01:46:27 2007 by
1.4.4