aboutsummaryrefslogtreecommitdiffstats
path: root/include/openbsc/select.h
blob: c2af1d7876e908ae2758d227b8ac519dea4a1c0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef _BSC_SELECT_H
#define _BSC_SELECT_H

#include <openbsc/linuxlist.h>

#define BSC_FD_READ	0x0001
#define BSC_FD_WRITE	0x0002
#define BSC_FD_EXCEPT	0x0004

struct bsc_fd {
	struct llist_head list;
	int fd;
	unsigned int when;
	int (*cb)(struct bsc_fd *fd, unsigned int what);
	void *data;
	unsigned int priv_nr;
};

int bsc_register_fd(struct bsc_fd *fd);
void bsc_unregister_fd(struct bsc_fd *fd);
int bsc_select_main(int polling);
#endif /* _BSC_SELECT_H */