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

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

{-# LINE 3 "Bindings/Libgit2/Errors.hsc" #-}
module Bindings.Libgit2.Errors 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 5 "Bindings/Libgit2/Errors.hsc" #-}

import Bindings.Libgit2.Common
{- enum {
    GIT_OK = 0,
    GIT_ERROR = -1,
    GIT_ENOTFOUND = -3,
    GIT_EEXISTS = -4,
    GIT_EAMBIGUOUS = -5,
    GIT_EBUFS = -6,
    GIT_PASSTHROUGH = -30,
    GIT_REVWALKOVER = -31
}; -}
c'GIT_OK = 0
c'GIT_OK :: (Num a) => a

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

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

{-# LINE 20 "Bindings/Libgit2/Errors.hsc" #-}
c'GIT_EEXISTS = -4
c'GIT_EEXISTS :: (Num a) => a

{-# LINE 21 "Bindings/Libgit2/Errors.hsc" #-}
c'GIT_EAMBIGUOUS = -5
c'GIT_EAMBIGUOUS :: (Num a) => a

{-# LINE 22 "Bindings/Libgit2/Errors.hsc" #-}
c'GIT_EBUFS = -6
c'GIT_EBUFS :: (Num a) => a

{-# LINE 23 "Bindings/Libgit2/Errors.hsc" #-}
c'GIT_PASSTHROUGH = -30
c'GIT_PASSTHROUGH :: (Num a) => a

{-# LINE 24 "Bindings/Libgit2/Errors.hsc" #-}
c'GIT_REVWALKOVER = -31
c'GIT_REVWALKOVER :: (Num a) => a

{-# LINE 25 "Bindings/Libgit2/Errors.hsc" #-}
{- typedef struct {
            char * message; int klass;
        } git_error; -}

{-# LINE 29 "Bindings/Libgit2/Errors.hsc" #-}

{-# LINE 30 "Bindings/Libgit2/Errors.hsc" #-}

{-# LINE 31 "Bindings/Libgit2/Errors.hsc" #-}
data C'git_error = C'git_error{
  c'git_error'message :: CString,
  c'git_error'klass :: CInt
} deriving (Eq,Show)
p'git_error'message p = plusPtr p 0
p'git_error'message :: Ptr (C'git_error) -> Ptr (CString)
p'git_error'klass p = plusPtr p 4
p'git_error'klass :: Ptr (C'git_error) -> Ptr (CInt)
instance Storable C'git_error where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'git_error v0 v1
  poke p (C'git_error v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 32 "Bindings/Libgit2/Errors.hsc" #-}
{- typedef enum {
            GITERR_NOMEMORY,
            GITERR_OS,
            GITERR_INVALID,
            GITERR_REFERENCE,
            GITERR_ZLIB,
            GITERR_REPOSITORY,
            GITERR_CONFIG,
            GITERR_REGEX,
            GITERR_ODB,
            GITERR_INDEX,
            GITERR_OBJECT,
            GITERR_NET,
            GITERR_TAG,
            GITERR_TREE,
            GITERR_INDEXER
        } git_error_t; -}
type C'git_error_t = CUInt

{-# LINE 50 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_NOMEMORY = 0
c'GITERR_NOMEMORY :: (Num a) => a

{-# LINE 51 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_OS = 1
c'GITERR_OS :: (Num a) => a

{-# LINE 52 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_INVALID = 2
c'GITERR_INVALID :: (Num a) => a

{-# LINE 53 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_REFERENCE = 3
c'GITERR_REFERENCE :: (Num a) => a

{-# LINE 54 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_ZLIB = 4
c'GITERR_ZLIB :: (Num a) => a

{-# LINE 55 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_REPOSITORY = 5
c'GITERR_REPOSITORY :: (Num a) => a

{-# LINE 56 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_CONFIG = 6
c'GITERR_CONFIG :: (Num a) => a

{-# LINE 57 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_REGEX = 7
c'GITERR_REGEX :: (Num a) => a

{-# LINE 58 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_ODB = 8
c'GITERR_ODB :: (Num a) => a

{-# LINE 59 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_INDEX = 9
c'GITERR_INDEX :: (Num a) => a

{-# LINE 60 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_OBJECT = 10
c'GITERR_OBJECT :: (Num a) => a

{-# LINE 61 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_NET = 11
c'GITERR_NET :: (Num a) => a

{-# LINE 62 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_TAG = 12
c'GITERR_TAG :: (Num a) => a

{-# LINE 63 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_TREE = 13
c'GITERR_TREE :: (Num a) => a

{-# LINE 64 "Bindings/Libgit2/Errors.hsc" #-}
c'GITERR_INDEXER = 14
c'GITERR_INDEXER :: (Num a) => a

{-# LINE 65 "Bindings/Libgit2/Errors.hsc" #-}
foreign import ccall "giterr_last" c'giterr_last
  :: IO (Ptr C'git_error)
foreign import ccall "&giterr_last" p'giterr_last
  :: FunPtr (IO (Ptr C'git_error))

{-# LINE 66 "Bindings/Libgit2/Errors.hsc" #-}
foreign import ccall "giterr_clear" c'giterr_clear
  :: IO ()
foreign import ccall "&giterr_clear" p'giterr_clear
  :: FunPtr (IO ())

{-# LINE 67 "Bindings/Libgit2/Errors.hsc" #-}