OpenMAXBellagio  0.9.3
OMX_Types.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008 The Khronos Group Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining
5  * a copy of this software and associated documentation files (the
6  * "Software"), to deal in the Software without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sublicense, and/or sell copies of the Software, and to
9  * permit persons to whom the Software is furnished to do so, subject
10  * to the following conditions:
11  * The above copyright notice and this permission notice shall be included
12  * in all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21  *
22  */
23 
31 #ifndef OMX_Types_h
32 #define OMX_Types_h
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif /* __cplusplus */
37 
41 #ifdef __SYMBIAN32__
42 # ifdef __OMX_EXPORTS
43 # define OMX_API __declspec(dllexport)
44 # else
45 # ifdef _WIN32
46 # define OMX_API __declspec(dllexport)
47 # else
48 # define OMX_API __declspec(dllimport)
49 # endif
50 # endif
51 #else
52 # ifdef _WIN32
53 # ifdef __OMX_EXPORTS
54 # define OMX_API __declspec(dllexport)
55 # else
56 # define OMX_API __declspec(dllimport)
57 # endif
58 # else
59 # ifdef __OMX_EXPORTS
60 # define OMX_API
61 # else
62 # define OMX_API extern
63 # endif
64 # endif
65 #endif
66 
67 #ifndef OMX_APIENTRY
68 #define OMX_APIENTRY
69 #endif
70 
74 #ifndef OMX_IN
75 #define OMX_IN
76 #endif
77 
81 #ifndef OMX_OUT
82 #define OMX_OUT
83 #endif
84 
85 
90 #ifndef OMX_INOUT
91 #define OMX_INOUT
92 #endif
93 
99 #define OMX_ALL 0xFFFFFFFF
100 
133 typedef unsigned char OMX_U8;
134 
136 typedef signed char OMX_S8;
137 
139 typedef unsigned short OMX_U16;
140 
142 typedef signed short OMX_S16;
143 
145 typedef unsigned long OMX_U32;
146 
148 typedef signed long OMX_S32;
149 
150 
151 /* Users with compilers that cannot accept the "long long" designation should
152  define the OMX_SKIP64BIT macro. It should be noted that this may cause
153  some components to fail to compile if the component was written to require
154  64 bit integral types. However, these components would NOT compile anyway
155  since the compiler does not support the way the component was written.
156 */
157 #ifndef OMX_SKIP64BIT
158 #ifdef __SYMBIAN32__
159 
160 typedef unsigned long long OMX_U64;
161 
163 typedef signed long long OMX_S64;
164 
165 #elif defined(WIN32)
166 
168 typedef unsigned __int64 OMX_U64;
169 
171 typedef signed __int64 OMX_S64;
172 
173 #else /* WIN32 */
174 
176 typedef unsigned long long OMX_U64;
177 
179 typedef signed long long OMX_S64;
180 
181 #endif /* WIN32 */
182 #endif
183 
184 
189 typedef enum OMX_BOOL {
192  OMX_BOOL_MAX = 0x7FFFFFFF
193 } OMX_BOOL;
194 
199 typedef void* OMX_PTR;
200 
206 typedef char* OMX_STRING;
207 
213 typedef unsigned char* OMX_BYTE;
214 
219 typedef unsigned char OMX_UUIDTYPE[128];
220 
224 typedef enum OMX_DIRTYPE
225 {
228  OMX_DirMax = 0x7FFFFFFF
229 } OMX_DIRTYPE;
230 
234 typedef enum OMX_ENDIANTYPE
235 {
238  OMX_EndianMax = 0x7FFFFFFF
240 
241 
246 {
249  OMX_NumercialDataMax = 0x7FFFFFFF
251 
252 
254 typedef struct OMX_BU32 {
255  OMX_U32 nValue;
256  OMX_U32 nMin;
257  OMX_U32 nMax;
258 } OMX_BU32;
259 
260 
262 typedef struct OMX_BS32 {
263  OMX_S32 nValue;
264  OMX_S32 nMin;
265  OMX_S32 nMax;
266 } OMX_BS32;
267 
268 
281 #ifndef OMX_SKIP64BIT
282 typedef OMX_S64 OMX_TICKS;
283 #else
284 typedef struct OMX_TICKS
285 {
286  OMX_U32 nLowPart;
287  OMX_U32 nHighPart;
288 } OMX_TICKS;
289 #endif
290 #define OMX_TICKS_PER_SECOND 1000000
291 
295 typedef void* OMX_HANDLETYPE;
296 
297 typedef struct OMX_MARKTYPE
298 {
299  OMX_HANDLETYPE hMarkTargetComponent;
302  OMX_PTR pMarkData;
305 } OMX_MARKTYPE;
306 
307 
311 typedef void* OMX_NATIVE_DEVICETYPE;
312 
315 typedef void* OMX_NATIVE_WINDOWTYPE;
316 
328 typedef union OMX_VERSIONTYPE
329 {
330  struct
331  {
332  OMX_U8 nVersionMajor;
333  OMX_U8 nVersionMinor;
334  OMX_U8 nRevision;
335  OMX_U8 nStep;
336  } s;
337  OMX_U32 nVersion;
341 
342 #ifdef __cplusplus
343 }
344 #endif /* __cplusplus */
345 
346 #endif
347 /* File EOF */

Generated for OpenMAX Bellagio rel. 0.9.3 by  doxygen 1.5.1
SourceForge.net Logo