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

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

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

import Bindings.Libgit2.Common
import Bindings.Libgit2.Types
import Bindings.Libgit2.Oid
import Bindings.Libgit2.Object
foreign import ccall "inline_git_commit_lookup" c'git_commit_lookup
  :: Ptr (Ptr C'git_commit) -> Ptr C'git_repository -> Ptr C'git_oid -> IO (CInt)

{-# LINE 11 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "inline_git_commit_lookup_prefix" c'git_commit_lookup_prefix
  :: Ptr (Ptr C'git_commit) -> Ptr C'git_repository -> Ptr C'git_oid -> CUInt -> IO (CInt)

{-# LINE 12 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "inline_git_commit_free" c'git_commit_free
  :: Ptr C'git_commit -> IO ()

{-# LINE 13 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_id" c'git_commit_id
  :: Ptr C'git_commit -> IO (Ptr C'git_oid)
foreign import ccall "&git_commit_id" p'git_commit_id
  :: FunPtr (Ptr C'git_commit -> IO (Ptr C'git_oid))

{-# LINE 14 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_message_encoding" c'git_commit_message_encoding
  :: Ptr C'git_commit -> IO (CString)
foreign import ccall "&git_commit_message_encoding" p'git_commit_message_encoding
  :: FunPtr (Ptr C'git_commit -> IO (CString))

{-# LINE 15 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_message" c'git_commit_message
  :: Ptr C'git_commit -> IO (CString)
foreign import ccall "&git_commit_message" p'git_commit_message
  :: FunPtr (Ptr C'git_commit -> IO (CString))

{-# LINE 16 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_time" c'git_commit_time
  :: Ptr C'git_commit -> IO (CLong)
foreign import ccall "&git_commit_time" p'git_commit_time
  :: FunPtr (Ptr C'git_commit -> IO (CLong))

{-# LINE 17 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_time_offset" c'git_commit_time_offset
  :: Ptr C'git_commit -> IO (CInt)
foreign import ccall "&git_commit_time_offset" p'git_commit_time_offset
  :: FunPtr (Ptr C'git_commit -> IO (CInt))

{-# LINE 18 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_committer" c'git_commit_committer
  :: Ptr C'git_commit -> IO (Ptr C'git_signature)
foreign import ccall "&git_commit_committer" p'git_commit_committer
  :: FunPtr (Ptr C'git_commit -> IO (Ptr C'git_signature))

{-# LINE 19 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_author" c'git_commit_author
  :: Ptr C'git_commit -> IO (Ptr C'git_signature)
foreign import ccall "&git_commit_author" p'git_commit_author
  :: FunPtr (Ptr C'git_commit -> IO (Ptr C'git_signature))

{-# LINE 20 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_tree" c'git_commit_tree
  :: Ptr (Ptr C'git_tree) -> Ptr C'git_commit -> IO (CInt)
foreign import ccall "&git_commit_tree" p'git_commit_tree
  :: FunPtr (Ptr (Ptr C'git_tree) -> Ptr C'git_commit -> IO (CInt))

{-# LINE 21 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_tree_oid" c'git_commit_tree_oid
  :: Ptr C'git_commit -> IO (Ptr C'git_oid)
foreign import ccall "&git_commit_tree_oid" p'git_commit_tree_oid
  :: FunPtr (Ptr C'git_commit -> IO (Ptr C'git_oid))

{-# LINE 22 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_parentcount" c'git_commit_parentcount
  :: Ptr C'git_commit -> IO (CUInt)
foreign import ccall "&git_commit_parentcount" p'git_commit_parentcount
  :: FunPtr (Ptr C'git_commit -> IO (CUInt))

{-# LINE 23 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_parent" c'git_commit_parent
  :: Ptr (Ptr C'git_commit) -> Ptr C'git_commit -> CUInt -> IO (CInt)
foreign import ccall "&git_commit_parent" p'git_commit_parent
  :: FunPtr (Ptr (Ptr C'git_commit) -> Ptr C'git_commit -> CUInt -> IO (CInt))

{-# LINE 24 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_parent_oid" c'git_commit_parent_oid
  :: Ptr C'git_commit -> CUInt -> IO (Ptr C'git_oid)
foreign import ccall "&git_commit_parent_oid" p'git_commit_parent_oid
  :: FunPtr (Ptr C'git_commit -> CUInt -> IO (Ptr C'git_oid))

{-# LINE 25 "Bindings/Libgit2/Commit.hsc" #-}
foreign import ccall "git_commit_create" c'git_commit_create
  :: Ptr C'git_oid -> Ptr C'git_repository -> CString -> Ptr C'git_signature -> Ptr C'git_signature -> CString -> CString -> Ptr C'git_tree -> CInt -> Ptr (Ptr C'git_commit) -> IO (CInt)
foreign import ccall "&git_commit_create" p'git_commit_create
  :: FunPtr (Ptr C'git_oid -> Ptr C'git_repository -> CString -> Ptr C'git_signature -> Ptr C'git_signature -> CString -> CString -> Ptr C'git_tree -> CInt -> Ptr (Ptr C'git_commit) -> IO (CInt))

{-# LINE 26 "Bindings/Libgit2/Commit.hsc" #-}