{-# INCLUDE <cddb/cddb.h> #-}
{-# INCLUDE <bindings.macros.h> #-}
{-# LINE 1 "src/Bindings/Libcddb/CddbLog.hsc" #-}

{-# LINE 2 "src/Bindings/Libcddb/CddbLog.hsc" #-}

{-# LINE 3 "src/Bindings/Libcddb/CddbLog.hsc" #-}

-- | <http://libcddb.sourceforge.net/API/cddb__log_8h.html>

module Bindings.Libcddb.CddbLog where
import Prelude (IO,Num,return,(.),($),Eq,Show,take)
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.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 8 "src/Bindings/Libcddb/CddbLog.hsc" #-}

type C'cddb_log_handler_t = FunPtr (C'cddb_log_level_t -> CString -> IO ())
foreign import ccall "wrapper" mk'cddb_log_handler_t
  :: (C'cddb_log_level_t -> CString -> IO ()) -> IO C'cddb_log_handler_t

{-# LINE 10 "src/Bindings/Libcddb/CddbLog.hsc" #-}

type C'cddb_log_level_t = Word32

{-# LINE 12 "src/Bindings/Libcddb/CddbLog.hsc" #-}

c'CDDB_LOG_DEBUG = 1
c'CDDB_LOG_DEBUG :: (Num a) => a

{-# LINE 14 "src/Bindings/Libcddb/CddbLog.hsc" #-}
c'CDDB_LOG_INFO = 2
c'CDDB_LOG_INFO :: (Num a) => a

{-# LINE 15 "src/Bindings/Libcddb/CddbLog.hsc" #-}
c'CDDB_LOG_WARN = 3
c'CDDB_LOG_WARN :: (Num a) => a

{-# LINE 16 "src/Bindings/Libcddb/CddbLog.hsc" #-}
c'CDDB_LOG_ERROR = 4
c'CDDB_LOG_ERROR :: (Num a) => a

{-# LINE 17 "src/Bindings/Libcddb/CddbLog.hsc" #-}
c'CDDB_LOG_CRITICAL = 5
c'CDDB_LOG_CRITICAL :: (Num a) => a

{-# LINE 18 "src/Bindings/Libcddb/CddbLog.hsc" #-}
c'CDDB_LOG_NONE = 99
c'CDDB_LOG_NONE :: (Num a) => a

{-# LINE 19 "src/Bindings/Libcddb/CddbLog.hsc" #-}

foreign import ccall "cddb_log_set_handler" c'cddb_log_set_handler
  :: C'cddb_log_handler_t -> IO C'cddb_log_handler_t
foreign import ccall "&cddb_log_set_handler" p'cddb_log_set_handler
  :: FunPtr (C'cddb_log_handler_t -> IO C'cddb_log_handler_t)

{-# LINE 22 "src/Bindings/Libcddb/CddbLog.hsc" #-}
foreign import ccall "cddb_log_set_level" c'cddb_log_set_level
  :: C'cddb_log_level_t -> IO ()
foreign import ccall "&cddb_log_set_level" p'cddb_log_set_level
  :: FunPtr (C'cddb_log_level_t -> IO ())

{-# LINE 23 "src/Bindings/Libcddb/CddbLog.hsc" #-}