OpenMAXBellagio  0.9.3
OMX_ContentPipe.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 
30 #ifndef OMX_CONTENTPIPE_H
31 #define OMX_CONTENTPIPE_H
32 
33 #ifndef KD_EACCES
34 /* OpenKODE error codes. CPResult values may be zero (indicating success
35  or one of the following values) */
36 #define KD_EACCES (1)
37 #define KD_EADDRINUSE (2)
38 #define KD_EAGAIN (5)
39 #define KD_EBADF (7)
40 #define KD_EBUSY (8)
41 #define KD_ECONNREFUSED (9)
42 #define KD_ECONNRESET (10)
43 #define KD_EDEADLK (11)
44 #define KD_EDESTADDRREQ (12)
45 #define KD_ERANGE (35)
46 #define KD_EEXIST (13)
47 #define KD_EFBIG (14)
48 #define KD_EHOSTUNREACH (15)
49 #define KD_EINVAL (17)
50 #define KD_EIO (18)
51 #define KD_EISCONN (20)
52 #define KD_EISDIR (21)
53 #define KD_EMFILE (22)
54 #define KD_ENAMETOOLONG (23)
55 #define KD_ENOENT (24)
56 #define KD_ENOMEM (25)
57 #define KD_ENOSPC (26)
58 #define KD_ENOSYS (27)
59 #define KD_ENOTCONN (28)
60 #define KD_EPERM (33)
61 #define KD_ETIMEDOUT (36)
62 #define KD_EILSEQ (19)
63 #endif
64 
66 typedef OMX_U32 CPresult;
67 typedef char * CPstring;
68 typedef void * CPhandle;
69 typedef OMX_U32 CPuint;
70 typedef OMX_S32 CPint;
71 typedef char CPbyte;
72 typedef OMX_BOOL CPbool;
73 
77 typedef enum CP_ORIGINTYPE {
83  CP_OriginMax = 0X7FFFFFFF
85 
89 typedef enum CP_ACCESSTYPE {
95  CP_AccessMax = 0X7FFFFFFF
97 
102 {
117  CP_CheckBytesMax = 0X7FFFFFFF
119 
123 typedef enum CP_EVENTTYPE{
129  CP_EventMax = 0X7FFFFFFF
130 } CP_EVENTTYPE;
131 
135 typedef struct CP_PIPETYPE
136 {
138  CPresult (*Open)( CPhandle* hContent, CPstring szURI, CP_ACCESSTYPE eAccess );
139 
141  CPresult (*Close)( CPhandle hContent );
142 
144  CPresult (*Create)( CPhandle *hContent, CPstring szURI );
145 
147  CPresult (*CheckAvailableBytes)( CPhandle hContent, CPuint nBytesRequested, CP_CHECKBYTESRESULTTYPE *eResult );
148 
150  CPresult (*SetPosition)( CPhandle hContent, CPint nOffset, CP_ORIGINTYPE eOrigin);
151 
153  CPresult (*GetPosition)( CPhandle hContent, CPuint *pPosition);
154 
157  CPresult (*Read)( CPhandle hContent, CPbyte *pData, CPuint nSize);
158 
171  CPresult (*ReadBuffer)( CPhandle hContent, CPbyte **ppBuffer, CPuint *nSize, CPbool bForbidCopy);
172 
174  CPresult (*ReleaseReadBuffer)(CPhandle hContent, CPbyte *pBuffer);
175 
178  CPresult (*Write)( CPhandle hContent, CPbyte *data, CPuint nSize);
179 
183  CPresult (*GetWriteBuffer)( CPhandle hContent, CPbyte **ppBuffer, CPuint nSize);
184 
187  CPresult (*WriteBuffer)( CPhandle hContent, CPbyte *pBuffer, CPuint nFilledSize);
188 
190  CPresult (*RegisterCallback)( CPhandle hContent, CPresult (*ClientCallback)(CP_EVENTTYPE eEvent, CPuint iParam));
191 
192 } CP_PIPETYPE;
193 
194 #endif
195 
CPuint
OMX_U32 CPuint
Definition: OMX_ContentPipe.h:69
CP_AccessWrite
Definition: OMX_ContentPipe.h:91
CP_PipeDisconnected
Definition: OMX_ContentPipe.h:126
CP_CheckBytesMax
Definition: OMX_ContentPipe.h:117
CP_CheckBytesInsufficientBytes
Definition: OMX_ContentPipe.h:109
CP_Overflow
Definition: OMX_ContentPipe.h:125
OMX_U32
unsigned long OMX_U32
Definition: OMX_Types.h:145
CP_PIPETYPE::Read
CPresult(* Read)(CPhandle hContent, CPbyte *pData, CPuint nSize)
Definition: OMX_ContentPipe.h:157
CPint
OMX_S32 CPint
Definition: OMX_ContentPipe.h:70
CP_PIPETYPE::Close
CPresult(* Close)(CPhandle hContent)
Definition: OMX_ContentPipe.h:141
CP_AccessMax
Definition: OMX_ContentPipe.h:95
CPstring
char * CPstring
Definition: OMX_ContentPipe.h:67
CP_PIPETYPE::ReadBuffer
CPresult(* ReadBuffer)(CPhandle hContent, CPbyte **ppBuffer, CPuint *nSize, CPbool bForbidCopy)
Definition: OMX_ContentPipe.h:171
CPhandle
void * CPhandle
Definition: OMX_ContentPipe.h:68
CP_PIPETYPE::GetPosition
CPresult(* GetPosition)(CPhandle hContent, CPuint *pPosition)
Definition: OMX_ContentPipe.h:153
CP_OriginKhronosExtensions
Definition: OMX_ContentPipe.h:81
CP_OriginEnd
Definition: OMX_ContentPipe.h:80
CP_CHECKBYTESRESULTTYPE
CP_CHECKBYTESRESULTTYPE
Definition: OMX_ContentPipe.h:101
CP_PIPETYPE::Create
CPresult(* Create)(CPhandle *hContent, CPstring szURI)
Definition: OMX_ContentPipe.h:144
CP_AccessKhronosExtensions
Definition: OMX_ContentPipe.h:93
CP_PIPETYPE::RegisterCallback
CPresult(* RegisterCallback)(CPhandle hContent, CPresult(*ClientCallback)(CP_EVENTTYPE eEvent, CPuint iParam))
Definition: OMX_ContentPipe.h:190
CP_CheckBytesOk
Definition: OMX_ContentPipe.h:103
CP_PIPETYPE::Write
CPresult(* Write)(CPhandle hContent, CPbyte *data, CPuint nSize)
Definition: OMX_ContentPipe.h:178
CP_EVENTTYPE
CP_EVENTTYPE
Definition: OMX_ContentPipe.h:123
CP_PIPETYPE
Definition: OMX_ContentPipe.h:135
CP_PIPETYPE::SetPosition
CPresult(* SetPosition)(CPhandle hContent, CPint nOffset, CP_ORIGINTYPE eOrigin)
Definition: OMX_ContentPipe.h:150
CP_EventKhronosExtensions
Definition: OMX_ContentPipe.h:127
CP_ORIGINTYPE
CP_ORIGINTYPE
Definition: OMX_ContentPipe.h:77
CP_PIPETYPE::CheckAvailableBytes
CPresult(* CheckAvailableBytes)(CPhandle hContent, CPuint nBytesRequested, CP_CHECKBYTESRESULTTYPE *eResult)
Definition: OMX_ContentPipe.h:147
OMX_BOOL
OMX_BOOL
Definition: OMX_Types.h:189
CP_CheckBytesNotReady
Definition: OMX_ContentPipe.h:105
CP_PIPETYPE
struct CP_PIPETYPE CP_PIPETYPE
CP_ACCESSTYPE
CP_ACCESSTYPE
Definition: OMX_ContentPipe.h:89
CP_PIPETYPE::Open
CPresult(* Open)(CPhandle *hContent, CPstring szURI, CP_ACCESSTYPE eAccess)
Definition: OMX_ContentPipe.h:138
CP_AccessRead
Definition: OMX_ContentPipe.h:90
CP_OriginMax
Definition: OMX_ContentPipe.h:83
CP_PIPETYPE::WriteBuffer
CPresult(* WriteBuffer)(CPhandle hContent, CPbyte *pBuffer, CPuint nFilledSize)
Definition: OMX_ContentPipe.h:187
CP_CheckBytesOutOfBuffers
Definition: OMX_ContentPipe.h:114
CP_EventMax
Definition: OMX_ContentPipe.h:129
CP_CheckBytesAtEndOfStream
Definition: OMX_ContentPipe.h:112
CP_AccessReadWrite
Definition: OMX_ContentPipe.h:92
CPbyte
char CPbyte
Definition: OMX_ContentPipe.h:71
CP_CheckBytesVendorStartUnused
Definition: OMX_ContentPipe.h:116
CPresult
OMX_U32 CPresult
Definition: OMX_ContentPipe.h:66
CP_OriginCur
Definition: OMX_ContentPipe.h:79
CPbool
OMX_BOOL CPbool
Definition: OMX_ContentPipe.h:72
CP_BytesAvailable
Definition: OMX_ContentPipe.h:124
CP_OriginBegin
Definition: OMX_ContentPipe.h:78
CP_AccessVendorStartUnused
Definition: OMX_ContentPipe.h:94
CP_OriginVendorStartUnused
Definition: OMX_ContentPipe.h:82
OMX_S32
signed long OMX_S32
Definition: OMX_Types.h:148
CP_PIPETYPE::GetWriteBuffer
CPresult(* GetWriteBuffer)(CPhandle hContent, CPbyte **ppBuffer, CPuint nSize)
Definition: OMX_ContentPipe.h:183
CP_PIPETYPE::ReleaseReadBuffer
CPresult(* ReleaseReadBuffer)(CPhandle hContent, CPbyte *pBuffer)
Definition: OMX_ContentPipe.h:174
CP_EventVendorStartUnused
Definition: OMX_ContentPipe.h:128
CP_CheckBytesKhronosExtensions
Definition: OMX_ContentPipe.h:115

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