module Bindings.Libgit2.CredHelpers 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
import Bindings.Libgit2.Transport
data C'git_cred_userpass_payload = C'git_cred_userpass_payload{
c'git_cred_userpass_payload'username :: CString,
c'git_cred_userpass_payload'password :: CString
} deriving (Eq,Show)
p'git_cred_userpass_payload'username p = plusPtr p 0
p'git_cred_userpass_payload'username :: Ptr (C'git_cred_userpass_payload) -> Ptr (CString)
p'git_cred_userpass_payload'password p = plusPtr p 8
p'git_cred_userpass_payload'password :: Ptr (C'git_cred_userpass_payload) -> Ptr (CString)
instance Storable C'git_cred_userpass_payload where
sizeOf _ = 16
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 8
return $ C'git_cred_userpass_payload v0 v1
poke p (C'git_cred_userpass_payload v0 v1) = do
pokeByteOff p 0 v0
pokeByteOff p 8 v1
return ()
foreign import ccall "git_cred_userpass" c'git_cred_userpass
:: Ptr (Ptr C'git_cred) -> CString -> CString -> CUInt -> Ptr () -> IO (CInt)
foreign import ccall "&git_cred_userpass" p'git_cred_userpass
:: FunPtr (Ptr (Ptr C'git_cred) -> CString -> CString -> CUInt -> Ptr () -> IO (CInt))