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

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

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

{-# LINE 4 "Bindings/APR/Network/IO.hsc" #-}

{-# LINE 5 "Bindings/APR/Network/IO.hsc" #-}

module Bindings.APR.Network.IO 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 8 "Bindings/APR/Network/IO.hsc" #-}
import Bindings.APR
import Bindings.APR.ErrNo
import Bindings.APR.File.Types
import Bindings.APR.Pools
import Bindings.APR.Time
import Bindings.APR.Want

c'APR_MAX_SECS_TO_LINGER = 30
c'APR_MAX_SECS_TO_LINGER :: (Num a) => a

{-# LINE 16 "Bindings/APR/Network/IO.hsc" #-}
c'APRMAXHOSTLEN = 256
c'APRMAXHOSTLEN :: (Num a) => a

{-# LINE 17 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "array_APR_ANYADDR" c'APR_ANYADDR
  :: Ptr (CChar)

{-# LINE 18 "Bindings/APR/Network/IO.hsc" #-}

c'APR_SO_LINGER = 1
c'APR_SO_LINGER :: (Num a) => a

{-# LINE 20 "Bindings/APR/Network/IO.hsc" #-}
c'APR_SO_KEEPALIVE = 2
c'APR_SO_KEEPALIVE :: (Num a) => a

{-# LINE 21 "Bindings/APR/Network/IO.hsc" #-}
c'APR_SO_DEBUG = 4
c'APR_SO_DEBUG :: (Num a) => a

{-# LINE 22 "Bindings/APR/Network/IO.hsc" #-}
c'APR_SO_NONBLOCK = 8
c'APR_SO_NONBLOCK :: (Num a) => a

{-# LINE 23 "Bindings/APR/Network/IO.hsc" #-}
c'APR_SO_REUSEADDR = 16
c'APR_SO_REUSEADDR :: (Num a) => a

{-# LINE 24 "Bindings/APR/Network/IO.hsc" #-}
c'APR_SO_SNDBUF = 64
c'APR_SO_SNDBUF :: (Num a) => a

{-# LINE 25 "Bindings/APR/Network/IO.hsc" #-}
c'APR_SO_RCVBUF = 128
c'APR_SO_RCVBUF :: (Num a) => a

{-# LINE 26 "Bindings/APR/Network/IO.hsc" #-}
c'APR_SO_DISCONNECTED = 256
c'APR_SO_DISCONNECTED :: (Num a) => a

{-# LINE 27 "Bindings/APR/Network/IO.hsc" #-}
c'APR_TCP_NODELAY = 512
c'APR_TCP_NODELAY :: (Num a) => a

{-# LINE 28 "Bindings/APR/Network/IO.hsc" #-}
c'APR_TCP_NOPUSH = 1024
c'APR_TCP_NOPUSH :: (Num a) => a

{-# LINE 29 "Bindings/APR/Network/IO.hsc" #-}
c'APR_RESET_NODELAY = 2048
c'APR_RESET_NODELAY :: (Num a) => a

{-# LINE 30 "Bindings/APR/Network/IO.hsc" #-}
c'APR_INCOMPLETE_READ = 4096
c'APR_INCOMPLETE_READ :: (Num a) => a

{-# LINE 31 "Bindings/APR/Network/IO.hsc" #-}
c'APR_INCOMPLETE_WRITE = 8192
c'APR_INCOMPLETE_WRITE :: (Num a) => a

{-# LINE 32 "Bindings/APR/Network/IO.hsc" #-}
c'APR_IPV6_V6ONLY = 16384
c'APR_IPV6_V6ONLY :: (Num a) => a

{-# LINE 33 "Bindings/APR/Network/IO.hsc" #-}
c'APR_TCP_DEFER_ACCEPT = 32768
c'APR_TCP_DEFER_ACCEPT :: (Num a) => a

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

type C'apr_shutdown_how_e = CUInt

{-# LINE 36 "Bindings/APR/Network/IO.hsc" #-}
c'APR_IPV4_ADDR_OK = 1
c'APR_IPV4_ADDR_OK :: (Num a) => a

{-# LINE 37 "Bindings/APR/Network/IO.hsc" #-}
c'APR_IPV6_ADDR_OK = 2
c'APR_IPV6_ADDR_OK :: (Num a) => a

{-# LINE 38 "Bindings/APR/Network/IO.hsc" #-}

c'APR_INADDR_NONE = 4294967295
c'APR_INADDR_NONE :: (Num a) => a

{-# LINE 40 "Bindings/APR/Network/IO.hsc" #-}

c'APR_INET = 2
c'APR_INET :: (Num a) => a

{-# LINE 42 "Bindings/APR/Network/IO.hsc" #-}
c'APR_UNSPEC = 0
c'APR_UNSPEC :: (Num a) => a

{-# LINE 43 "Bindings/APR/Network/IO.hsc" #-}


{-# LINE 45 "Bindings/APR/Network/IO.hsc" #-}
c'APR_INET6 = 10
c'APR_INET6 :: (Num a) => a

{-# LINE 46 "Bindings/APR/Network/IO.hsc" #-}

{-# LINE 47 "Bindings/APR/Network/IO.hsc" #-}

c'APR_PROTO_TCP = 6
c'APR_PROTO_TCP :: (Num a) => a

{-# LINE 49 "Bindings/APR/Network/IO.hsc" #-}
c'APR_PROTO_UDP = 17
c'APR_PROTO_UDP :: (Num a) => a

{-# LINE 50 "Bindings/APR/Network/IO.hsc" #-}
c'APR_PROTO_SCTP = 132
c'APR_PROTO_SCTP :: (Num a) => a

{-# LINE 51 "Bindings/APR/Network/IO.hsc" #-}

type C'apr_interface_e = CUInt

{-# LINE 53 "Bindings/APR/Network/IO.hsc" #-}
c'APR_LOCAL = 0
c'APR_LOCAL :: (Num a) => a

{-# LINE 54 "Bindings/APR/Network/IO.hsc" #-}
c'APR_REMOTE = 1
c'APR_REMOTE :: (Num a) => a

{-# LINE 55 "Bindings/APR/Network/IO.hsc" #-}

-- FIXME: How should I wrap apr_inet_addr?

data C'apr_socket_t = C'apr_socket_t

{-# LINE 59 "Bindings/APR/Network/IO.hsc" #-}

data C'apr_hdtr_t = C'apr_hdtr_t{
{-# LINE 61 "Bindings/APR/Network/IO.hsc" #-}

  c'apr_hdtr_t'headers :: Ptr C'iovec
{-# LINE 62 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_hdtr_t'numheaders :: CInt
{-# LINE 63 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_hdtr_t'trailers :: Ptr C'iovec
{-# LINE 64 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_hdtr_t'numtrailers :: CInt
{-# LINE 65 "Bindings/APR/Network/IO.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_hdtr_t where
  sizeOf _ = 16
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    return $ C'apr_hdtr_t v0 v1 v2 v3
  poke p (C'apr_hdtr_t v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    return ()

{-# LINE 66 "Bindings/APR/Network/IO.hsc" #-}

-- FIXME: How should I wrap apr_in_addr_t?

data C'apr_ipsubnet_t = C'apr_ipsubnet_t

{-# LINE 70 "Bindings/APR/Network/IO.hsc" #-}

type C'apr_port_t = Word16

{-# LINE 72 "Bindings/APR/Network/IO.hsc" #-}

data C'apr_sockaddr_t = C'apr_sockaddr_t{
{-# LINE 74 "Bindings/APR/Network/IO.hsc" #-}

  c'apr_sockaddr_t'pool :: Ptr C'apr_pool_t
{-# LINE 75 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'hostname :: Ptr CChar
{-# LINE 76 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'servname :: Ptr CChar
{-# LINE 77 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'port :: C'apr_port_t
{-# LINE 78 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'family :: C'apr_int32_t
{-# LINE 79 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'salen :: C'apr_socklen_t
{-# LINE 80 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'ipaddr_len :: CInt
{-# LINE 81 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'addr_str_len :: CInt
{-# LINE 82 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'ipaddr_ptr :: Ptr ()
{-# LINE 83 "Bindings/APR/Network/IO.hsc" #-}
,
  c'apr_sockaddr_t'next :: Ptr C'apr_sockaddr_t
{-# LINE 84 "Bindings/APR/Network/IO.hsc" #-}
-- FIXME: wrap around sa, sin, sin6, sas

 } deriving (Eq,Show)
instance Storable C'apr_sockaddr_t where
  sizeOf _ = 168
  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 36
    return $ C'apr_sockaddr_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9
  poke p (C'apr_sockaddr_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 36 v9
    return ()

{-# LINE 86 "Bindings/APR/Network/IO.hsc" #-}


{-# LINE 88 "Bindings/APR/Network/IO.hsc" #-}
c'APR_SENDFILE_DISCONNECT_SOCKET = 1
c'APR_SENDFILE_DISCONNECT_SOCKET :: (Num a) => a

{-# LINE 89 "Bindings/APR/Network/IO.hsc" #-}

{-# LINE 90 "Bindings/APR/Network/IO.hsc" #-}

foreign import ccall "apr_socket_create" c'apr_socket_create
  :: Ptr (Ptr C'apr_socket_t) -> CInt -> CInt -> CInt -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_create" p'apr_socket_create
  :: FunPtr (Ptr (Ptr C'apr_socket_t) -> CInt -> CInt -> CInt -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 92 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_shutdown" c'apr_socket_shutdown
  :: Ptr C'apr_socket_t -> C'apr_shutdown_how_e -> IO C'apr_status_t
foreign import ccall "&apr_socket_shutdown" p'apr_socket_shutdown
  :: FunPtr (Ptr C'apr_socket_t -> C'apr_shutdown_how_e -> IO C'apr_status_t)

{-# LINE 93 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_close" c'apr_socket_close
  :: Ptr C'apr_socket_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_close" p'apr_socket_close
  :: FunPtr (Ptr C'apr_socket_t -> IO C'apr_status_t)

{-# LINE 94 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_bind" c'apr_socket_bind
  :: Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_bind" p'apr_socket_bind
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t)

{-# LINE 95 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_listen" c'apr_socket_listen
  :: Ptr C'apr_status_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_listen" p'apr_socket_listen
  :: FunPtr (Ptr C'apr_status_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 96 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_accept" c'apr_socket_accept
  :: Ptr (Ptr C'apr_socket_t) -> Ptr C'apr_socket_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_accept" p'apr_socket_accept
  :: FunPtr (Ptr (Ptr C'apr_socket_t) -> Ptr C'apr_socket_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 97 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_connect" c'apr_socket_connect
  :: Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_connect" p'apr_socket_connect
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t)

{-# LINE 98 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_sockaddr_info_get" c'apr_sockaddr_info_get
  :: Ptr (Ptr C'apr_sockaddr_t) -> Ptr CChar -> C'apr_int32_t -> C'apr_port_t -> C'apr_int32_t -> Ptr C'apr_port_t -> IO C'apr_status_t
foreign import ccall "&apr_sockaddr_info_get" p'apr_sockaddr_info_get
  :: FunPtr (Ptr (Ptr C'apr_sockaddr_t) -> Ptr CChar -> C'apr_int32_t -> C'apr_port_t -> C'apr_int32_t -> Ptr C'apr_port_t -> IO C'apr_status_t)

{-# LINE 99 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_getnameinfo" c'apr_getnameinfo
  :: Ptr (Ptr CChar) -> Ptr C'apr_sockaddr_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_getnameinfo" p'apr_getnameinfo
  :: FunPtr (Ptr (Ptr CChar) -> Ptr C'apr_sockaddr_t -> C'apr_int32_t -> IO C'apr_status_t)

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

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

{-# LINE 102 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_data_get" c'apr_socket_data_get
  :: Ptr (Ptr ()) -> Ptr CChar -> Ptr C'apr_socket_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_data_get" p'apr_socket_data_get
  :: FunPtr (Ptr (Ptr ()) -> Ptr CChar -> Ptr C'apr_socket_t -> IO C'apr_status_t)

{-# LINE 103 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_data_set" c'apr_socket_data_set
  :: Ptr C'apr_socket_t -> Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO C'apr_status_t
foreign import ccall "&apr_socket_data_set" p'apr_socket_data_set
  :: FunPtr (Ptr C'apr_socket_t -> Ptr () -> Ptr CChar -> FunPtr (Ptr () -> IO C'apr_status_t) -> IO C'apr_status_t)

{-# LINE 104 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_send" c'apr_socket_send
  :: Ptr C'apr_socket_t -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_send" p'apr_socket_send
  :: FunPtr (Ptr C'apr_socket_t -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t)

{-# LINE 105 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_sendv" c'apr_socket_sendv
  :: Ptr C'apr_socket_t -> Ptr C'iovec -> C'apr_int32_t -> Ptr C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_sendv" p'apr_socket_sendv
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'iovec -> C'apr_int32_t -> Ptr C'apr_size_t -> IO C'apr_status_t)

{-# LINE 106 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_sendto" c'apr_socket_sendto
  :: Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> C'apr_int32_t -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_sendto" p'apr_socket_sendto
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> C'apr_int32_t -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t)

{-# LINE 107 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_recvfrom" c'apr_socket_recvfrom
  :: Ptr C'apr_sockaddr_t -> Ptr C'apr_socket_t -> C'apr_int32_t -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_recvfrom" p'apr_socket_recvfrom
  :: FunPtr (Ptr C'apr_sockaddr_t -> Ptr C'apr_socket_t -> C'apr_int32_t -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t)

{-# LINE 108 "Bindings/APR/Network/IO.hsc" #-}


{-# LINE 110 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_sendfile" c'apr_socket_sendfile
  :: Ptr C'apr_socket_t -> Ptr C'apr_file_t -> Ptr C'apr_hdtr_t -> Ptr C'apr_off_t -> Ptr C'apr_size_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_sendfile" p'apr_socket_sendfile
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_file_t -> Ptr C'apr_hdtr_t -> Ptr C'apr_off_t -> Ptr C'apr_size_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 111 "Bindings/APR/Network/IO.hsc" #-}

{-# LINE 112 "Bindings/APR/Network/IO.hsc" #-}

foreign import ccall "apr_socket_recv" c'apr_socket_recv
  :: Ptr C'apr_socket_t -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_recv" p'apr_socket_recv
  :: FunPtr (Ptr C'apr_socket_t -> Ptr CChar -> Ptr C'apr_size_t -> IO C'apr_status_t)

{-# LINE 114 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_opt_set" c'apr_socket_opt_set
  :: Ptr C'apr_socket_t -> C'apr_int32_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_opt_set" p'apr_socket_opt_set
  :: FunPtr (Ptr C'apr_socket_t -> C'apr_int32_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 115 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_timeout_set" c'apr_socket_timeout_set
  :: Ptr C'apr_socket_t -> C'apr_interval_time_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_timeout_set" p'apr_socket_timeout_set
  :: FunPtr (Ptr C'apr_socket_t -> C'apr_interval_time_t -> IO C'apr_status_t)

{-# LINE 116 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_opt_get" c'apr_socket_opt_get
  :: Ptr C'apr_socket_t -> C'apr_int32_t -> C'apr_int32_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_opt_get" p'apr_socket_opt_get
  :: FunPtr (Ptr C'apr_socket_t -> C'apr_int32_t -> C'apr_int32_t -> IO C'apr_status_t)

{-# LINE 117 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_timeout_get" c'apr_socket_timeout_get
  :: Ptr C'apr_socket_t -> Ptr C'apr_interval_time_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_timeout_get" p'apr_socket_timeout_get
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_interval_time_t -> IO C'apr_status_t)

{-# LINE 118 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_atmark" c'apr_socket_atmark
  :: Ptr C'apr_socket_t -> Ptr CInt -> IO C'apr_status_t
foreign import ccall "&apr_socket_atmark" p'apr_socket_atmark
  :: FunPtr (Ptr C'apr_socket_t -> Ptr CInt -> IO C'apr_status_t)

{-# LINE 119 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_addr_get" c'apr_socket_addr_get
  :: Ptr (Ptr C'apr_socket_t) -> C'apr_interface_e -> Ptr C'apr_socket_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_addr_get" p'apr_socket_addr_get
  :: FunPtr (Ptr (Ptr C'apr_socket_t) -> C'apr_interface_e -> Ptr C'apr_socket_t -> IO C'apr_status_t)

{-# LINE 120 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_sockaddr_ip_get" c'apr_sockaddr_ip_get
  :: Ptr (Ptr CChar) -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t
foreign import ccall "&apr_sockaddr_ip_get" p'apr_sockaddr_ip_get
  :: FunPtr (Ptr (Ptr CChar) -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t)

{-# LINE 121 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_sockaddr_ip_getbuf" c'apr_sockaddr_ip_getbuf
  :: Ptr CChar -> C'apr_size_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t
foreign import ccall "&apr_sockaddr_ip_getbuf" p'apr_sockaddr_ip_getbuf
  :: FunPtr (Ptr CChar -> C'apr_size_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t)

{-# LINE 122 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_sockaddr_equal" c'apr_sockaddr_equal
  :: Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> IO CInt
foreign import ccall "&apr_sockaddr_equal" p'apr_sockaddr_equal
  :: FunPtr (Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> IO CInt)

{-# LINE 123 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_type_get" c'apr_socket_type_get
  :: Ptr C'apr_socket_t -> Ptr CInt -> IO C'apr_status_t
foreign import ccall "&apr_socket_type_get" p'apr_socket_type_get
  :: FunPtr (Ptr C'apr_socket_t -> Ptr CInt -> IO C'apr_status_t)

{-# LINE 124 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_getservbyname" c'apr_getservbyname
  :: Ptr C'apr_sockaddr_t -> Ptr CChar -> IO C'apr_status_t
foreign import ccall "&apr_getservbyname" p'apr_getservbyname
  :: FunPtr (Ptr C'apr_sockaddr_t -> Ptr CChar -> IO C'apr_status_t)

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

{-# LINE 126 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_ipsubnet_test" c'apr_ipsubnet_test
  :: Ptr C'apr_ipsubnet_t -> Ptr C'apr_sockaddr_t -> IO CInt
foreign import ccall "&apr_ipsubnet_test" p'apr_ipsubnet_test
  :: FunPtr (Ptr C'apr_ipsubnet_t -> Ptr C'apr_sockaddr_t -> IO CInt)

{-# LINE 127 "Bindings/APR/Network/IO.hsc" #-}


{-# LINE 131 "Bindings/APR/Network/IO.hsc" #-}

foreign import ccall "apr_socket_protocol_get" c'apr_socket_protocol_get
  :: Ptr C'apr_socket_t -> Ptr CInt -> IO C'apr_status_t
foreign import ccall "&apr_socket_protocol_get" p'apr_socket_protocol_get
  :: FunPtr (Ptr C'apr_socket_t -> Ptr CInt -> IO C'apr_status_t)

{-# LINE 133 "Bindings/APR/Network/IO.hsc" #-}

foreign import ccall "apr_socket_pool_get" c'apr_socket_pool_get
  :: Ptr C'apr_socket_t -> IO (Ptr C'apr_pool_t)
foreign import ccall "&apr_socket_pool_get" p'apr_socket_pool_get
  :: FunPtr (Ptr C'apr_socket_t -> IO (Ptr C'apr_pool_t))

{-# LINE 135 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_inherit_set" c'apr_socket_inherit_set
  :: Ptr C'apr_socket_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_inherit_set" p'apr_socket_inherit_set
  :: FunPtr (Ptr C'apr_socket_t -> IO C'apr_status_t)

{-# LINE 136 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_socket_inherit_unset" c'apr_socket_inherit_unset
  :: Ptr C'apr_socket_t -> IO C'apr_status_t
foreign import ccall "&apr_socket_inherit_unset" p'apr_socket_inherit_unset
  :: FunPtr (Ptr C'apr_socket_t -> IO C'apr_status_t)

{-# LINE 137 "Bindings/APR/Network/IO.hsc" #-}

foreign import ccall "apr_mcast_join" c'apr_mcast_join
  :: Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t
foreign import ccall "&apr_mcast_join" p'apr_mcast_join
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t)

{-# LINE 139 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_mcast_leave" c'apr_mcast_leave
  :: Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t
foreign import ccall "&apr_mcast_leave" p'apr_mcast_leave
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t)

{-# LINE 140 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_mcast_hops" c'apr_mcast_hops
  :: Ptr C'apr_socket_t -> C'apr_byte_t -> IO C'apr_status_t
foreign import ccall "&apr_mcast_hops" p'apr_mcast_hops
  :: FunPtr (Ptr C'apr_socket_t -> C'apr_byte_t -> IO C'apr_status_t)

{-# LINE 141 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_mcast_loopback" c'apr_mcast_loopback
  :: Ptr C'apr_socket_t -> C'apr_byte_t -> IO C'apr_status_t
foreign import ccall "&apr_mcast_loopback" p'apr_mcast_loopback
  :: FunPtr (Ptr C'apr_socket_t -> C'apr_byte_t -> IO C'apr_status_t)

{-# LINE 142 "Bindings/APR/Network/IO.hsc" #-}
foreign import ccall "apr_mcast_interface" c'apr_mcast_interface
  :: Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t
foreign import ccall "&apr_mcast_interface" p'apr_mcast_interface
  :: FunPtr (Ptr C'apr_socket_t -> Ptr C'apr_sockaddr_t -> IO C'apr_status_t)

{-# LINE 143 "Bindings/APR/Network/IO.hsc" #-}