xref: /dragonfly/sys/net/if_poll.h (revision 77b0c609)
1 #ifndef _NET_IF_POLL_H_
2 #define _NET_IF_POLL_H_
3 
4 #ifdef _KERNEL
5 
6 struct lwkt_serialize;
7 struct ifnet;
8 
9 typedef	void	(*ifpoll_iofn_t)(struct ifnet *, void *, int);
10 typedef	void	(*ifpoll_stfn_t)(struct ifnet *);
11 
12 struct ifpoll_status {
13 	struct lwkt_serialize	*serializer;
14 	ifpoll_stfn_t		status_func;
15 };
16 
17 struct ifpoll_io {
18 	struct lwkt_serialize	*serializer;
19 	void			*arg;
20 	ifpoll_iofn_t		poll_func;
21 };
22 
23 struct ifpoll_info {
24 	struct ifnet		*ifpi_ifp;
25 	struct ifpoll_status	ifpi_status;
26 	struct ifpoll_io	ifpi_rx[MAXCPU];
27 	struct ifpoll_io	ifpi_tx[MAXCPU];
28 };
29 
30 #endif	/* _KERNEL */
31 
32 #endif	/* !_NET_IF_POLL_H_ */
33