summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/if_uralvar.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/if_uralvar.h')
-rw-r--r--sys/dev/usb/if_uralvar.h45
1 files changed, 23 insertions, 22 deletions
diff --git a/sys/dev/usb/if_uralvar.h b/sys/dev/usb/if_uralvar.h
index 665b05b..39aef9e 100644
--- a/sys/dev/usb/if_uralvar.h
+++ b/sys/dev/usb/if_uralvar.h
@@ -18,7 +18,7 @@
*/
#define RAL_RX_LIST_COUNT 1
-#define RAL_TX_LIST_COUNT 1
+#define RAL_TX_LIST_COUNT 8
#define URAL_SCAN_START 1
#define URAL_SCAN_END 2
@@ -74,15 +74,31 @@ struct ural_rx_data {
struct mbuf *m;
};
+struct ural_node {
+ struct ieee80211_node ni;
+ struct ieee80211_amrr_node amn;
+};
+#define URAL_NODE(ni) ((struct ural_node *)(ni))
+
+struct ural_vap {
+ struct ieee80211vap vap;
+ struct ieee80211_beacon_offsets bo;
+ struct ieee80211_amrr amrr;
+ struct callout amrr_ch;
+
+ int (*newstate)(struct ieee80211vap *,
+ enum ieee80211_state, int);
+};
+#define URAL_VAP(vap) ((struct ural_vap *)(vap))
+
struct ural_softc {
struct ifnet *sc_ifp;
- struct ieee80211com sc_ic;
- int (*sc_newstate)(struct ieee80211com *,
- enum ieee80211_state, int);
device_t sc_dev;
usbd_device_handle sc_udev;
usbd_interface_handle sc_iface;
+ const struct ieee80211_rate_table *sc_rates;
+
int sc_rx_no;
int sc_tx_no;
@@ -100,19 +116,14 @@ struct ural_softc {
struct usb_task sc_task;
struct usb_task sc_scantask;
- struct ieee80211_amrr amrr;
- struct ieee80211_amrr_node amn;
-
struct ural_rx_data rx_data[RAL_RX_LIST_COUNT];
struct ural_tx_data tx_data[RAL_TX_LIST_COUNT];
int tx_queued;
-
- struct ieee80211_beacon_offsets sc_bo;
+ int tx_cur;
struct mtx sc_mtx;
struct callout watchdog_ch;
- struct callout amrr_ch;
int sc_tx_timer;
uint16_t sta[11];
@@ -130,20 +141,10 @@ struct ural_softc {
int tx_ant;
int nb_ant;
- struct bpf_if *sc_drvbpf;
-
- union {
- struct ural_rx_radiotap_header th;
- uint8_t pad[64];
- } sc_rxtapu;
-#define sc_rxtap sc_rxtapu.th
+ struct ural_rx_radiotap_header sc_rxtap;
int sc_rxtap_len;
- union {
- struct ural_tx_radiotap_header th;
- uint8_t pad[64];
- } sc_txtapu;
-#define sc_txtap sc_txtapu.th
+ struct ural_tx_radiotap_header sc_txtap;
int sc_txtap_len;
};
OpenPOWER on IntegriCloud