{-# LINE 1 "Bindings/Libgit2/Pack.hsc" #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LINE 2 "Bindings/Libgit2/Pack.hsc" #-}

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

{-# LINE 4 "Bindings/Libgit2/Pack.hsc" #-}

{-# LINE 5 "Bindings/Libgit2/Pack.hsc" #-}
module Bindings.Libgit2.Pack where
import Foreign.Ptr
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 "Bindings/Libgit2/Pack.hsc" #-}

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

{-# LINE 13 "Bindings/Libgit2/Pack.hsc" #-}
foreign import ccall "git_packbuilder_set_threads" c'git_packbuilder_set_threads
  :: Ptr C'git_packbuilder -> CUInt -> IO (CUInt)
foreign import ccall "&git_packbuilder_set_threads" p'git_packbuilder_set_threads
  :: FunPtr (Ptr C'git_packbuilder -> CUInt -> IO (CUInt))

{-# LINE 14 "Bindings/Libgit2/Pack.hsc" #-}
foreign import ccall "git_packbuilder_insert" c'git_packbuilder_insert
  :: Ptr C'git_packbuilder -> Ptr C'git_oid -> CString -> IO (CInt)
foreign import ccall "&git_packbuilder_insert" p'git_packbuilder_insert
  :: FunPtr (Ptr C'git_packbuilder -> Ptr C'git_oid -> CString -> IO (CInt))

{-# LINE 15 "Bindings/Libgit2/Pack.hsc" #-}
foreign import ccall "git_packbuilder_insert_tree" c'git_packbuilder_insert_tree
  :: Ptr C'git_packbuilder -> Ptr C'git_oid -> IO (CInt)
foreign import ccall "&git_packbuilder_insert_tree" p'git_packbuilder_insert_tree
  :: FunPtr (Ptr C'git_packbuilder -> Ptr C'git_oid -> IO (CInt))

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

{-# LINE 17 "Bindings/Libgit2/Pack.hsc" #-}
{- typedef int (* git_packbuilder_foreach_cb)(void * buf,
                                           size_t size,
                                           void * payload); -}
type C'git_packbuilder_foreach_cb = FunPtr (Ptr () -> CSize -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'git_packbuilder_foreach_cb
  :: (Ptr () -> CSize -> Ptr () -> IO CInt) -> IO C'git_packbuilder_foreach_cb
foreign import ccall "dynamic" mK'git_packbuilder_foreach_cb
  :: C'git_packbuilder_foreach_cb -> (Ptr () -> CSize -> Ptr () -> IO CInt)

{-# LINE 21 "Bindings/Libgit2/Pack.hsc" #-}
foreign import ccall "git_packbuilder_foreach" c'git_packbuilder_foreach
  :: Ptr C'git_packbuilder -> C'git_packbuilder_foreach_cb -> Ptr () -> IO (CInt)
foreign import ccall "&git_packbuilder_foreach" p'git_packbuilder_foreach
  :: FunPtr (Ptr C'git_packbuilder -> C'git_packbuilder_foreach_cb -> Ptr () -> IO (CInt))

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

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

{-# LINE 24 "Bindings/Libgit2/Pack.hsc" #-}
foreign import ccall "git_packbuilder_free" c'git_packbuilder_free
  :: Ptr C'git_packbuilder -> IO ()
foreign import ccall "&git_packbuilder_free" p'git_packbuilder_free
  :: FunPtr (Ptr C'git_packbuilder -> IO ())

{-# LINE 25 "Bindings/Libgit2/Pack.hsc" #-}