summaryrefslogtreecommitdiffstats
path: root/sys/dev/wi/if_wavelan_ieee.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2002-08-15 07:13:17 +0000
committerimp <imp@FreeBSD.org>2002-08-15 07:13:17 +0000
commitf2de8fd8b9b517212bd644bfa24d6b454efb4c84 (patch)
treece84034800c168a808a6c7d79c6ca011158dc4a3 /sys/dev/wi/if_wavelan_ieee.h
parent209edd14cb10d2085f777505ae39fa32893784b7 (diff)
downloadFreeBSD-src-f2de8fd8b9b517212bd644bfa24d6b454efb4c84.zip
FreeBSD-src-f2de8fd8b9b517212bd644bfa24d6b454efb4c84.tar.gz
Move the symbol firmware loading routines into if_wi.
Define some basic firmware downloading commands.
Diffstat (limited to 'sys/dev/wi/if_wavelan_ieee.h')
-rw-r--r--sys/dev/wi/if_wavelan_ieee.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/dev/wi/if_wavelan_ieee.h b/sys/dev/wi/if_wavelan_ieee.h
index 0af03a6..e350c32 100644
--- a/sys/dev/wi/if_wavelan_ieee.h
+++ b/sys/dev/wi/if_wavelan_ieee.h
@@ -75,6 +75,7 @@ struct wi_req {
#define WI_RID_MGMT_XMIT 0x0200
#define WI_RID_ZERO_CACHE 0x0300
#define WI_RID_READ_CACHE 0x0400
+#define WI_RID_FWDOWNLOAD 0x0500
struct wi_80211_hdr {
u_int16_t frame_ctl;
@@ -147,6 +148,22 @@ struct wi_sigcache {
int quality; /* quality of the packet */
};
+/*
+ * Firmware downloading API. We support downloading into RAM and into
+ * flash. We copy the entire .hex file for both the primary and secondary
+ * firmware into the kernel, which is minorly gross, but matches the
+ * format of the compiled in firmware.
+ */
+struct wi_fwdownload {
+ int type; /* What type of download. */
+#define WI_FW_RAM 1
+#define WI_FW_FLASH 2
+ size_t pri_len; /* Primary firmware length */
+ size_t sec_len; /* Secondary firmware length */
+ caddr_t pri_data; /* Pointer (user) to primary data */
+ caddr_t sec_data; /* Pointer (user) to secondary data */
+};
+
#ifndef _KERNEL
struct wi_counters {
u_int32_t wi_tx_unicast_frames;
OpenPOWER on IntegriCloud