IRES generic Resource Manager RMAN Definitions - Generic Resource Manager that manages resource allocation for algorithms that implement the IRES interface.
Functions |
IRES_Status | RMAN_init (Void) |
| Initialize the RMAN object with static information from the headers/configuration etc. This function has to return successfully before the other APIs are called.
|
IRES_Status | RMAN_exit (Void) |
| Delete the generic IRES RMAN and release memory back.
|
IRES_Status | RMAN_register (IRESMAN_Fxns *resmanFxns, IRESMAN_Params *initArgs) |
| Register the protocol/protocol revision and the device specific resource manager implementation with the Resource Registry of the RMAN.
|
IRES_Status | RMAN_unregister (IRESMAN_Fxns *resmanFxns) |
| Unregister the protocol and the corresponding resource manager implementation from the Resource Registry.
|
IRES_Status | RMAN_assignResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId) |
| Assign resources to the algorithm indicated by algHandle. The resource requirements can be determined by using the IRES_Fxns implementation.
|
IRES_Status | RMAN_allocateResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId) |
| Directly allocate IRES resources by client without implementing IRES_Fxns.
|
IRES_Status | RMAN_freeResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId) |
| Free resources held by the algorithm resource handle.
|
IRES_Status | RMAN_freeAllocatedResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId) |
| Free resources held by the algorithm resource handle.
|
IRES_Status | RMAN_activateResource (IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_Fxns *resFxns, Int scratchGroupId) |
| Activate resource identified by the resourceHandle held by the algorithm.
|
IRES_Status | RMAN_activateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId) |
| Activate all resources held by the algorithm.
|
IRES_Status | RMAN_deactivateResource (IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_Fxns *resFxns, Int scratchGroupId) |
| Deactivate resource identified by the resourceHandle held by the algorithm.
|
IRES_Status | RMAN_deactivateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId) |
| Deactivate all resources held by the algorithm.
|
void | RMAN_yield (IRES_YieldResourceType resource, IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs) |
| Yield function specifically for use when DSKT2 based algorithms need cooperative preemption and multi-tasking support This function is called by the algorithm at pre-determined points during its execution, to allow another algorithm of same, or higher prioirty to preempt its execution.
|
Defines |
#define | ti_sdo_fc_ires_NOPROTOCOLREV |
#define | RMAN_MODNAME "ti.sdo.fc.rman" |
| Name to pass to Diags_setMask() to enable logging for RMAN functions. For example, Diags_setMask(RMAN_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
|
#define | RMAN_GTNAME "ti.sdo.fc.rman" |
| Name used to identify the GT module.
|
#define | RMAN_PROTOCOLNAMESIZE 200 |
| Size of the Protocol Name in the Resource Registry Table.
|
Data Structures |
struct | RMAN_Params |
| The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations). More...
|
Typedefs |
typedef struct Sem_Obj * | RMAN_SemHandle |
| Declare abstract handle for Semaphore object.
|
typedef IRES_YieldArgs(* | ti_sdo_fc_rman_RMAN_YieldArgsFxn )(Int scratchId, Bool yieldFlag) |
| Type declaration for the "yield fxn" which is required if if RMAN has been configured to yield execution to same/higher priority algorithms.
|
typedef struct RMAN_Params | RMAN_Params |
| The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations).
|
Variables |
__FAR__ RMAN_Params | RMAN_PARAMS |
| Initialization parameters for the generic Resource Manager.
|
__FAR__ IRESMAN_Fxns * | RMAN_TABLE [] |
| RMAN Table to hold IRESMAN registrations.
|
__FAR__ short | RMAN_FREE_ENTRIES [] |
| Free Table to hold entries freed from RMAN Table.
|
__FAR__ short | RMAN_numRegistryEntries |
| Number of entries statically configured for the Resource Registry table. Set this variable to zero if no static configuration is required.
|
__FAR__ IRESMAN_Fxns ** | RMAN_registryEntries |
| To allow for static configuration of the Resource Registry table this can be set to a valid configuration table or to NULL. Set this variable to NULL if no static configuration is required.
|
__FAR__ IRESMAN_Params ** | RMAN_registryResmanArgs |
| Initialization arguments for the entries to be registered Set this variable to NULL if no static configuration is required.
|
__FAR__ unsigned int ** | RMAN_iresVTable |
| Table that holds the mapping from algorithms IALG_Fxns to IRES_Fxns.
|
__FAR__ unsigned int | ti_sdo_fc_rman_RMAN_MAXALGS |
| Maximum number of algorithm instances that will use RMAN.
|
UInt32 | ti_sdo_fc_rman_RMAN_ipcKey |
| Base key value ofr RMAN Linux IPC Objects.
|
ti_sdo_fc_rman_RMAN_YieldArgsFxn | ti_sdo_fc_rman_RMAN_setYieldArgs |
| Function to set yield arguments to pass to yield function set in RMAN_PARAMS.
|