Merge commit '28dbfe9bf7a799ab1da2563fd5e007d007b54168'
[osmocom-bb.git] / src / shared / libosmocore / include / osmocom / core / select.h
1 #ifndef _BSC_SELECT_H
2 #define _BSC_SELECT_H
3
4 #include <osmocom/core/linuxlist.h>
5
6 #define BSC_FD_READ     0x0001
7 #define BSC_FD_WRITE    0x0002
8 #define BSC_FD_EXCEPT   0x0004
9
10 struct bsc_fd {
11         struct llist_head list;
12         int fd;
13         unsigned int when;
14         int (*cb)(struct bsc_fd *fd, unsigned int what);
15         void *data;
16         unsigned int priv_nr;
17 };
18
19 int bsc_register_fd(struct bsc_fd *fd);
20 void bsc_unregister_fd(struct bsc_fd *fd);
21 int bsc_select_main(int polling);
22 #endif /* _BSC_SELECT_H */