module Bindings.Libcddb.CddbLog 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
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
foreign import ccall "dynamic" mK'cddb_log_handler_t
:: C'cddb_log_handler_t -> (C'cddb_log_level_t -> CString -> IO ())
type C'cddb_log_level_t = CUInt
c'CDDB_LOG_DEBUG = 1
c'CDDB_LOG_DEBUG :: (Num a) => a
c'CDDB_LOG_INFO = 2
c'CDDB_LOG_INFO :: (Num a) => a
c'CDDB_LOG_WARN = 3
c'CDDB_LOG_WARN :: (Num a) => a
c'CDDB_LOG_ERROR = 4
c'CDDB_LOG_ERROR :: (Num a) => a
c'CDDB_LOG_CRITICAL = 5
c'CDDB_LOG_CRITICAL :: (Num a) => a
c'CDDB_LOG_NONE = 99
c'CDDB_LOG_NONE :: (Num a) => a
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)
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 ())