{-# LINE 1 "src/Bindings/Libcddb/CddbSite.hsc" #-}

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

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

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

module Bindings.Libcddb.CddbSite 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/Libcddb/CddbSite.hsc" #-}
import Bindings.Libcddb.CddbError

data C'cddb_site_t = C'cddb_site_t

{-# LINE 11 "src/Bindings/Libcddb/CddbSite.hsc" #-}

type C'cddb_protocol_t = CUInt

{-# LINE 13 "src/Bindings/Libcddb/CddbSite.hsc" #-}

c'PROTO_UNKNOWN = 0
c'PROTO_UNKNOWN :: (Num a) => a

{-# LINE 15 "src/Bindings/Libcddb/CddbSite.hsc" #-}
c'PROTO_CDDBP = 1
c'PROTO_CDDBP :: (Num a) => a

{-# LINE 16 "src/Bindings/Libcddb/CddbSite.hsc" #-}
c'PROTO_HTTP = 2
c'PROTO_HTTP :: (Num a) => a

{-# LINE 17 "src/Bindings/Libcddb/CddbSite.hsc" #-}

foreign import ccall "cddb_site_new" c'cddb_site_new
  :: IO (Ptr C'cddb_site_t)
foreign import ccall "&cddb_site_new" p'cddb_site_new
  :: FunPtr (IO (Ptr C'cddb_site_t))

{-# LINE 19 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_destroy" c'cddb_site_destroy
  :: Ptr C'cddb_site_t -> IO C'cddb_error_t
foreign import ccall "&cddb_site_destroy" p'cddb_site_destroy
  :: FunPtr (Ptr C'cddb_site_t -> IO C'cddb_error_t)

{-# LINE 20 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_clone" c'cddb_site_clone
  :: Ptr C'cddb_site_t -> IO (Ptr C'cddb_site_t)
foreign import ccall "&cddb_site_clone" p'cddb_site_clone
  :: FunPtr (Ptr C'cddb_site_t -> IO (Ptr C'cddb_site_t))

{-# LINE 21 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_get_address" c'cddb_site_get_address
  :: Ptr C'cddb_site_t -> Ptr CString -> Ptr CUInt -> IO C'cddb_error_t
foreign import ccall "&cddb_site_get_address" p'cddb_site_get_address
  :: FunPtr (Ptr C'cddb_site_t -> Ptr CString -> Ptr CUInt -> IO C'cddb_error_t)

{-# LINE 23 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_set_address" c'cddb_site_set_address
  :: Ptr C'cddb_site_t -> CString -> CUInt -> IO C'cddb_error_t
foreign import ccall "&cddb_site_set_address" p'cddb_site_set_address
  :: FunPtr (Ptr C'cddb_site_t -> CString -> CUInt -> IO C'cddb_error_t)

{-# LINE 25 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_get_protocol" c'cddb_site_get_protocol
  :: Ptr C'cddb_site_t -> IO C'cddb_protocol_t
foreign import ccall "&cddb_site_get_protocol" p'cddb_site_get_protocol
  :: FunPtr (Ptr C'cddb_site_t -> IO C'cddb_protocol_t)

{-# LINE 27 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_set_protocol" c'cddb_site_set_protocol
  :: Ptr C'cddb_site_t -> C'cddb_protocol_t -> IO C'cddb_error_t
foreign import ccall "&cddb_site_set_protocol" p'cddb_site_set_protocol
  :: FunPtr (Ptr C'cddb_site_t -> C'cddb_protocol_t -> IO C'cddb_error_t)

{-# LINE 29 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_get_query_path" c'cddb_site_get_query_path
  :: Ptr C'cddb_site_t -> Ptr CString -> IO C'cddb_error_t
foreign import ccall "&cddb_site_get_query_path" p'cddb_site_get_query_path
  :: FunPtr (Ptr C'cddb_site_t -> Ptr CString -> IO C'cddb_error_t)

{-# LINE 31 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_set_query_path" c'cddb_site_set_query_path
  :: Ptr C'cddb_site_t -> CString -> IO C'cddb_error_t
foreign import ccall "&cddb_site_set_query_path" p'cddb_site_set_query_path
  :: FunPtr (Ptr C'cddb_site_t -> CString -> IO C'cddb_error_t)

{-# LINE 33 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_get_submit_path" c'cddb_site_get_submit_path
  :: Ptr C'cddb_site_t -> Ptr CString -> IO C'cddb_error_t
foreign import ccall "&cddb_site_get_submit_path" p'cddb_site_get_submit_path
  :: FunPtr (Ptr C'cddb_site_t -> Ptr CString -> IO C'cddb_error_t)

{-# LINE 35 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_set_submit_path" c'cddb_site_set_submit_path
  :: Ptr C'cddb_site_t -> CString -> IO C'cddb_error_t
foreign import ccall "&cddb_site_set_submit_path" p'cddb_site_set_submit_path
  :: FunPtr (Ptr C'cddb_site_t -> CString -> IO C'cddb_error_t)

{-# LINE 37 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_get_location" c'cddb_site_get_location
  :: Ptr C'cddb_site_t -> Ptr CFloat -> Ptr CFloat -> IO C'cddb_error_t
foreign import ccall "&cddb_site_get_location" p'cddb_site_get_location
  :: FunPtr (Ptr C'cddb_site_t -> Ptr CFloat -> Ptr CFloat -> IO C'cddb_error_t)

{-# LINE 39 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_set_location" c'cddb_site_set_location
  :: Ptr C'cddb_site_t -> CFloat -> CFloat -> IO C'cddb_error_t
foreign import ccall "&cddb_site_set_location" p'cddb_site_set_location
  :: FunPtr (Ptr C'cddb_site_t -> CFloat -> CFloat -> IO C'cddb_error_t)

{-# LINE 41 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_get_description" c'cddb_site_get_description
  :: Ptr C'cddb_site_t -> Ptr CString -> IO C'cddb_error_t
foreign import ccall "&cddb_site_get_description" p'cddb_site_get_description
  :: FunPtr (Ptr C'cddb_site_t -> Ptr CString -> IO C'cddb_error_t)

{-# LINE 43 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_set_description" c'cddb_site_set_description
  :: Ptr C'cddb_site_t -> CString -> IO C'cddb_error_t
foreign import ccall "&cddb_site_set_description" p'cddb_site_set_description
  :: FunPtr (Ptr C'cddb_site_t -> CString -> IO C'cddb_error_t)

{-# LINE 45 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_parse" c'cddb_site_parse
  :: Ptr C'cddb_site_t -> CString -> IO CInt
foreign import ccall "&cddb_site_parse" p'cddb_site_parse
  :: FunPtr (Ptr C'cddb_site_t -> CString -> IO CInt)

{-# LINE 46 "src/Bindings/Libcddb/CddbSite.hsc" #-}
foreign import ccall "cddb_site_print" c'cddb_site_print
  :: Ptr C'cddb_site_t -> IO C'cddb_error_t
foreign import ccall "&cddb_site_print" p'cddb_site_print
  :: FunPtr (Ptr C'cddb_site_t -> IO C'cddb_error_t)

{-# LINE 47 "src/Bindings/Libcddb/CddbSite.hsc" #-}