{-# LINE 1 "Bindings/APR/UUID.hsc" #-}

{-# LINE 2 "Bindings/APR/UUID.hsc" #-}

{-# LINE 3 "Bindings/APR/UUID.hsc" #-}

module Bindings.APR.UUID 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/APR/UUID.hsc" #-}
import Bindings.APR.ErrNo

data C'apr_uuid_t = C'apr_uuid_t{
{-# LINE 9 "Bindings/APR/UUID.hsc" #-}

  c'apr_uuid_t'data :: [CUChar]
{-# LINE 10 "Bindings/APR/UUID.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_uuid_t where
  sizeOf _ = 16
  alignment = sizeOf
  peek p = do
    v0 <- peekArray 16 (plusPtr p 0)
    return $ C'apr_uuid_t v0
  poke p (C'apr_uuid_t v0) = do
    pokeArray (plusPtr p 0) (take 16 v0)
    return ()

{-# LINE 11 "Bindings/APR/UUID.hsc" #-}

c'APR_UUID_FORMATTED_LENGTH = 36
c'APR_UUID_FORMATTED_LENGTH :: (Num a) => a

{-# LINE 13 "Bindings/APR/UUID.hsc" #-}

foreign import ccall "apr_uuid_get" c'apr_uuid_get
  :: Ptr C'apr_uuid_t -> IO ()
foreign import ccall "&apr_uuid_get" p'apr_uuid_get
  :: FunPtr (Ptr C'apr_uuid_t -> IO ())

{-# LINE 15 "Bindings/APR/UUID.hsc" #-}
foreign import ccall "apr_uuid_format" c'apr_uuid_format
  :: Ptr CChar -> Ptr C'apr_uuid_t -> IO ()
foreign import ccall "&apr_uuid_format" p'apr_uuid_format
  :: FunPtr (Ptr CChar -> Ptr C'apr_uuid_t -> IO ())

{-# LINE 16 "Bindings/APR/UUID.hsc" #-}
foreign import ccall "apr_uuid_parse" c'apr_uuid_parse
  :: Ptr C'apr_uuid_t -> Ptr CChar -> IO C'apr_status_t
foreign import ccall "&apr_uuid_parse" p'apr_uuid_parse
  :: FunPtr (Ptr C'apr_uuid_t -> Ptr CChar -> IO C'apr_status_t)

{-# LINE 17 "Bindings/APR/UUID.hsc" #-}