1 #include <bindings.dsl.h>
4 module Bindings.APR.Poll where
7 import Bindings.APR.ErrNo
8 import Bindings.APR.File.Types
9 import Bindings.APR.Network.IO
10 import Bindings.APR.Pools
11 import Bindings.APR.Time
20 #num APR_POLLSET_THREADSAFE
21 #num APR_POLLSET_NOCOPY
23 #integral_t apr_datatype_e
27 #num APR_POLL_LASTDESC
29 #starttype apr_descriptor
30 # union_field f, Ptr <apr_file_t>
31 # union_field s, Ptr <apr_socket_t>
34 #starttype struct apr_pollfd_t
35 # field p , Ptr <apr_pool_t>
36 # field desc_type , <apr_datatype_e>
37 # field reqevents , <apr_int16_t>
38 # field rtnevents , <apr_int16_t>
39 # field desc , <apr_descriptor>
40 # field client_data, Ptr ()
43 #opaque_t apr_pollset_t
45 #ccall apr_pollset_create , Ptr (Ptr <apr_pollset_t>) -> <apr_uint32_t> -> Ptr <apr_pool_t> -> <apr_uint32_t> -> IO <apr_status_t>
46 #ccall apr_pollset_destroy, Ptr <apr_pollset_t> -> IO <apr_status_t>
47 #ccall apr_pollset_add , Ptr <apr_pollset_t> -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
48 #ccall apr_pollset_remove , Ptr <apr_pollset_t> -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
49 #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>
51 #ccall apr_poll, Ptr <apr_pollfd_t> -> <apr_int32_t> -> Ptr <apr_int32_t> -> <apr_interval_time_t> -> IO <apr_status_t>
53 #opaque_t apr_pollcb_t
55 #ccall apr_pollcb_create, Ptr (Ptr <apr_pollcb_t>) -> <apr_uint32_t> -> Ptr <apr_pool_t> -> <apr_uint32_t> -> IO <apr_status_t>
56 #ccall apr_pollcb_add , Ptr <apr_pollcb_t> -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
57 #ccall apr_pollcb_remove, Ptr <apr_pollcb_t> -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
59 #callback apr_pollcb_cb_t, Ptr () -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
61 #ccall apr_pollcb_poll, Ptr <apr_pollcb_t> -> <apr_interval_time_t> -> <apr_pollcb_cb_t> -> Ptr () -> IO <apr_status_t>