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
import Bindings.Libgit2.ThreadUtils
c'GIT_SUCCESS = 0
c'GIT_SUCCESS :: (Num a) => a
c'GIT_ERROR = 1
c'GIT_ERROR :: (Num a) => a
c'GIT_ENOTOID = 2
c'GIT_ENOTOID :: (Num a) => a
c'GIT_ENOTFOUND = 3
c'GIT_ENOTFOUND :: (Num a) => a
c'GIT_ENOMEM = 4
c'GIT_ENOMEM :: (Num a) => a
c'GIT_EOSERR = 5
c'GIT_EOSERR :: (Num a) => a
c'GIT_EOBJTYPE = 6
c'GIT_EOBJTYPE :: (Num a) => a
c'GIT_EOBJCORRUPTED = 7
c'GIT_EOBJCORRUPTED :: (Num a) => a
c'GIT_ENOTAREPO = 8
c'GIT_ENOTAREPO :: (Num a) => a
c'GIT_EINVALIDTYPE = 9
c'GIT_EINVALIDTYPE :: (Num a) => a
c'GIT_EMISSINGOBJDATA = 10
c'GIT_EMISSINGOBJDATA :: (Num a) => a
c'GIT_EPACKCORRUPTED = 11
c'GIT_EPACKCORRUPTED :: (Num a) => a
c'GIT_EFLOCKFAIL = 12
c'GIT_EFLOCKFAIL :: (Num a) => a
c'GIT_EZLIB = 13
c'GIT_EZLIB :: (Num a) => a
c'GIT_EBUSY = 14
c'GIT_EBUSY :: (Num a) => a
c'GIT_EBAREINDEX = 15
c'GIT_EBAREINDEX :: (Num a) => a
c'GIT_EINVALIDREFNAME = 16
c'GIT_EINVALIDREFNAME :: (Num a) => a
c'GIT_EREFCORRUPTED = 17
c'GIT_EREFCORRUPTED :: (Num a) => a
c'GIT_ETOONESTEDSYMREF = 18
c'GIT_ETOONESTEDSYMREF :: (Num a) => a
c'GIT_EPACKEDREFSCORRUPTED = 19
c'GIT_EPACKEDREFSCORRUPTED :: (Num a) => a
c'GIT_EINVALIDPATH = 20
c'GIT_EINVALIDPATH :: (Num a) => a
c'GIT_EREVWALKOVER = 21
c'GIT_EREVWALKOVER :: (Num a) => a
c'GIT_EINVALIDREFSTATE = 22
c'GIT_EINVALIDREFSTATE :: (Num a) => a
data C'git_strarray = C'git_strarray{
c'git_strarray'strings :: Ptr CString
,
c'git_strarray'count :: CSize
} 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 ()
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 ())