#define | IOBROKER_USES_EPOLL 1 |
|
#define | IOBROKER_POLLIN 0x001 /* there is data to read */ |
|
#define | IOBROKER_POLLPRI 0x002 /* there is urgent data to read */ |
|
#define | IOBROKER_POLLOUT 0x004 /* writing now will not block */ |
|
#define | IOBROKER_POLLERR 0x008 /* error condition */ |
|
#define | IOBROKER_POLLHUP 0x010 /* hung up */ |
|
#define | IOBROKER_POLLNVAL 0x020 /* invalid polling request */ |
|
#define | IOBROKER_SUCCESS 0 |
| return codes
|
|
#define | IOBROKER_ENOSET (-1) |
|
#define | IOBROKER_ENOINIT (-2) |
|
#define | IOBROKER_ELIB (-3) |
|
#define | IOBROKER_EALREADY (-EALREADY) |
|
#define | IOBROKER_EINVAL (-EINVAL) |
|
#define | IOBROKER_CLOSE_SOCKETS 1 |
| Flags for iobroker_destroy()
|
|
typedef struct iobroker_set | iobroker_set |
|
const char * | iobroker_strerror (int error) |
| Get a string describing the error in the last iobroker call.
|
|
iobroker_set * | iobroker_create (void) |
| Create a new socket set.
|
|
int | iobroker_max_usable_fds (void) |
| Published utility function used to determine the max number of file descriptors this process can keep open at any one time.
|
|
int | iobroker_register (iobroker_set *iobs, int sd, void *arg, int(*handler)(int, int, void *)) |
| Register a socket for input polling with the broker.
|
|
int | iobroker_register_out (iobroker_set *iobs, int sd, void *arg, int(*handler)(int, int, void *)) |
| Register a socket for output polling with the broker.
|
|
int | iobroker_is_registered (iobroker_set *iobs, int fd) |
| Check if a particular filedescriptor is registered with the iobroker set.
|
|
int | iobroker_get_num_fds (iobroker_set *iobs) |
| Getter function for number of file descriptors registered in the set specified.
|
|
int | iobroker_get_max_fds (iobroker_set *iobs) |
| Getter function for the maximum amount of file descriptors this set can handle.
|
|
int | iobroker_unregister (iobroker_set *iobs, int sd) |
| Unregister a socket for input polling with the broker.
|
|
int | iobroker_deregister (iobroker_set *iobs, int sd) |
| Deregister a socket for input polling with the broker (this is identical to iobroker_unregister())
|
|
int | iobroker_close (iobroker_set *iobs, int sd) |
| Unregister and close(2) a socket registered for input with the broker.
|
|
void | iobroker_destroy (iobroker_set *iobs, int flags) |
| Destroy a socket set as created by iobroker_create.
|
|
int | iobroker_poll (iobroker_set *iobs, int timeout) |
| Wait for input on any of the registered sockets.
|
|
I/O broker library function declarations.
The I/O broker library handles multiplexing between hundreds or thousands of sockets with a few simple calls. It's designed to be as lightweight as possible so as to not cause memory bloat, and is therefore highly suitable for use by processes that are fork()-intensive.