{-# INCLUDE <bindings.macros.h> #-}
{-# INCLUDE <libusb.h> #-}
{-# LINE 1 "src/Bindings/Libusb/Synchronous.hsc" #-}

{-# LINE 2 "src/Bindings/Libusb/Synchronous.hsc" #-}

{-# LINE 3 "src/Bindings/Libusb/Synchronous.hsc" #-}

-- | <http://libusb.sourceforge.net/api-1.0/group__syncio.html>

module Bindings.Libusb.Synchronous where
import Foreign
import Foreign.C
import Bindings.Libusb.HandlingAndEnumeration

foreign import ccall "libusb_control_transfer" c'libusb_control_transfer :: Ptr  C'libusb_device_handle  -> Word8 -> Word8 -> Word16 -> Word16 -> Ptr CUChar -> Word16 -> CUInt -> IO CInt
foreign import ccall "&libusb_control_transfer" p'libusb_control_transfer :: FunPtr (Ptr  C'libusb_device_handle  -> Word8 -> Word8 -> Word16 -> Word16 -> Ptr CUChar -> Word16 -> CUInt -> IO CInt)

{-# LINE 14 "src/Bindings/Libusb/Synchronous.hsc" #-}
foreign import ccall "libusb_bulk_transfer" c'libusb_bulk_transfer :: Ptr  C'libusb_device_handle  -> CUChar -> Ptr CUChar -> CInt -> Ptr CInt -> CUInt -> IO CInt
foreign import ccall "&libusb_bulk_transfer" p'libusb_bulk_transfer :: FunPtr (Ptr  C'libusb_device_handle  -> CUChar -> Ptr CUChar -> CInt -> Ptr CInt -> CUInt -> IO CInt)

{-# LINE 16 "src/Bindings/Libusb/Synchronous.hsc" #-}
foreign import ccall "libusb_interrupt_transfer" c'libusb_interrupt_transfer :: Ptr  C'libusb_device_handle  -> CUChar -> Ptr CUChar -> CInt -> Ptr CInt -> CUInt -> IO CInt
foreign import ccall "&libusb_interrupt_transfer" p'libusb_interrupt_transfer :: FunPtr (Ptr  C'libusb_device_handle  -> CUChar -> Ptr CUChar -> CInt -> Ptr CInt -> CUInt -> IO CInt)

{-# LINE 18 "src/Bindings/Libusb/Synchronous.hsc" #-}