diff options
Diffstat (limited to 'sys/dev/if_ndis/if_ndisvar.h')
-rw-r--r-- | sys/dev/if_ndis/if_ndisvar.h | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/sys/dev/if_ndis/if_ndisvar.h b/sys/dev/if_ndis/if_ndisvar.h index f98db0a..e3b1a39 100644 --- a/sys/dev/if_ndis/if_ndisvar.h +++ b/sys/dev/if_ndis/if_ndisvar.h @@ -152,8 +152,22 @@ struct ndisusb_task { }; struct ndis_softc { - struct ifnet *ifp; - struct ifmedia ifmedia; /* media info */ + u_int ndis_80211:1, + ndis_link:1, + ndis_running:1; + union { + struct { /* Ethernet */ + struct ifnet *ifp; + struct ifmedia ifmedia; + int ndis_if_flags; + }; + struct { /* Wireless */ + struct ieee80211com ndis_ic; + struct callout ndis_scan_callout; + int (*ndis_newstate)(struct ieee80211com *, + enum ieee80211_state, int); + }; + }; u_long ndis_hwassist; uint32_t ndis_v4tx; uint32_t ndis_v4rx; @@ -180,7 +194,6 @@ struct ndis_softc { ndis_miniport_block *ndis_block; ndis_miniport_characteristics *ndis_chars; interface_type ndis_type; - struct callout ndis_scan_callout; struct callout ndis_stat_callout; int ndis_maxpkts; ndis_oid *ndis_oids; @@ -192,13 +205,9 @@ struct ndis_softc { int ndis_sc; ndis_cfg *ndis_regvals; struct nch ndis_cfglist_head; - int ndis_80211; - int ndis_link; uint32_t ndis_sts; uint32_t ndis_filter; - int ndis_if_flags; int ndis_skip; - int ndis_devidx; interface_type ndis_iftype; driver_object *ndis_dobj; @@ -217,11 +226,9 @@ struct ndis_softc { struct ndis_evt ndis_evt[NDIS_EVENTS]; int ndis_evtpidx; int ndis_evtcidx; - struct ifqueue ndis_rxqueue; + struct mbufq ndis_rxqueue; kspin_lock ndis_rxlock; - int (*ndis_newstate)(struct ieee80211com *, - enum ieee80211_state, int); int ndis_tx_timer; int ndis_hang_timer; |