module Bindings.DirectFB.IDirectFBDataBuffer where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
import Bindings.DirectFB.Types
import Bindings.DirectFB.IDirectFBImageProvider
import Bindings.DirectFB.IDirectFBVideoProvider
data C'IDirectFBDataBuffer = C'IDirectFBDataBuffer{
c'IDirectFBDataBuffer'Flush :: FunPtr (Ptr C'IDirectFBDataBuffer -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'Finish :: FunPtr (Ptr C'IDirectFBDataBuffer -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'SeekTo :: FunPtr (Ptr C'IDirectFBDataBuffer -> CInt -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'GetPosition :: FunPtr (Ptr C'IDirectFBDataBuffer -> Ptr CInt -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'GetLength :: FunPtr (Ptr C'IDirectFBDataBuffer -> Ptr CInt -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'WaitForData :: FunPtr (Ptr C'IDirectFBDataBuffer -> CInt -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'WaitForDataWithTimeout :: FunPtr (Ptr C'IDirectFBDataBuffer -> CInt -> CInt -> CInt -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'GetData :: FunPtr (Ptr C'IDirectFBDataBuffer -> CInt -> Ptr () -> Ptr CInt -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'PeekData :: FunPtr (Ptr C'IDirectFBDataBuffer -> CInt -> CInt -> Ptr () -> Ptr CInt -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'HasData :: FunPtr (Ptr C'IDirectFBDataBuffer -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'PutData :: FunPtr (Ptr C'IDirectFBDataBuffer -> Ptr () -> CInt -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'CreateImageProvider :: FunPtr (Ptr C'IDirectFBDataBuffer -> Ptr (Ptr C'IDirectFBImageProvider) -> IO C'DFBResult)
,
c'IDirectFBDataBuffer'CreateVideoProvider :: FunPtr (Ptr C'IDirectFBDataBuffer -> Ptr (Ptr C'IDirectFBVideoProvider) -> IO C'DFBResult)
} deriving (Eq,Show)
instance Storable C'IDirectFBDataBuffer where
sizeOf _ = 68
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 16
v1 <- peekByteOff p 20
v2 <- peekByteOff p 24
v3 <- peekByteOff p 28
v4 <- peekByteOff p 32
v5 <- peekByteOff p 36
v6 <- peekByteOff p 40
v7 <- peekByteOff p 44
v8 <- peekByteOff p 48
v9 <- peekByteOff p 52
v10 <- peekByteOff p 56
v11 <- peekByteOff p 60
v12 <- peekByteOff p 64
return $ C'IDirectFBDataBuffer v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
poke p (C'IDirectFBDataBuffer v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12) = do
pokeByteOff p 16 v0
pokeByteOff p 20 v1
pokeByteOff p 24 v2
pokeByteOff p 28 v3
pokeByteOff p 32 v4
pokeByteOff p 36 v5
pokeByteOff p 40 v6
pokeByteOff p 44 v7
pokeByteOff p 48 v8
pokeByteOff p 52 v9
pokeByteOff p 56 v10
pokeByteOff p 60 v11
pokeByteOff p 64 v12
return ()