Merge branch 'vendor/BMAKE'
[dragonfly.git] / sys / net / if_poll.h
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_ */