rman.h
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
00068 #define RMAN_GTNAME "ti.sdo.fc.rman"
00069
00073 #define RMAN_PROTOCOLNAMESIZE 200
00074
00078 typedef struct Sem_Obj * RMAN_SemHandle;
00079
00080
00091 typedef struct RMAN_Params {
00092
00093
00094
00095
00096 short numRegistries;
00097
00098
00099
00100
00101 IRESMAN_PersistentAllocFxn * allocFxn;
00102
00103
00104
00105
00106 IRESMAN_PersistentFreeFxn * freeFxn;
00107
00108
00109
00110
00111 IRES_YieldFxn yieldFxn;
00112
00113
00114
00115
00116 Bool yieldSamePriority;
00117
00118 } RMAN_Params;
00119
00126 typedef struct RMAN_YieldArgs {
00127
00128
00129
00130
00131 Int groupId;
00132
00133
00134
00135
00136 Bool yieldFlag;
00137
00138 } RMAN_YieldArgs;
00139
00140
00141
00142
00143
00144 extern __FAR__ RMAN_Params RMAN_PARAMS;
00145
00146
00147
00148
00149 extern __FAR__ IRESMAN_Fxns * RMAN_TABLE[];
00150
00151
00152
00153
00154 extern __FAR__ short RMAN_FREE_ENTRIES[];
00155
00156
00157
00158
00159
00160
00161 extern __FAR__ short RMAN_numRegistryEntries;
00162
00163
00164
00165
00166
00167
00168 extern __FAR__ IRESMAN_Fxns ** RMAN_registryEntries;
00169
00170
00171
00172
00173
00174 extern __FAR__ IRESMAN_Params ** RMAN_registryResmanArgs;
00175
00176
00186 IRES_Status RMAN_init(Void);
00187
00188
00195 IRES_Status RMAN_exit(Void);
00196
00197
00216 IRES_Status RMAN_register(IRESMAN_Fxns * resmanFxns, IRESMAN_Params * initArgs);
00217
00218
00231 IRES_Status RMAN_unregister(IRESMAN_Fxns * resmanFxns);
00232
00262 IRES_Status RMAN_assignResources(IALG_Handle algHandle, IRES_Fxns * resFxns,
00263 Int scratchGroupId);
00264
00265
00285 IRES_Status RMAN_freeResources(IALG_Handle algHandle, IRES_Fxns * resFxns, Int
00286 scratchGroupId);
00287
00300 IRES_Status RMAN_activateResource(IALG_Handle algHandle,
00301 IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00302
00312 IRES_Status RMAN_activateAllResources(IALG_Handle algHandle,
00313 IRES_Fxns * resFxns, Int scratchGroupId);
00314
00327 IRES_Status RMAN_deactivateResource(IALG_Handle algHandle,
00328 IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00329
00340 IRES_Status RMAN_deactivateAllResources(IALG_Handle algHandle,
00341 IRES_Fxns * resFxns, Int scratchGroupId);
00342
00343
00363 void RMAN_yield(IRES_YieldResourceType resource,
00364 IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00365
00366
00369 #ifdef __cplusplus
00370 }
00371 #endif
00372
00373 #endif
00374
00375
00376
00377