Apache HTTPD
apr_poll.h
Go to the documentation of this file.
1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef APR_POLL_H
18#define APR_POLL_H
23#include "apr.h"
24#include "apr_pools.h"
25#include "apr_errno.h"
26#include "apr_inherit.h"
27#include "apr_file_io.h"
28#include "apr_network_io.h"
29
30#if APR_HAVE_NETINET_IN_H
31#include <netinet/in.h>
32#endif
33
34#ifdef __cplusplus
35extern "C" {
36#endif /* __cplusplus */
37
49#define APR_POLLIN 0x001
50#define APR_POLLPRI 0x002
51#define APR_POLLOUT 0x004
52#define APR_POLLERR 0x010
53#define APR_POLLHUP 0x020
54#define APR_POLLNVAL 0x040
62#define APR_POLLSET_THREADSAFE 0x001
65#define APR_POLLSET_NOCOPY 0x002
68#define APR_POLLSET_WAKEABLE 0x004
71#define APR_POLLSET_NODEFAULT 0x010
89
97
103
106
116
117
118/* General-purpose poll API for arbitrarily large numbers of
119 * file descriptors
120 */
121
124
158
193 apr_pool_t *p,
196
202
231
251 const apr_pollfd_t *descriptor);
252
275
283
303
309
314APR_DECLARE(const char *) apr_poll_method_defname(void);
315
318
335 apr_pool_t *p,
337
357 apr_pool_t *p,
360
391
402
423 void *baton);
424
432
438
441#ifdef __cplusplus
442}
443#endif
444
445#endif /* ! APR_POLL_H */
446
APR Error Codes.
APR File I/O Handling.
APR File Handle Inheritance Helpers.
APR Network library.
APR memory allocation.
const void apr_status_t(*) apr_status_t(* APR_DECLARE)(void) apr_pool_pre_cleanup_register(apr_pool_t *p
Definition apr_pools.h:646
int apr_status_t
Definition apr_errno.h:44
apr_datatype_e
Definition apr_poll.h:91
apr_int32_t numsock
Definition apr_poll.h:300
apr_uint32_t apr_pool_t * p
Definition apr_poll.h:156
apr_status_t(* apr_pollcb_cb_t)(void *baton, apr_pollfd_t *descriptor)
Definition apr_poll.h:401
apr_int32_t apr_int32_t * nsds
Definition apr_poll.h:301
apr_uint32_t apr_pool_t apr_uint32_t apr_pollset_method_e method
Definition apr_poll.h:195
apr_interval_time_t apr_int32_t const apr_pollfd_t ** descriptors
Definition apr_poll.h:274
apr_uint32_t size
Definition apr_poll.h:155
apr_interval_time_t apr_int32_t * num
Definition apr_poll.h:273
const apr_pollfd_t * descriptor
Definition apr_poll.h:230
apr_pollset_method_e
Definition apr_poll.h:80
apr_interval_time_t apr_pollcb_cb_t func
Definition apr_poll.h:422
apr_uint32_t apr_pool_t apr_uint32_t flags
Definition apr_poll.h:157
apr_interval_time_t apr_pollcb_cb_t void * baton
Definition apr_poll.h:423
@ APR_POLL_SOCKET
Definition apr_poll.h:93
@ APR_POLL_LASTDESC
Definition apr_poll.h:95
@ APR_POLL_FILE
Definition apr_poll.h:94
@ APR_NO_DESC
Definition apr_poll.h:92
@ APR_POLLSET_EPOLL
Definition apr_poll.h:85
@ APR_POLLSET_KQUEUE
Definition apr_poll.h:83
@ APR_POLLSET_SELECT
Definition apr_poll.h:82
@ APR_POLLSET_POLL
Definition apr_poll.h:86
@ APR_POLLSET_AIO_MSGQ
Definition apr_poll.h:87
@ APR_POLLSET_DEFAULT
Definition apr_poll.h:81
@ APR_POLLSET_PORT
Definition apr_poll.h:84
apr_int64_t apr_interval_time_t
Definition apr_time.h:55
void * client_data
Definition apr_poll.h:114
apr_int16_t reqevents
Definition apr_poll.h:111
apr_datatype_e desc_type
Definition apr_poll.h:110
apr_descriptor desc
Definition apr_poll.h:113
apr_pool_t * p
Definition apr_poll.h:109
apr_int16_t rtnevents
Definition apr_poll.h:112
static apr_pollcb_t * pollcb
Definition testpoll.c:42
static apr_pollset_t * pollset
Definition testpoll.c:41
apr_socket_t * s
Definition apr_poll.h:101
apr_file_t * f
Definition apr_poll.h:100
IN ULONG IN INT timeout