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

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

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

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

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

data C'cddb_track_t = C'cddb_track_t

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

foreign import ccall "cddb_track_new" c'cddb_track_new
  :: IO (Ptr C'cddb_track_t)
foreign import ccall "&cddb_track_new" p'cddb_track_new
  :: FunPtr (IO (Ptr C'cddb_track_t))

{-# LINE 12 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_destroy" c'cddb_track_destroy
  :: Ptr C'cddb_track_t -> IO ()
foreign import ccall "&cddb_track_destroy" p'cddb_track_destroy
  :: FunPtr (Ptr C'cddb_track_t -> IO ())

{-# LINE 13 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_clone" c'cddb_track_clone
  :: Ptr C'cddb_track_t -> IO (Ptr C'cddb_track_t)
foreign import ccall "&cddb_track_clone" p'cddb_track_clone
  :: FunPtr (Ptr C'cddb_track_t -> IO (Ptr C'cddb_track_t))

{-# LINE 14 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_get_number" c'cddb_track_get_number
  :: Ptr C'cddb_track_t -> IO CInt
foreign import ccall "&cddb_track_get_number" p'cddb_track_get_number
  :: FunPtr (Ptr C'cddb_track_t -> IO CInt)

{-# LINE 15 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_get_frame_offset" c'cddb_track_get_frame_offset
  :: Ptr C'cddb_track_t -> IO CInt
foreign import ccall "&cddb_track_get_frame_offset" p'cddb_track_get_frame_offset
  :: FunPtr (Ptr C'cddb_track_t -> IO CInt)

{-# LINE 16 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_set_frame_offset" c'cddb_track_set_frame_offset
  :: Ptr C'cddb_track_t -> CInt -> IO ()
foreign import ccall "&cddb_track_set_frame_offset" p'cddb_track_set_frame_offset
  :: FunPtr (Ptr C'cddb_track_t -> CInt -> IO ())

{-# LINE 17 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_get_length" c'cddb_track_get_length
  :: Ptr C'cddb_track_t -> IO CInt
foreign import ccall "&cddb_track_get_length" p'cddb_track_get_length
  :: FunPtr (Ptr C'cddb_track_t -> IO CInt)

{-# LINE 18 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_set_length" c'cddb_track_set_length
  :: Ptr C'cddb_track_t -> CInt -> IO ()
foreign import ccall "&cddb_track_set_length" p'cddb_track_set_length
  :: FunPtr (Ptr C'cddb_track_t -> CInt -> IO ())

{-# LINE 19 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_get_title" c'cddb_track_get_title
  :: Ptr C'cddb_track_t -> IO CString
foreign import ccall "&cddb_track_get_title" p'cddb_track_get_title
  :: FunPtr (Ptr C'cddb_track_t -> IO CString)

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

{-# LINE 21 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_append_title" c'cddb_track_append_title
  :: Ptr C'cddb_track_t -> CString -> IO ()
foreign import ccall "&cddb_track_append_title" p'cddb_track_append_title
  :: FunPtr (Ptr C'cddb_track_t -> CString -> IO ())

{-# LINE 22 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_get_artist" c'cddb_track_get_artist
  :: Ptr C'cddb_track_t -> IO CString
foreign import ccall "&cddb_track_get_artist" p'cddb_track_get_artist
  :: FunPtr (Ptr C'cddb_track_t -> IO CString)

{-# LINE 23 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_set_artist" c'cddb_track_set_artist
  :: Ptr C'cddb_track_t -> CString -> IO ()
foreign import ccall "&cddb_track_set_artist" p'cddb_track_set_artist
  :: FunPtr (Ptr C'cddb_track_t -> CString -> IO ())

{-# LINE 24 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_append_artist" c'cddb_track_append_artist
  :: Ptr C'cddb_track_t -> CString -> IO ()
foreign import ccall "&cddb_track_append_artist" p'cddb_track_append_artist
  :: FunPtr (Ptr C'cddb_track_t -> CString -> IO ())

{-# LINE 25 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_get_ext_data" c'cddb_track_get_ext_data
  :: Ptr C'cddb_track_t -> IO CString
foreign import ccall "&cddb_track_get_ext_data" p'cddb_track_get_ext_data
  :: FunPtr (Ptr C'cddb_track_t -> IO CString)

{-# LINE 26 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_set_ext_data" c'cddb_track_set_ext_data
  :: Ptr C'cddb_track_t -> CString -> IO ()
foreign import ccall "&cddb_track_set_ext_data" p'cddb_track_set_ext_data
  :: FunPtr (Ptr C'cddb_track_t -> CString -> IO ())

{-# LINE 27 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_append_ext_data" c'cddb_track_append_ext_data
  :: Ptr C'cddb_track_t -> CString -> IO ()
foreign import ccall "&cddb_track_append_ext_data" p'cddb_track_append_ext_data
  :: FunPtr (Ptr C'cddb_track_t -> CString -> IO ())

{-# LINE 28 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_copy" c'cddb_track_copy
  :: Ptr C'cddb_track_t -> Ptr C'cddb_track_t -> IO ()
foreign import ccall "&cddb_track_copy" p'cddb_track_copy
  :: FunPtr (Ptr C'cddb_track_t -> Ptr C'cddb_track_t -> IO ())

{-# LINE 29 "src/Bindings/Libcddb/CddbTrack.hsc" #-}
foreign import ccall "cddb_track_print" c'cddb_track_print
  :: Ptr C'cddb_track_t -> IO ()
foreign import ccall "&cddb_track_print" p'cddb_track_print
  :: FunPtr (Ptr C'cddb_track_t -> IO ())

{-# LINE 30 "src/Bindings/Libcddb/CddbTrack.hsc" #-}