Lely core libraries 2.3.4
|
This header file is part of the I/O library; it contains the I/O polling declarations for POSIX platforms. More...
#include <lely/ev/poll.h>
#include <lely/io2/ctx.h>
#include <lely/io2/event.h>
#include <lely/io2/sys/io.h>
#include <lely/util/rbtree.h>
Go to the source code of this file.
Data Structures | |
struct | io_poll_watch |
An object representing a file descriptor being monitored for I/O events. More... | |
Macros | |
#define | IO_POLL_WATCH_INIT(func) |
The static initializer for io_poll_watch. | |
Typedefs | |
typedef void | io_poll_watch_func_t(struct io_poll_watch *watch, int events) |
The type of function invoked by an I/O polling instance (through ev_poll_wait()) to report I/O events. | |
Functions | |
io_poll_t * | io_poll_create (io_ctx_t *ctx, int signo) |
Creates a new I/O polling instance. | |
void | io_poll_destroy (io_poll_t *poll) |
Destroys an I/O polling instance. | |
io_ctx_t * | io_poll_get_ctx (const io_poll_t *poll) |
Returns a pointer to the I/O context with which the I/O polling instance is registered. | |
ev_poll_t * | io_poll_get_poll (const io_poll_t *poll) |
Returns a pointer to the ev_poll_t instance corresponding to the I/O polling instance. | |
int | io_poll_watch (io_poll_t *poll, int fd, int events, struct io_poll_watch *watch) |
Registers a file descriptor with an I/O polling instance and monitors it for I/O events (through ev_poll_wait()). | |
This header file is part of the I/O library; it contains the I/O polling declarations for POSIX platforms.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file poll.h.
typedef void io_poll_watch_func_t(struct io_poll_watch *watch, int events) |
The type of function invoked by an I/O polling instance (through ev_poll_wait()) to report I/O events.
Only the first event to occur is reported. To receive subsequent I/O events, the file descriptor must be reregistered with io_poll_watch().
watch | a pointer to an object representing the file descriptor for which the I/O events are reported. |
events | the reported I/O events (a combination of IO_EVENT_IN, IO_EVENT_PRI, IO_EVENT_OUT, IO_EVENT_ERR and IO_EVENT_HUP). |
Creates a new I/O polling instance.
ctx | a pointer to the I/O context with which the polling instance should be registered. |
signo | the signal number used to wake up threads waiting on io_poll_watch() with ev_poll_kill(). If signo is 0, the default value SIGUSR1 is used. |
errno
. void io_poll_destroy | ( | io_poll_t * | poll | ) |
Destroys an I/O polling instance.
Destroys an I/O polling instance.
int io_poll_watch | ( | io_poll_t * | poll, |
int | fd, | ||
int | events, | ||
struct io_poll_watch * | watch | ||
) |
Registers a file descriptor with an I/O polling instance and monitors it for I/O events (through ev_poll_wait()).
poll | a pointer to an I/O polling instance. |
fd | the file descriptor to be monitored. |
events | the I/O events to monitor (any combination of IO_EVENT_IN, IO_EVENT_PRI, IO_EVENT_OUT, IO_EVENT_ERR and IO_EVENT_HUP). If events is non-zero the file descriptor is (re)registered and monitored for the specified events. Note that error and disconnect events are monitored regardless of whether IO_EVENT_ERR and IO_EVENT_HUP are specified. If events is 0, the file descriptor is unregistered. |
watch | a pointer to an I/O event monitor. If fd has already been registered with a different io_poll_watch object, an error is returned and errno is set to EEXIST . |
errno
.