select.h File Reference
Select loop abstraction

libmnl integration More...

`#include <osmocom/core/linuxlist.h>`
`#include <stdbool.h>`
`#include <time.h>`
`#include <signal.h>`

Go to the source code of this file.

## Data Structures

struct | osmo_fd
| Structure representing a file dsecriptor. More...
struct | osmo_signalfd

## Macros

#define | OSMO_FD_READ 0x0001
| Indicate interest in reading from the file descriptor. More...
#define | OSMO_FD_WRITE 0x0002
| Indicate interest in writing to the file descriptor. More...
#define | OSMO_FD_EXCEPT 0x0004
| Indicate interest in exceptions from the file descriptor. More...
#define | OSMO_FD_MASK 0xFFFF
| Used as when_mask in osmo_fd_update_when() More...
#define | BSC_FD_READ OSMO_FD_READ
#define | BSC_FD_WRITE OSMO_FD_WRITE
#define | BSC_FD_EXCEPT OSMO_FD_EXCEPT

## Typedefs

typedef void | osmo_signalfd_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi)

## Functions

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...
void | osmo_fd_update_when (struct osmo_fd *ofd, unsigned int when_mask, unsigned int when)
| Update the 'when' field of osmo_fd. More...
static void | osmo_fd_read_enable (struct osmo_fd *ofd)
static void | osmo_fd_read_disable (struct osmo_fd *ofd)
static void | osmo_fd_write_enable (struct osmo_fd *ofd)
static void | osmo_fd_write_disable (struct osmo_fd *ofd)
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_select_main (int polling)
| select main loop integration More...
int | osmo_select_main_ctx (int polling)
| select main loop integration with temporary select-dispatch talloc context More...
void | osmo_select_init (void)
| initialize the osmocom select abstraction for the current thread More...
struct osmo_fd * | osmo_fd_get_by_fd (int fd)
| find an osmo_fd based on the integer fd 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_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 osmocom-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...
struct osmo_signalfd * | osmo_signalfd_setup (void *ctx, sigset_t set, osmo_signalfd_cb *cb, void *data)
| create a signalfd and register it with osmocom select loop. More...
void | osmo_select_shutdown_request ()
| Request osmo_select_* to only service pending OSMO_FD_WRITE requests. More...
int | osmo_select_shutdown_requested ()
| Return the number of times osmo_select_shutdown_request() was called before. More...
bool | osmo_select_shutdown_done ()
| Return true after osmo_select_shutdown_requested() was called, and after an osmo_select poll loop found no more pending OSMO_FD_WRITE on any registered socket. More...

## Detailed Description

libmnl integration

select loop abstraction.