{-# LINE 1 "src/Bindings/Libusb/InitializationDeinitialization.hsc" #-}

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

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

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

module Bindings.Libusb.InitializationDeinitialization 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

{-# LINE 8 "src/Bindings/Libusb/InitializationDeinitialization.hsc" #-}

data C'libusb_context = C'libusb_context

{-# LINE 10 "src/Bindings/Libusb/InitializationDeinitialization.hsc" #-}

foreign import ccall "libusb_set_debug" c'libusb_set_debug
  :: Ptr C'libusb_context -> CInt -> IO ()
foreign import ccall "&libusb_set_debug" p'libusb_set_debug
  :: FunPtr (Ptr C'libusb_context -> CInt -> IO ())

{-# LINE 12 "src/Bindings/Libusb/InitializationDeinitialization.hsc" #-}
foreign import ccall "libusb_init" c'libusb_init
  :: Ptr (Ptr C'libusb_context) -> IO CInt
foreign import ccall "&libusb_init" p'libusb_init
  :: FunPtr (Ptr (Ptr C'libusb_context) -> IO CInt)

{-# LINE 13 "src/Bindings/Libusb/InitializationDeinitialization.hsc" #-}
foreign import ccall "libusb_exit" c'libusb_exit
  :: Ptr C'libusb_context -> IO ()
foreign import ccall "&libusb_exit" p'libusb_exit
  :: FunPtr (Ptr C'libusb_context -> IO ())

{-# LINE 14 "src/Bindings/Libusb/InitializationDeinitialization.hsc" #-}