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

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

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

import Bindings.Libgit2.Oid
import Bindings.Libgit2.Types
{- typedef int (* git_note_foreach_cb)(const git_oid * blob_id,
                                    const git_oid * annotated_object_id,
                                    void * payload); -}
type C'git_note_foreach_cb = FunPtr (Ptr (C'git_oid) -> Ptr (C'git_oid) -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'git_note_foreach_cb
  :: (Ptr (C'git_oid) -> Ptr (C'git_oid) -> Ptr () -> IO CInt) -> IO C'git_note_foreach_cb
foreign import ccall "dynamic" mK'git_note_foreach_cb
  :: C'git_note_foreach_cb -> (Ptr (C'git_oid) -> Ptr (C'git_oid) -> Ptr () -> IO CInt)

{-# LINE 14 "Bindings/Libgit2/Notes.hsc" #-}
{- typedef struct git_iterator git_note_iterator; -}
data C'git_iterator = C'git_iterator

{-# LINE 16 "Bindings/Libgit2/Notes.hsc" #-}
type C'git_note_iterator = C'git_iterator

{-# LINE 17 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_iterator_new" c'git_note_iterator_new
  :: Ptr (Ptr C'git_iterator) -> Ptr C'git_repository -> CString -> IO (CInt)
foreign import ccall "&git_note_iterator_new" p'git_note_iterator_new
  :: FunPtr (Ptr (Ptr C'git_iterator) -> Ptr C'git_repository -> CString -> IO (CInt))

{-# LINE 18 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_iterator_free" c'git_note_iterator_free
  :: Ptr C'git_iterator -> IO ()
foreign import ccall "&git_note_iterator_free" p'git_note_iterator_free
  :: FunPtr (Ptr C'git_iterator -> IO ())

{-# LINE 19 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_next" c'git_note_next
  :: Ptr C'git_oid -> Ptr C'git_oid -> Ptr C'git_iterator -> IO (CInt)
foreign import ccall "&git_note_next" p'git_note_next
  :: FunPtr (Ptr C'git_oid -> Ptr C'git_oid -> Ptr C'git_iterator -> IO (CInt))

{-# LINE 20 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_read" c'git_note_read
  :: Ptr (Ptr C'git_note) -> Ptr C'git_repository -> CString -> Ptr C'git_oid -> IO (CInt)
foreign import ccall "&git_note_read" p'git_note_read
  :: FunPtr (Ptr (Ptr C'git_note) -> Ptr C'git_repository -> CString -> Ptr C'git_oid -> IO (CInt))

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

{-# LINE 22 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_oid" c'git_note_oid
  :: Ptr C'git_note -> IO (Ptr C'git_oid)
foreign import ccall "&git_note_oid" p'git_note_oid
  :: FunPtr (Ptr C'git_note -> IO (Ptr C'git_oid))

{-# LINE 23 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_create" c'git_note_create
  :: Ptr C'git_oid -> Ptr C'git_repository -> Ptr C'git_signature -> Ptr C'git_signature -> CString -> Ptr C'git_oid -> CString -> CInt -> IO (CInt)
foreign import ccall "&git_note_create" p'git_note_create
  :: FunPtr (Ptr C'git_oid -> Ptr C'git_repository -> Ptr C'git_signature -> Ptr C'git_signature -> CString -> Ptr C'git_oid -> CString -> CInt -> IO (CInt))

{-# LINE 24 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_remove" c'git_note_remove
  :: Ptr C'git_repository -> CString -> Ptr C'git_signature -> Ptr C'git_signature -> Ptr C'git_oid -> IO (CInt)
foreign import ccall "&git_note_remove" p'git_note_remove
  :: FunPtr (Ptr C'git_repository -> CString -> Ptr C'git_signature -> Ptr C'git_signature -> Ptr C'git_oid -> IO (CInt))

{-# LINE 25 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_free" c'git_note_free
  :: Ptr C'git_note -> IO ()
foreign import ccall "&git_note_free" p'git_note_free
  :: FunPtr (Ptr C'git_note -> IO ())

{-# LINE 26 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_default_ref" c'git_note_default_ref
  :: Ptr (CString) -> Ptr C'git_repository -> IO (CInt)
foreign import ccall "&git_note_default_ref" p'git_note_default_ref
  :: FunPtr (Ptr (CString) -> Ptr C'git_repository -> IO (CInt))

{-# LINE 27 "Bindings/Libgit2/Notes.hsc" #-}
foreign import ccall "git_note_foreach" c'git_note_foreach
  :: Ptr C'git_repository -> CString -> C'git_note_foreach_cb -> Ptr () -> IO (CInt)
foreign import ccall "&git_note_foreach" p'git_note_foreach
  :: FunPtr (Ptr C'git_repository -> CString -> C'git_note_foreach_cb -> Ptr () -> IO (CInt))

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