select.c File Reference
Select loop abstraction
`#include <fcntl.h>`
`#include <stdio.h>`
`#include <unistd.h>`
`#include <string.h>`
`#include <stdbool.h>`
`#include <errno.h>`
`#include <osmocom/core/select.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/timer.h>`
`#include "../config.h"`
`#include <sys/select.h>`
`#include <sys/timerfd.h>`

## Functions

static | LLIST_HEAD (osmo_fds)
void | osmo_fd_setup (struct osmo_fd *ofd, int fd, unsigned int when, int(*cb)(struct osmo_fd *fd, unsigned int what), void *data, unsigned int priv_nr)
| Set up an osmo-fd. More...
bool | osmo_fd_is_registered (struct osmo_fd *fd)
| Check if a file descriptor is already registered. More...
int | osmo_fd_register (struct osmo_fd *fd)
| Register a new file descriptor with select loop abstraction. More...
void | osmo_fd_unregister (struct osmo_fd *fd)
| Unregister a file descriptor from select loop abstraction. More...
void | osmo_fd_close (struct osmo_fd *fd)
| Close a file descriptor, mark it as closed + unregister from select loop abstraction. More...
int | osmo_fd_fill_fds (void *_rset, void *_wset, void *_eset)
| Populate the fd_sets and return the highest fd number. More...
int | osmo_fd_disp_fds (void *readset, void *writeset, void *exceptset)
int | osmo_select_main (int polling)
| select main loop integration More...
struct osmo_fd * | osmo_fd_get_by_fd (int fd)
| find an osmo_fd based on the integer fd More...
int | osmo_timerfd_disable (struct osmo_fd *ofd)
| disable the osmocom-wrapped timerfd More...
int | osmo_timerfd_schedule (struct osmo_fd *ofd, const struct timespec *first, const struct timespec *interval)
| schedule the osmcoom-wrapped timerfd to occur first at first, then periodically at interval More...
int | osmo_timerfd_setup (struct osmo_fd *ofd, int(*cb)(struct osmo_fd *, unsigned int), void *data)
| setup osmocom-wrapped timerfd More...

## Variables

static int | maxfd = 0
static int | unregistered_count

## Detailed Description

select filedescriptor handling. Taken from: userspace logging daemon for the iptables ULOG target of the linux 2.4 netfilter subsystem.