packages feed

bindings-apr-0.1: Bindings/APR/Poll.hsc

#include <bindings.dsl.h>
#include <apr_poll.h>

module Bindings.APR.Poll where
#strict_import
import Bindings.APR
import Bindings.APR.ErrNo
import Bindings.APR.File.Types
import Bindings.APR.Network.IO
import Bindings.APR.Pools
import Bindings.APR.Time

#num APR_POLLIN
#num APR_POLLPRI
#num APR_POLLOUT
#num APR_POLLERR
#num APR_POLLHUP
#num APR_POLLNVAL

#num APR_POLLSET_THREADSAFE
#num APR_POLLSET_NOCOPY

#integral_t apr_datatype_e
#num APR_NO_DESC
#num APR_POLL_SOCKET
#num APR_POLL_FILE
#num APR_POLL_LASTDESC

#starttype apr_descriptor
#  union_field f, Ptr <apr_file_t>
#  union_field s, Ptr <apr_socket_t>
#stoptype

#starttype struct apr_pollfd_t
#  field p          , Ptr <apr_pool_t>
#  field desc_type  , <apr_datatype_e>
#  field reqevents  , <apr_int16_t>
#  field rtnevents  , <apr_int16_t>
#  field desc       , <apr_descriptor>
#  field client_data, Ptr ()
#stoptype

#opaque_t apr_pollset_t

#ccall apr_pollset_create , Ptr (Ptr <apr_pollset_t>) -> <apr_uint32_t> -> Ptr <apr_pool_t> -> <apr_uint32_t> -> IO <apr_status_t>
#ccall apr_pollset_destroy, Ptr <apr_pollset_t> -> IO <apr_status_t>
#ccall apr_pollset_add    , Ptr <apr_pollset_t> -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
#ccall apr_pollset_remove , Ptr <apr_pollset_t> -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
#ccall apr_pollset_poll   , Ptr <apr_pollset_t> -> <apr_interval_time_t> -> Ptr <apr_int32_t> -> Ptr (Ptr <apr_pollfd_t>) -> IO <apr_status_t>

#ccall apr_poll, Ptr <apr_pollfd_t> -> <apr_int32_t> -> Ptr <apr_int32_t> -> <apr_interval_time_t> -> IO <apr_status_t>

#opaque_t apr_pollcb_t

#ccall apr_pollcb_create, Ptr (Ptr <apr_pollcb_t>) -> <apr_uint32_t> -> Ptr <apr_pool_t> -> <apr_uint32_t> -> IO <apr_status_t>
#ccall apr_pollcb_add   , Ptr <apr_pollcb_t> -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
#ccall apr_pollcb_remove, Ptr <apr_pollcb_t> -> Ptr <apr_pollfd_t> -> IO <apr_status_t>

#callback apr_pollcb_cb_t, Ptr () -> Ptr <apr_pollfd_t> -> IO <apr_status_t>

#ccall apr_pollcb_poll, Ptr <apr_pollcb_t> -> <apr_interval_time_t> -> <apr_pollcb_cb_t> -> Ptr () -> IO <apr_status_t>