Functions | Defines | Data Structures | Typedefs | Variables

rman.h File Reference


Detailed Description

IRES generic Resource Manager RMAN Definitions - Generic Resource Manager that manages resource allocation for algorithms that implement the IRES interface.

#include <ti/xdais/ires.h>
#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for rman.h:

Go to the source code of this file.

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_FxnsRMAN_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.

Define Documentation

#define ti_sdo_fc_ires_NOPROTOCOLREV
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2012, Texas Instruments Incorporated