Framework Components Application Programming Interface (API)  fc-v07
Functions | Macros | 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. More...
 
IRES_Status RMAN_exit (Void)
 Delete the generic IRES RMAN and release memory back. More...
 
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. More...
 
IRES_Status RMAN_unregister (IRESMAN_Fxns *resmanFxns)
 Unregister the protocol and the corresponding resource manager implementation from the Resource Registry. More...
 
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. More...
 
IRES_Status RMAN_allocateResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId)
 Directly allocate IRES resources by client without implementing IRES_Fxns. More...
 
IRES_Status RMAN_freeResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
 Free resources held by the algorithm resource handle. More...
 
IRES_Status RMAN_freeAllocatedResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId)
 Free resources held by the algorithm resource handle. More...
 
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. More...
 
IRES_Status RMAN_activateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
 Activate all resources held by the algorithm. More...
 
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. More...
 
IRES_Status RMAN_deactivateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
 Deactivate all resources held by the algorithm. More...
 
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. More...
 

Macros

#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. More...
 
#define RMAN_GTNAME   "ti.sdo.fc.rman"
 Name used to identify the GT module. More...
 
#define RMAN_PROTOCOLNAMESIZE   200
 Size of the Protocol Name in the Resource Registry Table. More...
 

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. More...
 
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. More...
 
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). More...
 

Variables

__FAR__ RMAN_Params RMAN_PARAMS
 Initialization parameters for the generic Resource Manager. More...
 
__FAR__ IRESMAN_FxnsRMAN_TABLE []
 RMAN Table to hold IRESMAN registrations. More...
 
__FAR__ short RMAN_FREE_ENTRIES []
 Free Table to hold entries freed from RMAN Table. More...
 
__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. More...
 
__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. More...
 
__FAR__ IRESMAN_Params ** RMAN_registryResmanArgs
 Initialization arguments for the entries to be registered Set this variable to NULL if no static configuration is required. More...
 
__FAR__ unsigned int ** RMAN_iresVTable
 Table that holds the mapping from algorithms IALG_Fxns to IRES_Fxns. More...
 
__FAR__ unsigned int ti_sdo_fc_rman_RMAN_MAXALGS
 Maximum number of algorithm instances that will use RMAN. More...
 
UInt32 ti_sdo_fc_rman_RMAN_ipcKey
 Base key value ofr RMAN Linux IPC Objects. More...
 
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. More...
 

Macro Definition Documentation

#define ti_sdo_fc_ires_NOPROTOCOLREV
Copyright 2016, Texas Instruments Incorporated