16 #define OSMO_FD_READ 0x0001
18 #define OSMO_FD_WRITE 0x0002
20 #define OSMO_FD_EXCEPT 0x0004
23 #define BSC_FD_READ OSMO_FD_READ
24 #define BSC_FD_WRITE OSMO_FD_WRITE
25 #define BSC_FD_EXCEPT OSMO_FD_EXCEPT
46 int (*
cb)(
struct osmo_fd *fd,
unsigned int what),
66 const struct timespec *interval);
void * data
data pointer passed through to call-back function
Definition: select.h:40
int osmo_timerfd_disable(struct osmo_fd *ofd)
int osmo_fd_register(struct osmo_fd *fd)
int osmo_timerfd_setup(struct osmo_fd *ofd, int(*cb)(struct osmo_fd *, unsigned int), void *data)
int(* cb)(struct osmo_fd *fd, unsigned int what)
call-back function to be called once file descriptor becomes available
Definition: select.h:38
void osmo_fd_unregister(struct osmo_fd *fd)
bool osmo_fd_is_registered(struct osmo_fd *fd)
struct llist_head list
linked list for internal management
Definition: select.h:30
int osmo_timerfd_schedule(struct osmo_fd *ofd, const struct timespec *first, const struct timespec *interval)
unsigned int priv_nr
private number, extending data
Definition: select.h:42
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)
int osmo_select_main(int polling)
Simple doubly linked list implementation.
(double) linked list header structure
Definition: linuxlist.h:46
int osmo_fd_disp_fds(void *readset, void *writeset, void *exceptset)
struct osmo_fd * osmo_fd_get_by_fd(int fd)
int osmo_fd_fill_fds(void *readset, void *writeset, void *exceptset)
Structure representing a file dsecriptor.
Definition: select.h:28
unsigned int when
bit-mask or of OSMO_FD_READ, OSMO_FD_WRITE and/or OSMO_FD_EXCEPT
Definition: select.h:35
int fd
actual operating-system level file decriptor
Definition: select.h:32
void osmo_fd_close(struct osmo_fd *fd)