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

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

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

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

foreign import ccall "apr_strnatcmp" c'apr_strnatcmp
  :: Ptr CChar -> Ptr CChar -> IO CInt
foreign import ccall "&apr_strnatcmp" p'apr_strnatcmp
  :: FunPtr (Ptr CChar -> Ptr CChar -> IO CInt)

{-# LINE 12 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_strnatcasecmp" c'apr_strnatcasecmp
  :: Ptr CChar -> Ptr CChar -> IO CInt
foreign import ccall "&apr_strnatcasecmp" p'apr_strnatcasecmp
  :: FunPtr (Ptr CChar -> Ptr CChar -> IO CInt)

{-# LINE 13 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_pstrdup" c'apr_pstrdup
  :: Ptr C'apr_pool_t -> Ptr CChar -> IO (Ptr CChar)
foreign import ccall "&apr_pstrdup" p'apr_pstrdup
  :: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> IO (Ptr CChar))

{-# LINE 14 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_pstrmemdup" c'apr_pstrmemdup
  :: Ptr C'apr_pool_t -> Ptr CChar -> C'apr_size_t -> IO (Ptr CChar)
foreign import ccall "&apr_pstrmemdup" p'apr_pstrmemdup
  :: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> C'apr_size_t -> IO (Ptr CChar))

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

{-# LINE 16 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_pmemdup" c'apr_pmemdup
  :: Ptr C'apr_pool_t -> Ptr () -> C'apr_size_t -> IO (Ptr ())
foreign import ccall "&apr_pmemdup" p'apr_pmemdup
  :: FunPtr (Ptr C'apr_pool_t -> Ptr () -> C'apr_size_t -> IO (Ptr ()))

{-# LINE 17 "Bindings/APR/Strings.hsc" #-}
-- FIXME: apr_pstrcat
foreign import ccall "apr_pstrcatv" c'apr_pstrcatv
  :: Ptr C'apr_pool_t -> Ptr C'iovec -> C'apr_size_t -> Ptr C'apr_size_t -> IO (Ptr CChar)
foreign import ccall "&apr_pstrcatv" p'apr_pstrcatv
  :: FunPtr (Ptr C'apr_pool_t -> Ptr C'iovec -> C'apr_size_t -> Ptr C'apr_size_t -> IO (Ptr CChar))

{-# LINE 19 "Bindings/APR/Strings.hsc" #-}
-- FIXME: apr_pvsprintf
-- FIXME: apr_psprintf
foreign import ccall "apr_cpystrn" c'apr_cpystrn
  :: Ptr CChar -> Ptr CChar -> C'apr_size_t -> IO (Ptr CChar)
foreign import ccall "&apr_cpystrn" p'apr_cpystrn
  :: FunPtr (Ptr CChar -> Ptr CChar -> C'apr_size_t -> IO (Ptr CChar))

{-# LINE 22 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_collapse_spaces" c'apr_collapse_spaces
  :: Ptr CChar -> Ptr CChar -> IO (Ptr CChar)
foreign import ccall "&apr_collapse_spaces" p'apr_collapse_spaces
  :: FunPtr (Ptr CChar -> Ptr CChar -> IO (Ptr CChar))

{-# LINE 23 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_tokenize_to_argv" c'apr_tokenize_to_argv
  :: Ptr CChar -> Ptr (Ptr (Ptr CChar)) -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_tokenize_to_argv" p'apr_tokenize_to_argv
  :: FunPtr (Ptr CChar -> Ptr (Ptr (Ptr CChar)) -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 24 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_strtok" c'apr_strtok
  :: Ptr CChar -> Ptr CChar -> Ptr (Ptr CChar) -> IO (Ptr CChar)
foreign import ccall "&apr_strtok" p'apr_strtok
  :: FunPtr (Ptr CChar -> Ptr CChar -> Ptr (Ptr CChar) -> IO (Ptr CChar))

{-# LINE 25 "Bindings/APR/Strings.hsc" #-}
-- FIXME: apr_snprintf
-- FIXME: apr_vsnprintf
foreign import ccall "apr_itoa" c'apr_itoa
  :: Ptr C'apr_pool_t -> CInt -> IO (Ptr CChar)
foreign import ccall "&apr_itoa" p'apr_itoa
  :: FunPtr (Ptr C'apr_pool_t -> CInt -> IO (Ptr CChar))

{-# LINE 28 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_ltoa" c'apr_ltoa
  :: Ptr C'apr_pool_t -> CLong -> IO (Ptr CChar)
foreign import ccall "&apr_ltoa" p'apr_ltoa
  :: FunPtr (Ptr C'apr_pool_t -> CLong -> IO (Ptr CChar))

{-# LINE 29 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_off_t_toa" c'apr_off_t_toa
  :: Ptr C'apr_pool_t -> C'apr_off_t -> IO (Ptr CChar)
foreign import ccall "&apr_off_t_toa" p'apr_off_t_toa
  :: FunPtr (Ptr C'apr_pool_t -> C'apr_off_t -> IO (Ptr CChar))

{-# LINE 30 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_strtoff" c'apr_strtoff
  :: Ptr C'apr_off_t -> Ptr CChar -> Ptr (Ptr CChar) -> CInt -> IO C'apr_status_t
foreign import ccall "&apr_strtoff" p'apr_strtoff
  :: FunPtr (Ptr C'apr_off_t -> Ptr CChar -> Ptr (Ptr CChar) -> CInt -> IO C'apr_status_t)

{-# LINE 31 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_strtoi64" c'apr_strtoi64
  :: Ptr CChar -> Ptr (Ptr CChar) -> CInt -> IO C'apr_int64_t
foreign import ccall "&apr_strtoi64" p'apr_strtoi64
  :: FunPtr (Ptr CChar -> Ptr (Ptr CChar) -> CInt -> IO C'apr_int64_t)

{-# LINE 32 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_atoi64" c'apr_atoi64
  :: Ptr CChar -> IO C'apr_int64_t
foreign import ccall "&apr_atoi64" p'apr_atoi64
  :: FunPtr (Ptr CChar -> IO C'apr_int64_t)

{-# LINE 33 "Bindings/APR/Strings.hsc" #-}
foreign import ccall "apr_strfsize" c'apr_strfsize
  :: C'apr_off_t -> Ptr CChar -> IO (Ptr CChar)
foreign import ccall "&apr_strfsize" p'apr_strfsize
  :: FunPtr (C'apr_off_t -> Ptr CChar -> IO (Ptr CChar))

{-# LINE 34 "Bindings/APR/Strings.hsc" #-}