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

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

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

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

import Bindings.Libgit2.ThreadUtils
c'GIT_SUCCESS = 0
c'GIT_SUCCESS :: (Num a) => a

{-# LINE 9 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_ERROR = -1
c'GIT_ERROR :: (Num a) => a

{-# LINE 10 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_ENOTOID = -2
c'GIT_ENOTOID :: (Num a) => a

{-# LINE 11 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_ENOTFOUND = -3
c'GIT_ENOTFOUND :: (Num a) => a

{-# LINE 12 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_ENOMEM = -4
c'GIT_ENOMEM :: (Num a) => a

{-# LINE 13 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EOSERR = -5
c'GIT_EOSERR :: (Num a) => a

{-# LINE 14 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EOBJTYPE = -6
c'GIT_EOBJTYPE :: (Num a) => a

{-# LINE 15 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EOBJCORRUPTED = -7
c'GIT_EOBJCORRUPTED :: (Num a) => a

{-# LINE 16 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_ENOTAREPO = -8
c'GIT_ENOTAREPO :: (Num a) => a

{-# LINE 17 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EINVALIDTYPE = -9
c'GIT_EINVALIDTYPE :: (Num a) => a

{-# LINE 18 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EMISSINGOBJDATA = -10
c'GIT_EMISSINGOBJDATA :: (Num a) => a

{-# LINE 19 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EPACKCORRUPTED = -11
c'GIT_EPACKCORRUPTED :: (Num a) => a

{-# LINE 20 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EFLOCKFAIL = -12
c'GIT_EFLOCKFAIL :: (Num a) => a

{-# LINE 21 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EZLIB = -13
c'GIT_EZLIB :: (Num a) => a

{-# LINE 22 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EBUSY = -14
c'GIT_EBUSY :: (Num a) => a

{-# LINE 23 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EBAREINDEX = -15
c'GIT_EBAREINDEX :: (Num a) => a

{-# LINE 24 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EINVALIDREFNAME = -16
c'GIT_EINVALIDREFNAME :: (Num a) => a

{-# LINE 25 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EREFCORRUPTED = -17
c'GIT_EREFCORRUPTED :: (Num a) => a

{-# LINE 26 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_ETOONESTEDSYMREF = -18
c'GIT_ETOONESTEDSYMREF :: (Num a) => a

{-# LINE 27 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EPACKEDREFSCORRUPTED = -19
c'GIT_EPACKEDREFSCORRUPTED :: (Num a) => a

{-# LINE 28 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EINVALIDPATH = -20
c'GIT_EINVALIDPATH :: (Num a) => a

{-# LINE 29 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EREVWALKOVER = -21
c'GIT_EREVWALKOVER :: (Num a) => a

{-# LINE 30 "Bindings/Libgit2/Common.hsc" #-}
c'GIT_EINVALIDREFSTATE = -22
c'GIT_EINVALIDREFSTATE :: (Num a) => a

{-# LINE 31 "Bindings/Libgit2/Common.hsc" #-}
{- typedef struct {
	char **strings;
	size_t count;
} git_strarray; -}
data C'git_strarray = C'git_strarray{
{-# LINE 36 "Bindings/Libgit2/Common.hsc" #-}

  c'git_strarray'strings :: Ptr CString
{-# LINE 37 "Bindings/Libgit2/Common.hsc" #-}
,
  c'git_strarray'count :: CSize
{-# LINE 38 "Bindings/Libgit2/Common.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'git_strarray where
  sizeOf _ = 8
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'git_strarray v0 v1
  poke p (C'git_strarray v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 39 "Bindings/Libgit2/Common.hsc" #-}
foreign import ccall "git_strarray_free" c'git_strarray_free
  :: Ptr C'git_strarray -> IO ()
foreign import ccall "&git_strarray_free" p'git_strarray_free
  :: FunPtr (Ptr C'git_strarray -> IO ())

{-# LINE 40 "Bindings/Libgit2/Common.hsc" #-}