GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > EDS / V2-10-0
Constituent: eds     Tag: mv2304
#include "EDS/EDR_errUnpack.h"
#include "EDS/EDR_acdUnpack.h"
#include "EDS/EDR_calUnpack.h"
#include "EDS/EDR_tkrUnpack.h"
#include "EDS/EDR_err.h"
#include "EDS/EDR_acd.h"
#include "EDS/EDR_cal.h"
#include "EDS/EDR_tkr.h"
#include "EDS/ECR_acd.h"
#include "EDS/ECR_cal.h"
#include "EDS/EBF_evt.h"
#include "EDS/EBF_dir.h"
#include "EDS/EBF_edw.h"
#include "EDS/FFS.h"
#include "EDS/EBF_siv.h"
#include "EDS/LCBV.h"
#include "EDS/EDS_fw.h"
#include "EDS_fwPvt.h"
#include <string.h>
#include <stdlib.h>
Classes | |
struct | _EDS_fwIxbObjAddDef |
Defines an object to add to the EDS_fwIxb table. More... | |
Defines | |
#define | DEF(_id, _size, _constructor, _destructor, _reset) |
Macro to initialize an EDS_fwIxbObjAddDef structure. | |
Typedefs | |
typedef struct _EDS_fwIxbObjAddDef | EDS_fwIxbObjAddDef |
Typedef for struct _EDS_fwIxbObjAddDef. | |
Functions | |
static int | initIxbObjTbl (EDS_fwIxbObjTbl *tbl) |
Initializes the reserved portion of the Information Exchange Block's object table. | |
static int | addIxbObj (EDS_fwIxbObjTbl *tbl, int object, int size, EDS_fwIxbObjConstructor construct, EDS_fwIxbObjDestructor destruct, EDS_fwIxbObjReset reset) |
Adds an object to the Information Exchange Block. | |
static unsigned int | allocateIxb (EDS_fwIxb *ixb, EDS_fwIxbObjTbl *tbl, EDS_fwMem *mem, unsigned int objects) |
Allocates and initializes the unpacking buffers. | |
static unsigned int | deallocateIxb (EDS_fwIxb *ixb, EDS_fwIxbObjTbl *tbl, EDS_fwMem *mem) |
DeAllocates the data structures in the Information Exchange Block. | |
static unsigned int | destroyHandlers (unsigned int list, EDS_fwHandler *handlers) |
Destroys all the handlers in list. | |
static void * | memDefaultNew (void *prm, unsigned int nbytes) |
Default memory allocator. | |
static void | memDefaultDelete (void *prm, void *ptr, unsigned int nbytes) |
Default memory deallocator. | |
static __inline unsigned int | needs_refresh (const unsigned int *needs, unsigned int active) |
Recalculates the list of needs based on the active list. | |
unsigned int | EDS_fwHandlerChange (EDS_fw *fw, unsigned int targets, unsigned int newState) |
Changes the enabled/disabled state of the select targets. | |
unsigned int | EDS_fwDestruct (EDS_fw *fw) |
Destroys the EDS framework by unregistering all the registered handlers and destroying all objects. | |
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_fwHandlerAssociate (EDS_fw *fw, unsigned int targets, unsigned int mode, unsigned int configuration) |
Associates a configuration with a mode. | |
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. | |
unsigned int | EDS_fwHandlerSelect (EDS_fw *fw, unsigned int targets, unsigned int mode) |
Selects a new mode. | |
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). | |
void | EDS_fwFreeSet (EDS_fw *fw, LCBV_pktsRngFreeCb pktsFreeRtn, void *pktsFreePrm) |
Sets the packet freeing routine. | |
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. | |
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_fwPostResume (EDS_fw *fw, unsigned int list, int reason) |
Resumes after a pause. | |
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_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_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_fwHandlerProcess (EDS_fw *fw, unsigned int edw, EBF_pkt *pkt) |
This is the LCB event callback handler. | |
int | EDS_fwHandlerUnregister (EDS_fw *fw, int priority) |
Routine to unregister a packet processor. | |
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. | |
int | EDS_fwSizeof () |
Returns the size, in bytes, of and EDS_fw 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. | |
unsigned int | EDS_fwIxbObjAllocate (EDS_fw *fw, unsigned int objects) |
Allocates any previously added (known) objects. | |
EDS_fwIxb * | EDS_fwIxbLocate (EDS_fw *fw) |
Locates the EDS_fwIxb structure. |
CVS $Id: EDS_fw.c,v 1.20 2009/04/29 17:47:18 russell Exp $
#define DEF | ( | _id, | |||
_size, | |||||
_constructor, | |||||
_destructor, | |||||
_reset | ) |
Value:
{ EDS_FW_OBJ_K_ ## _id, \ _size, \ (EDS_fwIxbObjConstructor)_constructor, \ (EDS_fwIxbObjDestructor )_destructor, \ (EDS_fwIxbObjReset )_reset \ }
This is purely for convenience, to save typing, avoiding all the necessary but nasty casts and it does make the code more readable.
Typedef for struct _EDS_fwIxbObjAddDef.
This is a convenience structure so that the default objects to be installed in each EDS framework can be specified in table fashion
static int addIxbObj | ( | EDS_fwIxbObjTbl * | tbl, | |
int | object, | |||
int | size, | |||
EDS_fwIxbObjConstructor | construct, | |||
EDS_fwIxbObjDestructor | destruct, | |||
EDS_fwIxbObjReset | reset | |||
) | [static] |
Adds an object to the Information Exchange Block.
0,success | ||
If | negative, failure |
tbl | The table to add to | |
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) |
static unsigned int allocateIxb | ( | EDS_fwIxb * | ixb, | |
EDS_fwIxbObjTbl * | tbl, | |||
EDS_fwMem * | mem, | |||
unsigned int | objects | |||
) | [static] |
Allocates and initializes the unpacking buffers.
ixb | The framework's Information Exchange Block | |
tbl | The object table | |
mem | The memory manager | |
objects | Which objects to unpack |
static unsigned int deallocateIxb | ( | EDS_fwIxb * | ixb, | |
EDS_fwIxbObjTbl * | tbl, | |||
EDS_fwMem * | mem | |||
) | [static] |
DeAllocates the data structures in the Information Exchange Block.
ixb | The information exchange block | |
tbl | The object management table | |
mem | The memory manager |
static unsigned int destroyHandlers | ( | unsigned int | list, | |
EDS_fwHandler * | handlers | |||
) | [static] |
Destroys all the handlers in list.
list | The list of handlers to destroy | |
handlers | The array of handlers |
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.
static int initIxbObjTbl | ( | EDS_fwIxbObjTbl * | tbl | ) | [static] |
Initializes the reserved portion of the Information Exchange Block's object table.
static void memDefaultDelete | ( | void * | prm, | |
void * | ptr, | |||
unsigned int | nbytes | |||
) | [static] |
Default memory deallocator.
prm | Unused | |
ptr | Pointer to the memory to deallocate | |
nbytes | Number of bytes to deallocate, unused in this routine |
static void * memDefaultNew | ( | void * | prm, | |
unsigned int | nbytes | |||
) | [static] |
Default memory allocator.
prm | Unused | |
nbytes | Number of bytes to allocate |
static __inline unsigned int needs_refresh | ( | const unsigned int * | needs, | |
unsigned int | active | |||
) | [static] |
Recalculates the list of needs based on the active list.
needs | The array of needs by handler | |
active | The bit list of active handlers |