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 #define IFPOLL_CTX_MAX 32 10 11 typedef void (*ifpoll_iofn_t)(struct ifnet *, void *, int); 12 typedef void (*ifpoll_stfn_t)(struct ifnet *, int); 13 14 struct ifpoll_status { 15 struct lwkt_serialize *serializer; 16 ifpoll_stfn_t status_func; 17 }; 18 19 struct ifpoll_io { 20 struct lwkt_serialize *serializer; 21 void *arg; 22 ifpoll_iofn_t poll_func; 23 }; 24 25 struct ifpoll_info { 26 struct ifnet *ifpi_ifp; 27 struct ifpoll_status ifpi_status; 28 struct ifpoll_io ifpi_rx[IFPOLL_CTX_MAX]; 29 struct ifpoll_io ifpi_tx[IFPOLL_CTX_MAX]; 30 }; 31 32 #endif /* _KERNEL */ 33 34 #endif /* !_NET_IF_POLL_H_ */ 35