XDAIS
dais-x04
Main Page
Modules
Data Structures
Files
Related Pages
File List
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
packages
ti
xdais
ires.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006-2012, Texas Instruments Incorporated
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* * Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* * Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* * Neither the name of Texas Instruments Incorporated nor the names of
17
* its contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*
32
*/
47
#ifndef IRES_
48
#define IRES_
49
52
53
54
#ifdef __cplusplus
55
extern
"C"
{
56
#endif
57
58
#include "
ires_common.h
"
59
60
typedef
enum
IRES_YieldResourceType
{
61
IRES_ALL
= 0,
64
IRES_SCRATCHMEMORY
,
67
IRES_SCRATCHDMA
,
70
IRES_RESOURCEHANDLE
73
}
IRES_YieldResourceType
;
74
75
typedef
Void (*
IRES_ContextSaveFxn
)(
IALG_Handle
algHandle, Void *contextArgs);
76
typedef
Void (*
IRES_ContextRestoreFxn
)
77
(
IALG_Handle
algHandle, Void *contextArgs);
78
84
typedef
struct
IRES_YieldContext
{
85
89
IALG_Handle
algHandle
;
90
97
IRES_Handle
resourceHandle
;
98
110
IRES_ContextSaveFxn
contextSave
;
111
125
IRES_ContextRestoreFxn
contextRestore
;
126
134
Void *
contextArgs
;
135
136
}
IRES_YieldContext
;
137
138
139
typedef
IRES_YieldContext
*
IRES_YieldContextHandle
;
140
typedef
Void *
IRES_YieldArgs
;
141
159
typedef
Void (*
IRES_YieldFxn
)(
IRES_YieldResourceType
resourceType,
160
IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
161
168
typedef
struct
IRES_Fxns
{
169
174
Void *
implementationId
;
175
180
IRES_Status
(*
getResourceDescriptors
)(
IALG_Handle
handle,
181
IRES_ResourceDescriptor
*resourceDescriptors);
182
190
Int32 (*
numResourceDescriptors
)(
IALG_Handle
handle);
191
203
IRES_Status
(*
initResources
)(
IALG_Handle
handle,
204
IRES_ResourceDescriptor
* resourceDescriptor,
205
IRES_YieldFxn
yieldFxn, IRES_YieldArgs yieldArgs);
206
217
IRES_Status
(*
reinitResources
)(
IALG_Handle
handle,
218
IRES_ResourceDescriptor
* resourceDescriptor,
219
IRES_YieldFxn
yieldFxn, IRES_YieldArgs yieldArgs);
220
225
IRES_Status
(*
deinitResources
)(
IALG_Handle
handle,
226
IRES_ResourceDescriptor
* resourceDescriptor);
227
237
IRES_Status
(*
activateResource
)(
IALG_Handle
handle,
238
IRES_Handle
resourceHandle);
239
246
IRES_Status
(*
activateAllResources
)(
IALG_Handle
handle);
247
254
IRES_Status
(*
deactivateResource
)(
IALG_Handle
handle,
255
IRES_Handle
resourceHandle);
256
263
IRES_Status
(*
deactivateAllResources
)(
IALG_Handle
handle);
264
265
}
IRES_Fxns
;
266
270
#ifdef __cplusplus
271
}
272
#endif
/* extern "C" */
273
274
275
#endif
/* IRES_ */
Copyright 2013, Texas Instruments Incorporated