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

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

{-# LINE 3 "Bindings/Libgit2/Tree.hsc" #-}

{-# LINE 4 "Bindings/Libgit2/Tree.hsc" #-}
module Bindings.Libgit2.Tree 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 6 "Bindings/Libgit2/Tree.hsc" #-}

import Bindings.Libgit2.Common
import Bindings.Libgit2.Types
import Bindings.Libgit2.Oid
import Bindings.Libgit2.Object
foreign import ccall "git_tree_id" c'git_tree_id
  :: Ptr C'git_tree -> IO (Ptr C'git_oid)
foreign import ccall "&git_tree_id" p'git_tree_id
  :: FunPtr (Ptr C'git_tree -> IO (Ptr C'git_oid))

{-# LINE 12 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entrycount" c'git_tree_entrycount
  :: Ptr C'git_tree -> IO (CSize)
foreign import ccall "&git_tree_entrycount" p'git_tree_entrycount
  :: FunPtr (Ptr C'git_tree -> IO (CSize))

{-# LINE 13 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_byname" c'git_tree_entry_byname
  :: Ptr C'git_tree -> CString -> IO (Ptr C'git_tree_entry)
foreign import ccall "&git_tree_entry_byname" p'git_tree_entry_byname
  :: FunPtr (Ptr C'git_tree -> CString -> IO (Ptr C'git_tree_entry))

{-# LINE 14 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_byindex" c'git_tree_entry_byindex
  :: Ptr C'git_tree -> CInt -> IO (Ptr C'git_tree_entry)
foreign import ccall "&git_tree_entry_byindex" p'git_tree_entry_byindex
  :: FunPtr (Ptr C'git_tree -> CInt -> IO (Ptr C'git_tree_entry))

{-# LINE 15 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_attributes" c'git_tree_entry_attributes
  :: Ptr C'git_tree_entry -> IO (CUInt)
foreign import ccall "&git_tree_entry_attributes" p'git_tree_entry_attributes
  :: FunPtr (Ptr C'git_tree_entry -> IO (CUInt))

{-# LINE 16 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_name" c'git_tree_entry_name
  :: Ptr C'git_tree_entry -> IO (CString)
foreign import ccall "&git_tree_entry_name" p'git_tree_entry_name
  :: FunPtr (Ptr C'git_tree_entry -> IO (CString))

{-# LINE 17 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_id" c'git_tree_entry_id
  :: Ptr C'git_tree_entry -> IO (Ptr C'git_oid)
foreign import ccall "&git_tree_entry_id" p'git_tree_entry_id
  :: FunPtr (Ptr C'git_tree_entry -> IO (Ptr C'git_oid))

{-# LINE 18 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_2object" c'git_tree_entry_2object
  :: Ptr (Ptr C'git_object) -> Ptr C'git_tree_entry -> IO (CInt)
foreign import ccall "&git_tree_entry_2object" p'git_tree_entry_2object
  :: FunPtr (Ptr (Ptr C'git_object) -> Ptr C'git_tree_entry -> IO (CInt))

{-# LINE 19 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_add_entry" c'git_tree_add_entry
  :: Ptr (Ptr C'git_tree_entry) -> Ptr C'git_tree -> Ptr C'git_oid -> CString -> CInt -> IO (CInt)
foreign import ccall "&git_tree_add_entry" p'git_tree_add_entry
  :: FunPtr (Ptr (Ptr C'git_tree_entry) -> Ptr C'git_tree -> Ptr C'git_oid -> CString -> CInt -> IO (CInt))

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

{-# LINE 21 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_remove_entry_byname" c'git_tree_remove_entry_byname
  :: Ptr C'git_tree -> CString -> IO (CInt)
foreign import ccall "&git_tree_remove_entry_byname" p'git_tree_remove_entry_byname
  :: FunPtr (Ptr C'git_tree -> CString -> IO (CInt))

{-# LINE 22 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_clear_entries" c'git_tree_clear_entries
  :: Ptr C'git_tree -> IO ()
foreign import ccall "&git_tree_clear_entries" p'git_tree_clear_entries
  :: FunPtr (Ptr C'git_tree -> IO ())

{-# LINE 23 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_set_id" c'git_tree_entry_set_id
  :: Ptr C'git_tree_entry -> Ptr C'git_oid -> IO ()
foreign import ccall "&git_tree_entry_set_id" p'git_tree_entry_set_id
  :: FunPtr (Ptr C'git_tree_entry -> Ptr C'git_oid -> IO ())

{-# LINE 24 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_set_name" c'git_tree_entry_set_name
  :: Ptr C'git_tree_entry -> CString -> IO ()
foreign import ccall "&git_tree_entry_set_name" p'git_tree_entry_set_name
  :: FunPtr (Ptr C'git_tree_entry -> CString -> IO ())

{-# LINE 25 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "git_tree_entry_set_attributes" c'git_tree_entry_set_attributes
  :: Ptr C'git_tree_entry -> CUInt -> IO (CInt)
foreign import ccall "&git_tree_entry_set_attributes" p'git_tree_entry_set_attributes
  :: FunPtr (Ptr C'git_tree_entry -> CUInt -> IO (CInt))

{-# LINE 26 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "inline_git_tree_lookup" c'git_tree_lookup
  :: Ptr (Ptr C'git_tree) -> Ptr C'git_repository -> Ptr C'git_oid -> IO (CInt)

{-# LINE 27 "Bindings/Libgit2/Tree.hsc" #-}
foreign import ccall "inline_git_tree_new" c'git_tree_new
  :: Ptr (Ptr C'git_tree) -> Ptr C'git_repository -> IO (CInt)

{-# LINE 28 "Bindings/Libgit2/Tree.hsc" #-}