{-# LINE 1 "Bindings/PortAudio.hsc" #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}


module Bindings.PortAudio where
import Foreign.Ptr
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

{-# LINE 7 "Bindings/PortAudio.hsc" #-}

type C'PaStream = ()

{-# LINE 9 "Bindings/PortAudio.hsc" #-}

foreign import ccall "Pa_GetVersion" c'Pa_GetVersion
  :: IO CInt
foreign import ccall "&Pa_GetVersion" p'Pa_GetVersion
  :: FunPtr (IO CInt)

{-# LINE 11 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetVersionText" c'Pa_GetVersionText
  :: IO CString
foreign import ccall "&Pa_GetVersionText" p'Pa_GetVersionText
  :: FunPtr (IO CString)

{-# LINE 12 "Bindings/PortAudio.hsc" #-}
{- typedef int PaError; -}
type C'PaError = CInt

{-# LINE 14 "Bindings/PortAudio.hsc" #-}
{- typedef enum PaErrorCode {
            paNoError = 0,
            paNotInitialized = -10000,
            paUnanticipatedHostError,
            paInvalidChannelCount,
            paInvalidSampleRate,
            paInvalidDevice,
            paInvalidFlag,
            paSampleFormatNotSupported,
            paBadIODeviceCombination,
            paInsufficientMemory,
            paBufferTooBig,
            paBufferTooSmall,
            paNullCallback,
            paBadStreamPtr,
            paTimedOut,
            paInternalError,
            paDeviceUnavailable,
            paIncompatibleHostApiSpecificStreamInfo,
            paStreamIsStopped,
            paStreamIsNotStopped,
            paInputOverflowed,
            paOutputUnderflowed,
            paHostApiNotFound,
            paInvalidHostApi,
            paCanNotReadFromACallbackStream,
            paCanNotWriteToACallbackStream,
            paCanNotReadFromAnOutputOnlyStream,
            paCanNotWriteToAnInputOnlyStream,
            paIncompatibleStreamHostApi,
            paBadBufferPtr
        } PaErrorCode; -}
type C'PaErrorCode = CInt

{-# LINE 47 "Bindings/PortAudio.hsc" #-}
c'paNoError = 0
c'paNoError :: (Num a) => a

{-# LINE 48 "Bindings/PortAudio.hsc" #-}
c'paNotInitialized = -10000
c'paNotInitialized :: (Num a) => a

{-# LINE 49 "Bindings/PortAudio.hsc" #-}
c'paUnanticipatedHostError = -9999
c'paUnanticipatedHostError :: (Num a) => a

{-# LINE 50 "Bindings/PortAudio.hsc" #-}
c'paInvalidChannelCount = -9998
c'paInvalidChannelCount :: (Num a) => a

{-# LINE 51 "Bindings/PortAudio.hsc" #-}
c'paInvalidSampleRate = -9997
c'paInvalidSampleRate :: (Num a) => a

{-# LINE 52 "Bindings/PortAudio.hsc" #-}
c'paInvalidDevice = -9996
c'paInvalidDevice :: (Num a) => a

{-# LINE 53 "Bindings/PortAudio.hsc" #-}
c'paInvalidFlag = -9995
c'paInvalidFlag :: (Num a) => a

{-# LINE 54 "Bindings/PortAudio.hsc" #-}
c'paSampleFormatNotSupported = -9994
c'paSampleFormatNotSupported :: (Num a) => a

{-# LINE 55 "Bindings/PortAudio.hsc" #-}
c'paBadIODeviceCombination = -9993
c'paBadIODeviceCombination :: (Num a) => a

{-# LINE 56 "Bindings/PortAudio.hsc" #-}
c'paInsufficientMemory = -9992
c'paInsufficientMemory :: (Num a) => a

{-# LINE 57 "Bindings/PortAudio.hsc" #-}
c'paBufferTooBig = -9991
c'paBufferTooBig :: (Num a) => a

{-# LINE 58 "Bindings/PortAudio.hsc" #-}
c'paBufferTooSmall = -9990
c'paBufferTooSmall :: (Num a) => a

{-# LINE 59 "Bindings/PortAudio.hsc" #-}
c'paNullCallback = -9989
c'paNullCallback :: (Num a) => a

{-# LINE 60 "Bindings/PortAudio.hsc" #-}
c'paBadStreamPtr = -9988
c'paBadStreamPtr :: (Num a) => a

{-# LINE 61 "Bindings/PortAudio.hsc" #-}
c'paTimedOut = -9987
c'paTimedOut :: (Num a) => a

{-# LINE 62 "Bindings/PortAudio.hsc" #-}
c'paInternalError = -9986
c'paInternalError :: (Num a) => a

{-# LINE 63 "Bindings/PortAudio.hsc" #-}
c'paDeviceUnavailable = -9985
c'paDeviceUnavailable :: (Num a) => a

{-# LINE 64 "Bindings/PortAudio.hsc" #-}
c'paIncompatibleHostApiSpecificStreamInfo = -9984
c'paIncompatibleHostApiSpecificStreamInfo :: (Num a) => a

{-# LINE 65 "Bindings/PortAudio.hsc" #-}
c'paStreamIsStopped = -9983
c'paStreamIsStopped :: (Num a) => a

{-# LINE 66 "Bindings/PortAudio.hsc" #-}
c'paStreamIsNotStopped = -9982
c'paStreamIsNotStopped :: (Num a) => a

{-# LINE 67 "Bindings/PortAudio.hsc" #-}
c'paInputOverflowed = -9981
c'paInputOverflowed :: (Num a) => a

{-# LINE 68 "Bindings/PortAudio.hsc" #-}
c'paOutputUnderflowed = -9980
c'paOutputUnderflowed :: (Num a) => a

{-# LINE 69 "Bindings/PortAudio.hsc" #-}
c'paHostApiNotFound = -9979
c'paHostApiNotFound :: (Num a) => a

{-# LINE 70 "Bindings/PortAudio.hsc" #-}
c'paInvalidHostApi = -9978
c'paInvalidHostApi :: (Num a) => a

{-# LINE 71 "Bindings/PortAudio.hsc" #-}
c'paCanNotReadFromACallbackStream = -9977
c'paCanNotReadFromACallbackStream :: (Num a) => a

{-# LINE 72 "Bindings/PortAudio.hsc" #-}
c'paCanNotWriteToACallbackStream = -9976
c'paCanNotWriteToACallbackStream :: (Num a) => a

{-# LINE 73 "Bindings/PortAudio.hsc" #-}
c'paCanNotReadFromAnOutputOnlyStream = -9975
c'paCanNotReadFromAnOutputOnlyStream :: (Num a) => a

{-# LINE 74 "Bindings/PortAudio.hsc" #-}
c'paCanNotWriteToAnInputOnlyStream = -9974
c'paCanNotWriteToAnInputOnlyStream :: (Num a) => a

{-# LINE 75 "Bindings/PortAudio.hsc" #-}
c'paIncompatibleStreamHostApi = -9973
c'paIncompatibleStreamHostApi :: (Num a) => a

{-# LINE 76 "Bindings/PortAudio.hsc" #-}
c'paBadBufferPtr = -9972
c'paBadBufferPtr :: (Num a) => a

{-# LINE 77 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetErrorText" c'Pa_GetErrorText
  :: CInt -> IO CString
foreign import ccall "&Pa_GetErrorText" p'Pa_GetErrorText
  :: FunPtr (CInt -> IO CString)

{-# LINE 78 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_Initialize" c'Pa_Initialize
  :: IO CInt
foreign import ccall "&Pa_Initialize" p'Pa_Initialize
  :: FunPtr (IO CInt)

{-# LINE 79 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_Terminate" c'Pa_Terminate
  :: IO CInt
foreign import ccall "&Pa_Terminate" p'Pa_Terminate
  :: FunPtr (IO CInt)

{-# LINE 80 "Bindings/PortAudio.hsc" #-}
{- typedef int PaDeviceIndex; -}
type C'PaDeviceIndex = CInt

{-# LINE 82 "Bindings/PortAudio.hsc" #-}
{- typedef int PaHostApiIndex; -}
type C'PaHostApiIndex = CInt

{-# LINE 84 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetHostApiCount" c'Pa_GetHostApiCount
  :: IO CInt
foreign import ccall "&Pa_GetHostApiCount" p'Pa_GetHostApiCount
  :: FunPtr (IO CInt)

{-# LINE 85 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDefaultHostApi" c'Pa_GetDefaultHostApi
  :: IO CInt
foreign import ccall "&Pa_GetDefaultHostApi" p'Pa_GetDefaultHostApi
  :: FunPtr (IO CInt)

{-# LINE 86 "Bindings/PortAudio.hsc" #-}
{- typedef enum PaHostApiTypeId {
            paInDevelopment = 0,
            paDirectSound = 1,
            paMME = 2,
            paASIO = 3,
            paSoundManager = 4,
            paCoreAudio = 5,
            paOSS = 7,
            paALSA = 8,
            paAL = 9,
            paBeOS = 10,
            paWDMKS = 11,
            paJACK = 12,
            paWASAPI = 13,
            paAudioScienceHPI = 14
        } PaHostApiTypeId; -}
type C'PaHostApiTypeId = CUInt

{-# LINE 103 "Bindings/PortAudio.hsc" #-}
c'paInDevelopment = 0
c'paInDevelopment :: (Num a) => a

c'paASIO :: a
{-# LINE 104 "Bindings/PortAudio.hsc" #-}
c'paDirectSound = 1
c'paDirectSound :: (Num a) => a

{-# LINE 105 "Bindings/PortAudio.hsc" #-}
c'paMME = 2
c'paMME :: (Num a) => a

{-# LINE 106 "Bindings/PortAudio.hsc" #-}
c'paASIO = 3
c'paASIO :: (Num a) => a

{-# LINE 107 "Bindings/PortAudio.hsc" #-}
c'paSoundManager = 4
c'paSoundManager :: (Num a) => a

c'paALSA :: a
{-# LINE 108 "Bindings/PortAudio.hsc" #-}
c'paCoreAudio = 5
c'paCoreAudio :: (Num a) => a

{-# LINE 109 "Bindings/PortAudio.hsc" #-}
c'paOSS = 7
c'paOSS :: (Num a) => a

c'paBeOS :: a
{-# LINE 110 "Bindings/PortAudio.hsc" #-}
c'paALSA = 8
c'paALSA :: (Num a) => a

{-# LINE 111 "Bindings/PortAudio.hsc" #-}
c'paAL = 9
c'paAL :: (Num a) => a

c'paJACK :: a
{-# LINE 112 "Bindings/PortAudio.hsc" #-}
c'paBeOS = 10
c'paBeOS :: (Num a) => a

{-# LINE 113 "Bindings/PortAudio.hsc" #-}
c'paWDMKS = 11
c'paWDMKS :: (Num a) => a

{-# LINE 114 "Bindings/PortAudio.hsc" #-}
c'paJACK = 12
c'paJACK :: (Num a) => a

{-# LINE 115 "Bindings/PortAudio.hsc" #-}
c'paWASAPI = 13
c'paWASAPI :: (Num a) => a

{-# LINE 116 "Bindings/PortAudio.hsc" #-}
c'paAudioScienceHPI = 14
c'paAudioScienceHPI :: (Num a) => a

{-# LINE 117 "Bindings/PortAudio.hsc" #-}
{- typedef struct PaHostApiInfo {
            int structVersion;
            PaHostApiTypeId type;
            const char * name;
            int deviceCount;
            PaDeviceIndex defaultInputDevice;
            PaDeviceIndex defaultOutputDevice;
        } PaHostApiInfo; -}

{-# LINE 126 "Bindings/PortAudio.hsc" #-}

{-# LINE 127 "Bindings/PortAudio.hsc" #-}

{-# LINE 128 "Bindings/PortAudio.hsc" #-}

{-# LINE 129 "Bindings/PortAudio.hsc" #-}

{-# LINE 130 "Bindings/PortAudio.hsc" #-}

{-# LINE 131 "Bindings/PortAudio.hsc" #-}

{-# LINE 132 "Bindings/PortAudio.hsc" #-}
data C'PaHostApiInfo = C'PaHostApiInfo{
  c'PaHostApiInfo'structVersion :: CInt,
  c'PaHostApiInfo'type :: C'PaHostApiTypeId,
  c'PaHostApiInfo'name :: CString,
  c'PaHostApiInfo'deviceCount :: CInt,
  c'PaHostApiInfo'defaultInputDevice :: CInt,
  c'PaHostApiInfo'defaultOutputDevice :: CInt
} deriving (Eq,Show)
p'PaHostApiInfo'structVersion :: Ptr C'PaHostApiInfo -> Ptr CInt
p'PaHostApiInfo'structVersion Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p Int
0
p'PaHostApiInfo'structVersion :: Ptr (C'PaHostApiInfo) -> Ptr (CInt)
p'PaHostApiInfo'type :: Ptr C'PaHostApiInfo -> Ptr C'PaHostApiTypeId
p'PaHostApiInfo'type Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr C'PaHostApiTypeId
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p Int
4
p'PaHostApiInfo'type :: Ptr (C'PaHostApiInfo) -> Ptr (C'PaHostApiTypeId)
p'PaHostApiInfo'name :: Ptr C'PaHostApiInfo -> Ptr CString
p'PaHostApiInfo'name Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CString
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p Int
8
p'PaHostApiInfo'name :: Ptr (C'PaHostApiInfo) -> Ptr (CString)
p'PaHostApiInfo'deviceCount :: Ptr C'PaHostApiInfo -> Ptr CInt
p'PaHostApiInfo'deviceCount Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p Int
16
p'PaHostApiInfo'deviceCount :: Ptr (C'PaHostApiInfo) -> Ptr (CInt)
p'PaHostApiInfo'defaultInputDevice :: Ptr C'PaHostApiInfo -> Ptr CInt
p'PaHostApiInfo'defaultInputDevice Ptr C'PaHostApiInfo
p = Ptr C'PaHostApiInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaHostApiInfo
p Int
20
p'PaHostApiInfo'defaultInputDevice :: Ptr (C'PaHostApiInfo) -> Ptr (CInt)
p'PaHostApiInfo'defaultOutputDevice :: Ptr C'PaHostApiInfo -> Ptr CInt
p'PaHostApiInfo'defaultOutputDevice Ptr C'PaHostApiInfo
p = plusPtr p 24
p'PaHostApiInfo'defaultOutputDevice :: Ptr (C'PaHostApiInfo) -> Ptr (CInt)
instance Storable C'PaHostApiInfo where
  sizeOf _ = 32
  alignment _ = 8
  peek _p = do
    v0 <- peekByteOff _p 0
    v1 <- peekByteOff _p 4
    v2 <- peekByteOff _p 8
    v3 <- peekByteOff _p 16
    v4 <- peekByteOff _p 20
    v5 <- peekByteOff _p 24
    return $ C'PaHostApiInfo v0 v1 v2 v3 v4 v5
  poke _p (C'PaHostApiInfo v0 v1 v2 v3 v4 v5) = do
    pokeByteOff _p 0 v0
    pokeByteOff _p 4 v1
    pokeByteOff _p 8 v2
    pokeByteOff _p 16 v3
    pokeByteOff _p 20 v4
    pokeByteOff _p 24 v5
    return ()

{-# LINE 133 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetHostApiInfo" c'Pa_GetHostApiInfo
  :: CInt -> IO (Ptr C'PaHostApiInfo)
foreign import ccall "&Pa_GetHostApiInfo" p'Pa_GetHostApiInfo
  :: FunPtr (CInt -> IO (Ptr C'PaHostApiInfo))

{-# LINE 134 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_HostApiTypeIdToHostApiIndex" c'Pa_HostApiTypeIdToHostApiIndex
  :: C'PaHostApiTypeId -> IO CInt
foreign import ccall "&Pa_HostApiTypeIdToHostApiIndex" p'Pa_HostApiTypeIdToHostApiIndex
  :: FunPtr (C'PaHostApiTypeId -> IO CInt)

{-# LINE 135 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_HostApiDeviceIndexToDeviceIndex" c'Pa_HostApiDeviceIndexToDeviceIndex
  :: CInt -> CInt -> IO CInt
foreign import ccall "&Pa_HostApiDeviceIndexToDeviceIndex" p'Pa_HostApiDeviceIndexToDeviceIndex
  :: FunPtr (CInt -> CInt -> IO CInt)

{-# LINE 136 "Bindings/PortAudio.hsc" #-}
{- typedef struct PaHostErrorInfo {
            PaHostApiTypeId hostApiType;
            long errorCode;
            const char * errorText;
        } PaHostErrorInfo; -}

{-# LINE 142 "Bindings/PortAudio.hsc" #-}

{-# LINE 143 "Bindings/PortAudio.hsc" #-}

{-# LINE 144 "Bindings/PortAudio.hsc" #-}

{-# LINE 145 "Bindings/PortAudio.hsc" #-}
data C'PaHostErrorInfo = C'PaHostErrorInfo{
  c'PaHostErrorInfo'hostApiType :: C'PaHostApiTypeId,
  c'PaHostErrorInfo'errorCode :: CLong,
  c'PaHostErrorInfo'errorText :: CString
} deriving (Eq,Show)
p'PaHostErrorInfo'hostApiType p = plusPtr p 0
p'PaHostErrorInfo'hostApiType :: Ptr (C'PaHostErrorInfo) -> Ptr (C'PaHostApiTypeId)
p'PaHostErrorInfo'errorCode p = plusPtr p 8
p'PaHostErrorInfo'errorCode :: Ptr (C'PaHostErrorInfo) -> Ptr (CLong)
p'PaHostErrorInfo'errorText p = plusPtr p 16
p'PaHostErrorInfo'errorText :: Ptr (C'PaHostErrorInfo) -> Ptr (CString)
instance Storable C'PaHostErrorInfo where
  sizeOf _ = 24
  alignment _ = 8
  peek _p = do
    v0 <- peekByteOff _p 0
    v1 <- peekByteOff _p 8
    v2 <- peekByteOff _p 16
    return $ C'PaHostErrorInfo v0 v1 v2
  poke _p (C'PaHostErrorInfo v0 v1 v2) = do
    pokeByteOff _p 0 v0
    pokeByteOff _p 8 v1
    pokeByteOff _p 16 v2
    return ()

{-# LINE 146 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetLastHostErrorInfo" c'Pa_GetLastHostErrorInfo
  :: IO (Ptr C'PaHostErrorInfo)
foreign import ccall "&Pa_GetLastHostErrorInfo" p'Pa_GetLastHostErrorInfo
  :: FunPtr (IO (Ptr C'PaHostErrorInfo))

{-# LINE 147 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDeviceCount" c'Pa_GetDeviceCount
  :: IO CInt
foreign import ccall "&Pa_GetDeviceCount" p'Pa_GetDeviceCount
  :: FunPtr (IO CInt)

{-# LINE 148 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDefaultInputDevice" c'Pa_GetDefaultInputDevice
  :: IO CInt
foreign import ccall "&Pa_GetDefaultInputDevice" p'Pa_GetDefaultInputDevice
  :: FunPtr (IO CInt)

{-# LINE 149 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDefaultOutputDevice" c'Pa_GetDefaultOutputDevice
  :: IO CInt
foreign import ccall "&Pa_GetDefaultOutputDevice" p'Pa_GetDefaultOutputDevice
  :: FunPtr (IO CInt)

{-# LINE 150 "Bindings/PortAudio.hsc" #-}
{- typedef double PaTime; -}
type C'PaTime = CDouble

{-# LINE 152 "Bindings/PortAudio.hsc" #-}
{- typedef unsigned long PaSampleFormat; -}
type C'PaSampleFormat = CULong

{-# LINE 154 "Bindings/PortAudio.hsc" #-}
{- typedef struct PaDeviceInfo {
            int structVersion;
            const char * name;
            PaHostApiIndex hostApi;
            int maxInputChannels;
            int maxOutputChannels;
            PaTime defaultLowInputLatency;
            PaTime defaultLowOutputLatency;
            PaTime defaultHighInputLatency;
            PaTime defaultHighOutputLatency;
            double defaultSampleRate;
        } PaDeviceInfo; -}

{-# LINE 167 "Bindings/PortAudio.hsc" #-}

{-# LINE 168 "Bindings/PortAudio.hsc" #-}

{-# LINE 169 "Bindings/PortAudio.hsc" #-}

{-# LINE 170 "Bindings/PortAudio.hsc" #-}

{-# LINE 171 "Bindings/PortAudio.hsc" #-}

{-# LINE 172 "Bindings/PortAudio.hsc" #-}

{-# LINE 173 "Bindings/PortAudio.hsc" #-}

{-# LINE 174 "Bindings/PortAudio.hsc" #-}

{-# LINE 175 "Bindings/PortAudio.hsc" #-}

{-# LINE 176 "Bindings/PortAudio.hsc" #-}

{-# LINE 177 "Bindings/PortAudio.hsc" #-}
data C'PaDeviceInfo = C'PaDeviceInfo{
  c'PaDeviceInfo'structVersion :: CInt,
  c'PaDeviceInfo'name :: CString,
  c'PaDeviceInfo'hostApi :: CInt,
  c'PaDeviceInfo'maxInputChannels :: CInt,
  c'PaDeviceInfo'maxOutputChannels :: CInt,
  c'PaDeviceInfo'defaultLowInputLatency :: CDouble,
  c'PaDeviceInfo'defaultLowOutputLatency :: CDouble,
  c'PaDeviceInfo'defaultHighInputLatency :: CDouble,
  c'PaDeviceInfo'defaultHighOutputLatency :: CDouble,
  c'PaDeviceInfo'defaultSampleRate :: CDouble
} deriving (Eq,Show)
p'PaDeviceInfo'structVersion :: Ptr C'PaDeviceInfo -> Ptr CInt
p'PaDeviceInfo'structVersion Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p Int
0
p'PaDeviceInfo'structVersion :: Ptr (C'PaDeviceInfo) -> Ptr (CInt)
p'PaDeviceInfo'name :: Ptr C'PaDeviceInfo -> Ptr CString
p'PaDeviceInfo'name Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CString
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p Int
8
p'PaDeviceInfo'name :: Ptr (C'PaDeviceInfo) -> Ptr (CString)
p'PaDeviceInfo'hostApi :: Ptr C'PaDeviceInfo -> Ptr CInt
p'PaDeviceInfo'hostApi Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p Int
16
p'PaDeviceInfo'hostApi :: Ptr (C'PaDeviceInfo) -> Ptr (CInt)
p'PaDeviceInfo'maxInputChannels :: Ptr C'PaDeviceInfo -> Ptr CInt
p'PaDeviceInfo'maxInputChannels Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p Int
20
p'PaDeviceInfo'maxInputChannels :: Ptr (C'PaDeviceInfo) -> Ptr (CInt)
p'PaDeviceInfo'maxOutputChannels :: Ptr C'PaDeviceInfo -> Ptr CInt
p'PaDeviceInfo'maxOutputChannels Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p Int
24
p'PaDeviceInfo'maxOutputChannels :: Ptr (C'PaDeviceInfo) -> Ptr (CInt)
p'PaDeviceInfo'defaultLowInputLatency :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultLowInputLatency Ptr C'PaDeviceInfo
p Ptr C'PaStreamParameters
= Ptr C'PaDeviceInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p Int
32
p'PaDeviceInfo'defaultLowInputLatency :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
p'PaDeviceInfo'defaultLowOutputLatency :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultLowOutputLatency Ptr C'PaDeviceInfo
p = Ptr C'PaDeviceInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaDeviceInfo
p Int
40
p'PaDeviceInfo'defaultLowOutputLatency :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
p'PaDeviceInfo'defaultHighInputLatency :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultHighInputLatency Ptr C'PaDeviceInfo
p = plusPtr p 48
p'PaDeviceInfo'defaultHighInputLatency :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
p'PaDeviceInfo'defaultHighOutputLatency :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultHighOutputLatency Ptr C'PaDeviceInfo
p = plusPtr p Int
56
p'PaDeviceInfo'defaultHighOutputLatency :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
p'PaDeviceInfo'defaultSampleRate :: Ptr C'PaDeviceInfo -> Ptr CDouble
p'PaDeviceInfo'defaultSampleRate Ptr C'PaDeviceInfo
p = plusPtr p Int
64
p'PaDeviceInfo'defaultSampleRate :: Ptr (C'PaDeviceInfo) -> Ptr (CDouble)
instance Storable C'PaDeviceInfo where
  sizeOf :: C'PaDeviceInfo -> Int
sizeOf :: C'PaStreamParameters -> Int
sizeOf C'PaStreamParameters
C'PaDeviceInfo
_ = Int
72
  alignment _ = 8
  peek _p = do
    v0 <- peekByteOff _p 0
    v1 <- peekByteOff _p 8
    v2 <- peekByteOff _p 16
    v3 <- peekByteOff _p 20
    v4 <- peekByteOff _p 24
    v5 <- peekByteOff _p 32
    v6 <- peekByteOff _p 40
    v7 <- peekByteOff _p 48
    v8 <- peekByteOff _p 56
    v9 <- peekByteOff _p 64
    return $ C'PaDeviceInfo v0 v1 v2 v3 v4 v5 v6 v7 v8 v9
  poke _p (C'PaDeviceInfo v0 v1 v2 v3 v4 v5 v6 v7 v8 v9) = do
    pokeByteOff _p 0 v0
    pokeByteOff _p 8 v1
    pokeByteOff _p 16 v2
    pokeByteOff _p 20 v3
    pokeByteOff _p 24 v4
    pokeByteOff _p 32 v5
    pokeByteOff _p 40 v6
    pokeByteOff _p 48 v7
    pokeByteOff _p 56 v8
    pokeByteOff _p 64 v9
    return ()

{-# LINE 178 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetDeviceInfo" c'Pa_GetDeviceInfo
  :: CInt -> IO (Ptr C'PaDeviceInfo)
foreign import ccall "&Pa_GetDeviceInfo" p'Pa_GetDeviceInfo
  :: FunPtr (CInt -> IO (Ptr C'PaDeviceInfo))

{-# LINE 179 "Bindings/PortAudio.hsc" #-}
{- typedef struct PaStreamParameters {
            PaDeviceIndex device;
            int channelCount;
            PaSampleFormat sampleFormat;
            PaTime suggestedLatency;
            void * hostApiSpecificStreamInfo;
        } PaStreamParameters; -}

{-# LINE 187 "Bindings/PortAudio.hsc" #-}

{-# LINE 188 "Bindings/PortAudio.hsc" #-}

{-# LINE 189 "Bindings/PortAudio.hsc" #-}

{-# LINE 190 "Bindings/PortAudio.hsc" #-}

{-# LINE 191 "Bindings/PortAudio.hsc" #-}

{-# LINE 192 "Bindings/PortAudio.hsc" #-}
data C'PaStreamParameters = C'PaStreamParameters{
  c'PaStreamParameters'device :: CInt,
  c'PaStreamParameters'channelCount :: CInt,
  c'PaStreamParameters'sampleFormat :: CULong,
  c'PaStreamParameters'suggestedLatency :: CDouble,
  c'PaStreamParameters'hostApiSpecificStreamInfo :: Ptr ()
} deriving (Eq,Show)
p'PaStreamParameters'device p = plusPtr p 0
p'PaStreamParameters'device :: Ptr (C'PaStreamParameters) -> Ptr (CInt)
p'PaStreamParameters'channelCount p = plusPtr p 4
p'PaStreamParameters'channelCount :: Ptr (C'PaStreamParameters) -> Ptr (CInt)
p'PaStreamParameters'sampleFormat p = plusPtr p 8
p'PaStreamParameters'sampleFormat :: Ptr (C'PaStreamParameters) -> Ptr (CULong)
p'PaStreamParameters'suggestedLatency p = plusPtr p 16
p'PaStreamParameters'suggestedLatency :: Ptr (C'PaStreamParameters) -> Ptr (CDouble)
p'PaStreamParameters'hostApiSpecificStreamInfo p = plusPtr p 24
p'PaStreamParameters'hostApiSpecificStreamInfo :: Ptr (C'PaStreamParameters) -> Ptr (Ptr ())
instance Storable C'PaStreamParameters where
  sizeOf _ = 32
  alignment _ = 8
  peek _p = do
    v0 <- peekByteOff _p 0
    v1 <- peekByteOff _p 4
    v2 <- peekByteOff _p 8
    v3 <- peekByteOff _p 16
    v4 <- peekByteOff _p 24
    return $ C'PaStreamParameters v0 v1 v2 v3 v4
  poke _p (C'PaStreamParameters v0 v1 v2 v3 v4) = do
    pokeByteOff _p 0 v0
    pokeByteOff _p 4 v1
    pokeByteOff _p 8 v2
    pokeByteOff _p 16 v3
    pokeByteOff _p 24 v4
    return ()

{-# LINE 193 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_IsFormatSupported" c'Pa_IsFormatSupported
  :: Ptr C'PaStreamParameters -> Ptr C'PaStreamParameters -> CDouble -> IO CInt
foreign import ccall "&Pa_IsFormatSupported" p'Pa_IsFormatSupported
  :: FunPtr (Ptr C'PaStreamParameters -> Ptr C'PaStreamParameters -> CDouble -> IO CInt)

{-# LINE 194 "Bindings/PortAudio.hsc" #-}
{- typedef void PaStream; -}
{- typedef unsigned long PaStreamFlags; -}
type C'PaStreamFlags = CULong

{-# LINE 197 "Bindings/PortAudio.hsc" #-}
{- typedef struct PaStreamCallbackTimeInfo {
            PaTime inputBufferAdcTime;
            PaTime currentTime;
            PaTime outputBufferDacTime;
        } PaStreamCallbackTimeInfo; -}

{-# LINE 203 "Bindings/PortAudio.hsc" #-}

{-# LINE 204 "Bindings/PortAudio.hsc" #-}

{-# LINE 205 "Bindings/PortAudio.hsc" #-}

{-# LINE 206 "Bindings/PortAudio.hsc" #-}
data C'PaStreamCallbackTimeInfo = C'PaStreamCallbackTimeInfo{
  c'PaStreamCallbackTimeInfo'inputBufferAdcTime :: CDouble,
  c'PaStreamCallbackTimeInfo'currentTime :: CDouble,
  c'PaStreamCallbackTimeInfo'outputBufferDacTime :: CDouble
} deriving (Eq,Show)
p'PaStreamCallbackTimeInfo'inputBufferAdcTime p = plusPtr p 0
p'PaStreamCallbackTimeInfo'inputBufferAdcTime :: Ptr (C'PaStreamCallbackTimeInfo) -> Ptr (CDouble)
p'PaStreamCallbackTimeInfo'currentTime p = plusPtr p 8
p'PaStreamCallbackTimeInfo'currentTime :: Ptr (C'PaStreamCallbackTimeInfo) -> Ptr (CDouble)
p'PaStreamCallbackTimeInfo'outputBufferDacTime p = plusPtr p 16
p'PaStreamCallbackTimeInfo'outputBufferDacTime :: Ptr (C'PaStreamCallbackTimeInfo) -> Ptr (CDouble)
instance Storable C'PaStreamCallbackTimeInfo where
  sizeOf _ = 24
  alignment _ = 8
  peek _p = do
    v0 <- peekByteOff _p 0
    v1 <- peekByteOff _p 8
    v2 <- peekByteOff _p 16
    return $ C'PaStreamCallbackTimeInfo v0 v1 v2
  poke _p (C'PaStreamCallbackTimeInfo v0 v1 v2) = do
    pokeByteOff _p 0 v0
    pokeByteOff _p 8 v1
    pokeByteOff _p 16 v2
    return ()

{-# LINE 207 "Bindings/PortAudio.hsc" #-}
{- typedef unsigned long PaStreamCallbackFlags; -}
type C'PaStreamCallbackFlags = CULong

{-# LINE 209 "Bindings/PortAudio.hsc" #-}
{- typedef enum PaStreamCallbackResult {
            paContinue = 0, paComplete = 1, paAbort = 2
        } PaStreamCallbackResult; -}
type C'PaStreamCallbackResult = CUInt

{-# LINE 213 "Bindings/PortAudio.hsc" #-}
c'paContinue = 0
c'paContinue :: (Num a) => a

{-# LINE 214 "Bindings/PortAudio.hsc" #-}
c'paComplete = 1
c'paComplete :: (Num a) => a

{-# LINE 215 "Bindings/PortAudio.hsc" #-}
c'paAbort = 2
c'paAbort :: (Num a) => a

{-# LINE 216 "Bindings/PortAudio.hsc" #-}

type C'PaStreamCallback = FunPtr (Ptr () -> Ptr () -> CULong -> Ptr C'PaStreamCallbackTimeInfo -> C'PaStreamCallbackFlags -> Ptr () -> IO C'PaStreamCallbackResult)
foreign import ccall "wrapper" mk'PaStreamCallback
  :: (Ptr () -> Ptr () -> CULong -> Ptr C'PaStreamCallbackTimeInfo -> C'PaStreamCallbackFlags -> Ptr () -> IO C'PaStreamCallbackResult) -> IO C'PaStreamCallback
foreign import ccall "dynamic" mK'PaStreamCallback
  :: C'PaStreamCallback -> (Ptr () -> Ptr () -> CULong -> Ptr C'PaStreamCallbackTimeInfo -> C'PaStreamCallbackFlags -> Ptr () -> IO C'PaStreamCallbackResult)

{-# LINE 218 "Bindings/PortAudio.hsc" #-}

type C'PaStreamFinishedCallback = FunPtr (Ptr () -> IO ())
foreign import ccall "wrapper" mk'PaStreamFinishedCallback
  :: (Ptr () -> IO ()) -> IO C'PaStreamFinishedCallback
foreign import ccall "dynamic" mK'PaStreamFinishedCallback
  :: C'PaStreamFinishedCallback -> (Ptr () -> IO ())

{-# LINE 220 "Bindings/PortAudio.hsc" #-}

foreign import ccall "Pa_OpenStream" c'Pa_OpenStream
  :: Ptr (Ptr C'PaStream) -> Ptr C'PaStreamParameters -> Ptr C'PaStreamParameters -> CDouble -> CULong -> CULong -> C'PaStreamCallback -> Ptr () -> IO CInt
foreign import ccall "&Pa_OpenStream" p'Pa_OpenStream
  :: FunPtr (Ptr (Ptr C'PaStream) -> Ptr C'PaStreamParameters -> Ptr C'PaStreamParameters -> CDouble -> CULong -> CULong -> C'PaStreamCallback -> Ptr () -> IO CInt)

{-# LINE 222 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_OpenDefaultStream" c'Pa_OpenDefaultStream
  :: Ptr (Ptr C'PaStream) -> CInt -> CInt -> CULong -> CDouble -> CULong -> C'PaStreamCallback -> Ptr () -> IO CInt
foreign import ccall "&Pa_OpenDefaultStream" p'Pa_OpenDefaultStream
  :: FunPtr (Ptr (Ptr C'PaStream) -> CInt -> CInt -> CULong -> CDouble -> CULong -> C'PaStreamCallback -> Ptr () -> IO CInt)

{-# LINE 223 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_CloseStream" c'Pa_CloseStream
  :: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_CloseStream" p'Pa_CloseStream
  :: FunPtr (Ptr C'PaStream -> IO CInt)

{-# LINE 224 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_SetStreamFinishedCallback" c'Pa_SetStreamFinishedCallback
  :: Ptr C'PaStream -> C'PaStreamFinishedCallback -> IO CInt
foreign import ccall "&Pa_SetStreamFinishedCallback" p'Pa_SetStreamFinishedCallback
  :: FunPtr (Ptr C'PaStream -> C'PaStreamFinishedCallback -> IO CInt)

{-# LINE 225 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_StartStream" c'Pa_StartStream
  :: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_StartStream" p'Pa_StartStream
  :: FunPtr (Ptr C'PaStream -> IO CInt)

{-# LINE 226 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_StopStream" c'Pa_StopStream
  :: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_StopStream" p'Pa_StopStream
  :: FunPtr (Ptr C'PaStream -> IO CInt)

{-# LINE 227 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_AbortStream" c'Pa_AbortStream
  :: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_AbortStream" p'Pa_AbortStream
  :: FunPtr (Ptr C'PaStream -> IO CInt)

{-# LINE 228 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_IsStreamStopped" c'Pa_IsStreamStopped
  :: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_IsStreamStopped" p'Pa_IsStreamStopped
  :: FunPtr (Ptr C'PaStream -> IO CInt)

{-# LINE 229 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_IsStreamActive" c'Pa_IsStreamActive
  :: Ptr C'PaStream -> IO CInt
foreign import ccall "&Pa_IsStreamActive" p'Pa_IsStreamActive
  :: FunPtr (Ptr C'PaStream -> IO CInt)

{-# LINE 230 "Bindings/PortAudio.hsc" #-}
{- typedef struct PaStreamInfo {
            int structVersion;
            PaTime inputLatency;
            PaTime outputLatency;
            double sampleRate;
        } PaStreamInfo; -}

{-# LINE 237 "Bindings/PortAudio.hsc" #-}

{-# LINE 238 "Bindings/PortAudio.hsc" #-}

{-# LINE 239 "Bindings/PortAudio.hsc" #-}

{-# LINE 240 "Bindings/PortAudio.hsc" #-}

{-# LINE 241 "Bindings/PortAudio.hsc" #-}
data C'PaStreamInfo = C'PaStreamInfo{
  c'PaStreamInfo'structVersion :: CInt,
  c'PaStreamInfo'inputLatency :: CDouble,
  c'PaStreamInfo'outputLatency :: CDouble,
  c'PaStreamInfo'sampleRate :: CDouble
} deriving (Eq,Show)
p'PaStreamInfo'structVersion :: Ptr C'PaStreamInfo -> Ptr CInt
p'PaStreamInfo'structVersion Ptr C'PaStreamInfo
p = Ptr C'PaStreamInfo -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaStreamInfo
p Int
0
p'PaStreamInfo'structVersion :: Ptr (C'PaStreamInfo) -> Ptr (CInt)
p'PaStreamInfo'inputLatency p = Ptr C'PaStreamInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaStreamInfo
p Int
8
p'PaStreamInfo'inputLatency :: Ptr (C'PaStreamInfo) -> Ptr (CDouble)
p'PaStreamInfo'outputLatency :: Ptr C'PaStreamInfo -> Ptr CDouble
p'PaStreamInfo'outputLatency Ptr C'PaStreamInfo
p = Ptr C'PaStreamInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaStreamInfo
p Int
16
p'PaStreamInfo'outputLatency :: Ptr (C'PaStreamInfo) -> Ptr (CDouble)
p'PaStreamInfo'sampleRate p = Ptr C'PaStreamInfo -> Int -> Ptr CDouble
forall a b. Ptr a -> Int -> Ptr b
plusPtr Ptr C'PaStreamInfo
p Int
24
p'PaStreamInfo'sampleRate :: Ptr (C'PaStreamInfo) -> Ptr (CDouble)
instance Storable C'PaStreamInfo where
  sizeOf :: C'PaStreamInfo -> Int
sizeOf C'PaStreamInfo
_ = Int
32
  alignment :: C'PaStreamInfo -> Int
alignment C'PaStreamInfo
_ = Int
8
  peek :: Ptr C'PaStreamInfo -> IO C'PaStreamInfo
peek Ptr C'PaStreamInfo
_p = do
    CInt
v0 <- Ptr C'PaStreamInfo -> Int -> IO CInt
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr C'PaStreamInfo
_p Int
0
    CDouble
v1 <- Ptr C'PaStreamInfo -> Int -> IO CDouble
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr C'PaStreamInfo
_p Int
8
    CDouble
v2 <- Ptr C'PaStreamInfo -> Int -> IO CDouble
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr C'PaStreamInfo
_p Int
16
    CDouble
v3 <- Ptr C'PaStreamInfo -> Int -> IO CDouble
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr C'PaStreamInfo
_p Int
24
    C'PaStreamInfo -> IO C'PaStreamInfo
forall (m :: * -> *) a. Monad m => a -> m a
return (C'PaStreamInfo -> IO C'PaStreamInfo)
-> C'PaStreamInfo -> IO C'PaStreamInfo
forall a b. (a -> b) -> a -> b
$ CInt -> CDouble -> CDouble -> CDouble -> C'PaStreamInfo
C'PaStreamInfo CInt
v0 CDouble
v1 CDouble
v2 CDouble
v3
  poke :: Ptr C'PaStreamInfo -> C'PaStreamInfo -> IO ()
poke Ptr C'PaStreamInfo
_p (C'PaStreamInfo CInt
v0 CDouble
v1 CDouble
v2 CDouble
v3) = do
    Ptr C'PaStreamInfo -> Int -> CInt -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaStreamInfo
_p Int
0 CInt
v0
    Ptr C'PaStreamInfo -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaStreamInfo
_p Int
8 CDouble
v1
    Ptr C'PaStreamInfo -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaStreamInfo
_p Int
16 CDouble
v2
    Ptr C'PaStreamInfo -> Int -> CDouble -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr C'PaStreamInfo
_p Int
24 CDouble
v3
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

{-# LINE 242 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamInfo" c'Pa_GetStreamInfo
  :: Ptr C'PaStream -> IO (Ptr C'PaStreamInfo)
foreign import ccall "&Pa_GetStreamInfo" p'Pa_GetStreamInfo
  :: FunPtr (Ptr C'PaStream -> IO (Ptr C'PaStreamInfo))

{-# LINE 243 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamTime" c'Pa_GetStreamTime
  :: Ptr C'PaStream -> IO CDouble
foreign import ccall "&Pa_GetStreamTime" p'Pa_GetStreamTime
  :: FunPtr (Ptr C'PaStream -> IO CDouble)

{-# LINE 244 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamCpuLoad" c'Pa_GetStreamCpuLoad
  :: Ptr C'PaStream -> IO CDouble
foreign import ccall "&Pa_GetStreamCpuLoad" p'Pa_GetStreamCpuLoad
  :: FunPtr (Ptr C'PaStream -> IO CDouble)

{-# LINE 245 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_ReadStream" c'Pa_ReadStream
  :: Ptr C'PaStream -> Ptr () -> CULong -> IO CInt
foreign import ccall "&Pa_ReadStream" p'Pa_ReadStream
  :: FunPtr (Ptr C'PaStream -> Ptr () -> CULong -> IO CInt)

{-# LINE 246 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_WriteStream" c'Pa_WriteStream
  :: Ptr C'PaStream -> Ptr () -> CULong -> IO CInt
foreign import ccall "&Pa_WriteStream" p'Pa_WriteStream
  :: FunPtr (Ptr C'PaStream -> Ptr () -> CULong -> IO CInt)

{-# LINE 247 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamReadAvailable" c'Pa_GetStreamReadAvailable
  :: Ptr C'PaStream -> IO CLong
foreign import ccall "&Pa_GetStreamReadAvailable" p'Pa_GetStreamReadAvailable
  :: FunPtr (Ptr C'PaStream -> IO CLong)

{-# LINE 248 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetStreamWriteAvailable" c'Pa_GetStreamWriteAvailable
  :: Ptr C'PaStream -> IO CLong
foreign import ccall "&Pa_GetStreamWriteAvailable" p'Pa_GetStreamWriteAvailable
  :: FunPtr (Ptr C'PaStream -> IO CLong)

{-# LINE 249 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_GetSampleSize" c'Pa_GetSampleSize
  :: CULong -> IO CInt
foreign import ccall "&Pa_GetSampleSize" p'Pa_GetSampleSize
  :: FunPtr (CULong -> IO CInt)

{-# LINE 250 "Bindings/PortAudio.hsc" #-}
foreign import ccall "Pa_Sleep" c'Pa_Sleep
  :: CLong -> IO ()
foreign import ccall "&Pa_Sleep" p'Pa_Sleep
  :: FunPtr (CLong -> IO ())

{-# LINE 251 "Bindings/PortAudio.hsc" #-}