blob: 476c564ee2c69c2a977a55219bf44b6b95b36b6d [file] [log] [blame]
Harald Welteec8b4502010-02-20 20:34:29 +01001#ifndef _BSC_SELECT_H
2#define _BSC_SELECT_H
3
Pablo Neira Ayuso83419342011-03-22 16:36:13 +01004#include <osmocom/core/linuxlist.h>
Harald Welteec8b4502010-02-20 20:34:29 +01005
6#define BSC_FD_READ 0x0001
7#define BSC_FD_WRITE 0x0002
8#define BSC_FD_EXCEPT 0x0004
9
Pablo Neira Ayusof7f89d02011-05-07 12:42:40 +020010struct osmo_fd {
Harald Welteec8b4502010-02-20 20:34:29 +010011 struct llist_head list;
12 int fd;
13 unsigned int when;
Pablo Neira Ayusof7f89d02011-05-07 12:42:40 +020014 int (*cb)(struct osmo_fd *fd, unsigned int what);
Harald Welteec8b4502010-02-20 20:34:29 +010015 void *data;
16 unsigned int priv_nr;
17};
18
Pablo Neira Ayusof7f89d02011-05-07 12:42:40 +020019int osmo_fd_register(struct osmo_fd *fd);
20void osmo_fd_unregister(struct osmo_fd *fd);
21int osmo_select_main(int polling);
Harald Welteec8b4502010-02-20 20:34:29 +010022#endif /* _BSC_SELECT_H */