1 #ifndef _NET_IF_POLL_H_ 2 #define _NET_IF_POLL_H_ 3 4 #ifdef _KERNEL 5 6 struct sysctl_ctx_list; 7 struct sysctl_oid; 8 struct lwkt_serialize; 9 struct ifnet; 10 11 typedef void (*ifpoll_iofn_t)(struct ifnet *, void *, int); 12 typedef void (*ifpoll_stfn_t)(struct ifnet *); 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[MAXCPU]; 29 struct ifpoll_io ifpi_tx[MAXCPU]; 30 }; 31 32 struct ifpoll_compat { 33 int ifpc_stcount; 34 int ifpc_stfrac; 35 36 int ifpc_cpuid; 37 struct lwkt_serialize *ifpc_serializer; 38 }; 39 40 void ifpoll_compat_setup(struct ifpoll_compat *, struct sysctl_ctx_list *, 41 struct sysctl_oid *, int, struct lwkt_serialize *); 42 43 #endif /* _KERNEL */ 44 45 #endif /* !_NET_IF_POLL_H_ */ 46