Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00050 #ifndef ti_sdo_fc_rman__RMAN_
00051 #define ti_sdo_fc_rman__RMAN_
00052
00053 #define ti_sdo_fc_ires_NOPROTOCOLREV
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00061
00062 #include <ti/xdais/ires.h>
00063 #include <ti/sdo/fc/ires/iresman.h>
00064
00073 #define RMAN_MODNAME "ti.sdo.fc.rman"
00074
00078 #define RMAN_GTNAME "ti.sdo.fc.rman"
00079
00083 #define RMAN_PROTOCOLNAMESIZE 200
00084
00088 typedef struct Sem_Obj * RMAN_SemHandle;
00089
00095 typedef IRES_YieldArgs (* ti_sdo_fc_rman_RMAN_YieldArgsFxn)
00096 (Int scratchId, Bool yieldFlag);
00097
00108 typedef struct RMAN_Params {
00109
00113 short numRegistries;
00114
00118 IRESMAN_PersistentAllocFxn * allocFxn;
00119
00123 IRESMAN_PersistentFreeFxn * freeFxn;
00124
00129 IRES_YieldFxn yieldFxn;
00130
00134 Bool yieldSamePriority;
00135
00136 } RMAN_Params;
00137
00141 extern __FAR__ RMAN_Params RMAN_PARAMS;
00142
00146 extern __FAR__ IRESMAN_Fxns * RMAN_TABLE[];
00147
00151 extern __FAR__ short RMAN_FREE_ENTRIES[];
00152
00158 extern __FAR__ short RMAN_numRegistryEntries;
00159
00165 extern __FAR__ IRESMAN_Fxns ** RMAN_registryEntries;
00166
00171 extern __FAR__ IRESMAN_Params ** RMAN_registryResmanArgs;
00172
00177 extern __FAR__ unsigned int ** RMAN_iresVTable;
00178
00182 extern __FAR__ unsigned int ti_sdo_fc_rman_RMAN_MAXALGS;
00183
00187 extern UInt32 ti_sdo_fc_rman_RMAN_ipcKey;
00188
00193 extern ti_sdo_fc_rman_RMAN_YieldArgsFxn ti_sdo_fc_rman_RMAN_setYieldArgs;
00194
00204 IRES_Status RMAN_init(Void);
00205
00206
00213 IRES_Status RMAN_exit(Void);
00214
00215
00232 IRES_Status RMAN_register(IRESMAN_Fxns * resmanFxns, IRESMAN_Params * initArgs);
00233
00234
00245 IRES_Status RMAN_unregister(IRESMAN_Fxns * resmanFxns);
00246
00270 IRES_Status RMAN_assignResources(IALG_Handle algHandle, IRES_Fxns * resFxns,
00271 Int scratchGroupId);
00272
00273
00304 IRES_Status RMAN_allocateResources(Int requestId,
00305 IRES_ResourceDescriptor * resDesc, Int numResources, Int scratchGroupId);
00306
00307
00326 IRES_Status RMAN_freeResources(IALG_Handle algHandle, IRES_Fxns * resFxns, Int
00327 scratchGroupId);
00328
00353 IRES_Status RMAN_freeAllocatedResources (Int requestId,
00354 IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId);
00355
00368 IRES_Status RMAN_activateResource(IALG_Handle algHandle,
00369 IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00370
00380 IRES_Status RMAN_activateAllResources(IALG_Handle algHandle,
00381 IRES_Fxns * resFxns, Int scratchGroupId);
00382
00395 IRES_Status RMAN_deactivateResource(IALG_Handle algHandle,
00396 IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00397
00408 IRES_Status RMAN_deactivateAllResources(IALG_Handle algHandle,
00409 IRES_Fxns * resFxns, Int scratchGroupId);
00410
00411
00431 void RMAN_yield(IRES_YieldResourceType resource,
00432 IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00433
00434
00437 #ifdef __cplusplus
00438 }
00439 #endif
00440
00441 #endif
00442
00443
00444
00445
00446