]> gitweb @ CieloNegro.org - bindings-apr.git/blob - Bindings/APR/Poll.hsc
Bindings.APR.Poll
[bindings-apr.git] / Bindings / APR / Poll.hsc
1 #include <bindings.dsl.h>
2 #include <apr_poll.h>
3
4 module Bindings.APR.Poll where
5 #strict_import
6 import Bindings.APR
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
12
13 #num APR_POLLIN
14 #num APR_POLLPRI
15 #num APR_POLLOUT
16 #num APR_POLLERR
17 #num APR_POLLHUP
18 #num APR_POLLNVAL
19
20 #num APR_POLLSET_THREADSAFE
21 #num APR_POLLSET_NOCOPY
22
23 #integral_t apr_datatype_e
24 #num APR_NO_DESC
25 #num APR_POLL_SOCKET
26 #num APR_POLL_FILE
27 #num APR_POLL_LASTDESC
28
29 #starttype apr_descriptor
30 #  union_field f, Ptr <apr_file_t>
31 #  union_field s, Ptr <apr_socket_t>
32 #stoptype
33
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 ()
41 #stoptype
42
43 #opaque_t apr_pollset_t
44
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>
50
51 #ccall apr_poll, Ptr <apr_pollfd_t> -> <apr_int32_t> -> Ptr <apr_int32_t> -> <apr_interval_time_t> -> IO <apr_status_t>
52
53 #opaque_t apr_pollcb_t
54
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>
58
59 #callback apr_pollcb_cb_t, Ptr () -> Ptr <apr_pollfd_t> -> IO <apr_status_t>
60
61 #ccall apr_pollcb_poll, Ptr <apr_pollcb_t> -> <apr_interval_time_t> -> <apr_pollcb_cb_t> -> Ptr () -> IO <apr_status_t>