module Bindings.APR.URI 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.APR.ErrNo
import Bindings.APR.Network.IO
import Bindings.APR.Pools
c'APR_URI_FTP_DEFAULT_PORT = 21
c'APR_URI_FTP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_SSH_DEFAULT_PORT = 22
c'APR_URI_SSH_DEFAULT_PORT :: (Num a) => a
c'APR_URI_TELNET_DEFAULT_PORT = 23
c'APR_URI_TELNET_DEFAULT_PORT :: (Num a) => a
c'APR_URI_GOPHER_DEFAULT_PORT = 70
c'APR_URI_GOPHER_DEFAULT_PORT :: (Num a) => a
c'APR_URI_HTTP_DEFAULT_PORT = 80
c'APR_URI_HTTP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_POP_DEFAULT_PORT = 110
c'APR_URI_POP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_NNTP_DEFAULT_PORT = 119
c'APR_URI_NNTP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_IMAP_DEFAULT_PORT = 143
c'APR_URI_IMAP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_PROSPERO_DEFAULT_PORT = 191
c'APR_URI_PROSPERO_DEFAULT_PORT :: (Num a) => a
c'APR_URI_WAIS_DEFAULT_PORT = 210
c'APR_URI_WAIS_DEFAULT_PORT :: (Num a) => a
c'APR_URI_LDAP_DEFAULT_PORT = 389
c'APR_URI_LDAP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_HTTPS_DEFAULT_PORT = 443
c'APR_URI_HTTPS_DEFAULT_PORT :: (Num a) => a
c'APR_URI_RTSP_DEFAULT_PORT = 554
c'APR_URI_RTSP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_SNEWS_DEFAULT_PORT = 563
c'APR_URI_SNEWS_DEFAULT_PORT :: (Num a) => a
c'APR_URI_ACAP_DEFAULT_PORT = 674
c'APR_URI_ACAP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_NFS_DEFAULT_PORT = 2049
c'APR_URI_NFS_DEFAULT_PORT :: (Num a) => a
c'APR_URI_TIP_DEFAULT_PORT = 3372
c'APR_URI_TIP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_SIP_DEFAULT_PORT = 5060
c'APR_URI_SIP_DEFAULT_PORT :: (Num a) => a
c'APR_URI_UNP_OMITSITEPART = 1
c'APR_URI_UNP_OMITSITEPART :: (Num a) => a
c'APR_URI_UNP_OMITUSER = 2
c'APR_URI_UNP_OMITUSER :: (Num a) => a
c'APR_URI_UNP_OMITPASSWORD = 4
c'APR_URI_UNP_OMITPASSWORD :: (Num a) => a
c'APR_URI_UNP_OMITUSERINFO = 6
c'APR_URI_UNP_OMITUSERINFO :: (Num a) => a
c'APR_URI_UNP_REVEALPASSWORD = 8
c'APR_URI_UNP_REVEALPASSWORD :: (Num a) => a
c'APR_URI_UNP_OMITPATHINFO = 16
c'APR_URI_UNP_OMITPATHINFO :: (Num a) => a
c'APR_URI_UNP_OMITQUERY = 32
c'APR_URI_UNP_OMITQUERY :: (Num a) => a
data C'apr_uri_t = C'apr_uri_t{
c'apr_uri_t'scheme :: Ptr CChar
,
c'apr_uri_t'hostinfo :: Ptr CChar
,
c'apr_uri_t'user :: Ptr CChar
,
c'apr_uri_t'password :: Ptr CChar
,
c'apr_uri_t'hostname :: Ptr CChar
,
c'apr_uri_t'port_str :: Ptr CChar
,
c'apr_uri_t'path :: Ptr CChar
,
c'apr_uri_t'query :: Ptr CChar
,
c'apr_uri_t'fragment :: Ptr CChar
,
c'apr_uri_t'port :: C'apr_port_t
} deriving (Eq,Show)
instance Storable C'apr_uri_t where
sizeOf _ = 44
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
v6 <- peekByteOff p 24
v7 <- peekByteOff p 28
v8 <- peekByteOff p 32
v9 <- peekByteOff p 40
return $ C'apr_uri_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9
poke p (C'apr_uri_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
pokeByteOff p 24 v6
pokeByteOff p 28 v7
pokeByteOff p 32 v8
pokeByteOff p 40 v9
return ()
foreign import ccall "apr_uri_port_of_scheme" c'apr_uri_port_of_scheme
:: Ptr CChar -> IO C'apr_port_t
foreign import ccall "&apr_uri_port_of_scheme" p'apr_uri_port_of_scheme
:: FunPtr (Ptr CChar -> IO C'apr_port_t)
foreign import ccall "apr_uri_unparse" c'apr_uri_unparse
:: Ptr C'apr_pool_t -> Ptr C'apr_uri_t -> CUInt -> IO (Ptr CChar)
foreign import ccall "&apr_uri_unparse" p'apr_uri_unparse
:: FunPtr (Ptr C'apr_pool_t -> Ptr C'apr_uri_t -> CUInt -> IO (Ptr CChar))
foreign import ccall "apr_uri_parse" c'apr_uri_parse
:: Ptr C'apr_pool_t -> Ptr CChar -> Ptr C'apr_uri_t -> IO C'apr_status_t
foreign import ccall "&apr_uri_parse" p'apr_uri_parse
:: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> Ptr C'apr_uri_t -> IO C'apr_status_t)
foreign import ccall "apr_uri_parse_hostinfo" c'apr_uri_parse_hostinfo
:: Ptr C'apr_pool_t -> Ptr CChar -> Ptr C'apr_uri_t -> IO C'apr_status_t
foreign import ccall "&apr_uri_parse_hostinfo" p'apr_uri_parse_hostinfo
:: FunPtr (Ptr C'apr_pool_t -> Ptr CChar -> Ptr C'apr_uri_t -> IO C'apr_status_t)