libosmocore 1.13.1.1-afb4 Osmocom core library

Files | Data Structures | Macros | Typedefs | Functions
Select loop abstraction

## Files
file | select.h
| libmnl integration

## 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)
void | osmo_fd_update_when (struct osmo_fd *ofd, unsigned int when_mask, unsigned int when)
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)
int | osmo_fd_register (struct osmo_fd *fd)
void | osmo_fd_unregister (struct osmo_fd *fd)
void | osmo_fd_close (struct osmo_fd *fd)
int | osmo_select_main (int polling)
int | osmo_select_main_ctx (int polling)
void | osmo_select_init (void)
struct osmo_fd * | osmo_fd_get_by_fd (int fd)
int | osmo_fd_fill_fds (void *readset, void *writeset, void *exceptset)
int | osmo_fd_disp_fds (void *readset, void *writeset, void *exceptset)
int | osmo_timerfd_disable (struct osmo_fd *ofd)
int | osmo_timerfd_schedule (struct osmo_fd *ofd, const struct timespec *first, const struct timespec *interval)
int | osmo_timerfd_setup (struct osmo_fd *ofd, int(*cb)(struct osmo_fd *, unsigned int), void *data)
struct osmo_signalfd * | osmo_signalfd_setup (void *ctx, sigset_t set, osmo_signalfd_cb *cb, void *data)
void | osmo_select_shutdown_request (void)
int | osmo_select_shutdown_requested (void)
bool | osmo_select_shutdown_done (void)

## Detailed Description

## Macro Definition Documentation

## ◆ BSC_FD_EXCEPT

#define BSC_FD_EXCEPT OSMO_FD_EXCEPT

## ◆ BSC_FD_READ

#define BSC_FD_READ OSMO_FD_READ

## ◆ BSC_FD_WRITE

#define BSC_FD_WRITE OSMO_FD_WRITE

## ◆ OSMO_FD_EXCEPT

#define OSMO_FD_EXCEPT 0x0004

Indicate interest in exceptions from the file descriptor.

## ◆ OSMO_FD_MASK

#define OSMO_FD_MASK 0xFFFF

Used as when_mask in osmo_fd_update_when()

## ◆ OSMO_FD_READ

#define OSMO_FD_READ 0x0001

Indicate interest in reading from the file descriptor.

## ◆ OSMO_FD_WRITE

#define OSMO_FD_WRITE 0x0002

Indicate interest in writing to the file descriptor.

## Typedef Documentation

## ◆ osmo_signalfd_cb

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

## Function Documentation

## ◆ osmo_fd_close()

void osmo_fd_close | ( | struct osmo_fd * | fd | ) |

Referenced by iofd_poll_close().

## ◆ osmo_fd_disp_fds()

int osmo_fd_disp_fds | ( | void * | readset,
|  | void * | writeset,
|  | void * | exceptset
| ) |  |

## ◆ osmo_fd_fill_fds()

int osmo_fd_fill_fds | ( | void * | readset,
|  | void * | writeset,
|  | void * | exceptset
| ) |  |

## ◆ osmo_fd_get_by_fd()

struct osmo_fd * osmo_fd_get_by_fd | ( | int | fd | ) |

## ◆ osmo_fd_is_registered()

bool osmo_fd_is_registered | ( | struct osmo_fd * | fd | ) |

Referenced by rate_ctr_init().

## ◆ osmo_fd_read_disable()

static void osmo_fd_read_disable | ( | struct osmo_fd * | ofd | ) |
| inline static

References OSMO_FD_READ, and osmo_fd_update_when().

Referenced by iofd_poll_read_disable().

## ◆ osmo_fd_read_enable()

static void osmo_fd_read_enable | ( | struct osmo_fd * | ofd | ) |
| inline static

References OSMO_FD_MASK, OSMO_FD_READ, and osmo_fd_update_when().

Referenced by iofd_poll_read_enable().

## ◆ osmo_fd_register()

int osmo_fd_register | ( | struct osmo_fd * | fd | ) |

Referenced by iofd_poll_register(), osmo_mnl_init(), and osmo_tundev_open().

## ◆ osmo_fd_setup()

void osmo_fd_setup | ( | struct osmo_fd * | ofd,
|  | int | fd,
|  | unsigned int | when,
|  | int(*)(struct osmo_fd *fd, unsigned int what) | cb,
|  | void * | data,
|  | unsigned int | priv_nr
| ) |  |

Referenced by iofd_poll_register(), osmo_mnl_init(), and osmo_tundev_alloc().

## ◆ osmo_fd_unregister()

void osmo_fd_unregister | ( | struct osmo_fd * | fd | ) |

Referenced by iofd_poll_unregister(), osmo_mnl_destroy(), and osmo_tundev_close().

## ◆ osmo_fd_update_when()

void osmo_fd_update_when | ( | struct osmo_fd * | ofd,
|  | unsigned int | when_mask,
|  | unsigned int | when
| ) |  |

Referenced by osmo_fd_read_disable(), osmo_fd_read_enable(), osmo_fd_write_disable(), and osmo_fd_write_enable().

## ◆ osmo_fd_write_disable()

static void osmo_fd_write_disable | ( | struct osmo_fd * | ofd | ) |
| inline static

References osmo_fd_update_when(), and OSMO_FD_WRITE.

Referenced by iofd_poll_write_disable().

## ◆ osmo_fd_write_enable()

static void osmo_fd_write_enable | ( | struct osmo_fd * | ofd | ) |
| inline static

References OSMO_FD_MASK, osmo_fd_update_when(), and OSMO_FD_WRITE.

Referenced by iofd_poll_notify_connected(), iofd_poll_register(), and iofd_poll_write_enable().

## ◆ osmo_select_init()

void osmo_select_init | ( | void |  | ) |

## ◆ osmo_select_main()

int osmo_select_main | ( | int | polling | ) |

## ◆ osmo_select_main_ctx()

int osmo_select_main_ctx | ( | int | polling | ) |

## ◆ osmo_select_shutdown_done()

bool osmo_select_shutdown_done | ( | void |  | ) |

## ◆ osmo_select_shutdown_request()

void osmo_select_shutdown_request | ( | void |  | ) |

## ◆ osmo_select_shutdown_requested()

int osmo_select_shutdown_requested | ( | void |  | ) |

## ◆ osmo_signalfd_setup()

struct osmo_signalfd * osmo_signalfd_setup | ( | void * | ctx,
|  | sigset_t | set,
|  | osmo_signalfd_cb * | cb,
|  | void * | data
| ) |  |

## ◆ osmo_timerfd_disable()

int osmo_timerfd_disable | ( | struct osmo_fd * | ofd | ) |

Referenced by start_timer().

## ◆ osmo_timerfd_schedule()

int osmo_timerfd_schedule | ( | struct osmo_fd * | ofd,
|  | const struct timespec * | first,
|  | const struct timespec * | interval
| ) |  |

Referenced by rate_ctr_init(), and start_timer().

## ◆ osmo_timerfd_setup()

int osmo_timerfd_setup | ( | struct osmo_fd * | ofd,
|  | int(*)(struct osmo_fd *, unsigned int) | cb,
|  | void * | data
| ) |  |

Referenced by rate_ctr_init(), and start_timer().