libosmocore 0.9.6-23.20170220git32ee5af8.fc42
Osmocom core library
Loading...
Searching...
No Matches
select.h
Go to the documentation of this file.
1#pragma once
2
4#include <stdbool.h>
5
15#define BSC_FD_READ 0x0001
17#define BSC_FD_WRITE 0x0002
19#define BSC_FD_EXCEPT 0x0004
20
22struct osmo_fd {
26 int fd;
29 unsigned int when;
32 int (*cb)(struct osmo_fd *fd, unsigned int what);
34 void *data;
36 unsigned int priv_nr;
37};
38
39bool osmo_fd_is_registered(struct osmo_fd *fd);
40int osmo_fd_register(struct osmo_fd *fd);
41void osmo_fd_unregister(struct osmo_fd *fd);
42int osmo_select_main(int polling);
43
44struct osmo_fd *osmo_fd_get_by_fd(int fd);
45
46/*
47 * foreign event loop integration
48 */
49int osmo_fd_fill_fds(void *readset, void *writeset, void *exceptset);
50int osmo_fd_disp_fds(void *readset, void *writeset, void *exceptset);
51
bool osmo_fd_is_registered(struct osmo_fd *fd)
Check if a file descriptor is already registered.
Definition select.c:54
int osmo_select_main(int polling)
select main loop integration
Definition select.c:184
int osmo_fd_register(struct osmo_fd *fd)
Register a new file descriptor with select loop abstraction.
Definition select.c:70
struct osmo_fd * osmo_fd_get_by_fd(int fd)
find an osmo_fd based on the integer fd
Definition select.c:213
void osmo_fd_unregister(struct osmo_fd *fd)
Unregister a file descriptor from select loop abstraction.
Definition select.c:111
Simple doubly linked list implementation.
(double) linked list header structure
Definition linuxlist.h:47
Structure representing a file dsecriptor.
Definition select.h:22
int fd
Definition select.h:26
struct llist_head list
Definition select.h:24
int(* cb)(struct osmo_fd *fd, unsigned int what)
Definition select.h:32
unsigned int when
Definition select.h:29
unsigned int priv_nr
Definition select.h:36
void * data
Definition select.h:34