{-# LINE 1 "Bindings/Libgit2/Object.hsc" #-}

{-# LINE 2 "Bindings/Libgit2/Object.hsc" #-}

{-# LINE 3 "Bindings/Libgit2/Object.hsc" #-}
module Bindings.Libgit2.Object 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 5 "Bindings/Libgit2/Object.hsc" #-}

import Bindings.Libgit2.Common
import Bindings.Libgit2.Types
import Bindings.Libgit2.Oid
foreign import ccall "git_object_lookup" c'git_object_lookup
  :: Ptr (Ptr C'git_object) -> Ptr C'git_repository -> Ptr C'git_oid -> C'git_otype -> IO (CInt)
foreign import ccall "&git_object_lookup" p'git_object_lookup
  :: FunPtr (Ptr (Ptr C'git_object) -> Ptr C'git_repository -> Ptr C'git_oid -> C'git_otype -> IO (CInt))

{-# LINE 10 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object_lookup_prefix" c'git_object_lookup_prefix
  :: Ptr (Ptr C'git_object) -> Ptr C'git_repository -> Ptr C'git_oid -> CUInt -> C'git_otype -> IO (CInt)
foreign import ccall "&git_object_lookup_prefix" p'git_object_lookup_prefix
  :: FunPtr (Ptr (Ptr C'git_object) -> Ptr C'git_repository -> Ptr C'git_oid -> CUInt -> C'git_otype -> IO (CInt))

{-# LINE 11 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object_id" c'git_object_id
  :: Ptr C'git_object -> IO (Ptr C'git_oid)
foreign import ccall "&git_object_id" p'git_object_id
  :: FunPtr (Ptr C'git_object -> IO (Ptr C'git_oid))

{-# LINE 12 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object_type" c'git_object_type
  :: Ptr C'git_object -> IO (C'git_otype)
foreign import ccall "&git_object_type" p'git_object_type
  :: FunPtr (Ptr C'git_object -> IO (C'git_otype))

{-# LINE 13 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object_owner" c'git_object_owner
  :: Ptr C'git_object -> IO (Ptr C'git_repository)
foreign import ccall "&git_object_owner" p'git_object_owner
  :: FunPtr (Ptr C'git_object -> IO (Ptr C'git_repository))

{-# LINE 14 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object_free" c'git_object_free
  :: Ptr C'git_object -> IO ()
foreign import ccall "&git_object_free" p'git_object_free
  :: FunPtr (Ptr C'git_object -> IO ())

{-# LINE 15 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object_type2string" c'git_object_type2string
  :: C'git_otype -> IO (CString)
foreign import ccall "&git_object_type2string" p'git_object_type2string
  :: FunPtr (C'git_otype -> IO (CString))

{-# LINE 16 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object_string2type" c'git_object_string2type
  :: CString -> IO (C'git_otype)
foreign import ccall "&git_object_string2type" p'git_object_string2type
  :: FunPtr (CString -> IO (C'git_otype))

{-# LINE 17 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object_typeisloose" c'git_object_typeisloose
  :: C'git_otype -> IO (CInt)
foreign import ccall "&git_object_typeisloose" p'git_object_typeisloose
  :: FunPtr (C'git_otype -> IO (CInt))

{-# LINE 18 "Bindings/Libgit2/Object.hsc" #-}
foreign import ccall "git_object__size" c'git_object__size
  :: C'git_otype -> IO (CSize)
foreign import ccall "&git_object__size" p'git_object__size
  :: FunPtr (C'git_otype -> IO (CSize))

{-# LINE 19 "Bindings/Libgit2/Object.hsc" #-}