?? common_atheros_sdiostack_ar6000_wlan.patch
字號:
+ */++#define AR6000_XIOCTL_GPIO_REGISTER_SET 20+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_SET)+ * ar6000_gpio_register_cmd_s (see below)+ * uses: WMIX_GPIO_REGISTER_SET_CMDID+ */++#define AR6000_XIOCTL_GPIO_REGISTER_GET 21+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_GET)+ * ar6000_gpio_register_cmd_s (see below)+ * uses: WMIX_GPIO_REGISTER_GET_CMDID+ */++#define AR6000_XIOCTL_GPIO_INTR_ACK 22+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_ACK)+ * ar6000_cpio_intr_ack_cmd_s (see below)+ * uses: WMIX_GPIO_INTR_ACK_CMDID+ */++#define AR6000_XIOCTL_GPIO_INTR_WAIT 23+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_WAIT)+ */++++/* ====more wireless commands==== */++#define AR6000_XIOCTL_SET_ADHOC_BSSID 24+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BSSID)+ * WMI_SET_ADHOC_BSSID_CMD setAdHocBssidCmd (see include/wmi.h)+ */++#define AR6000_XIOCTL_SET_OPT_MODE 25+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_SET_OPT_MODE)+ * WMI_SET_OPT_MODE_CMD setOptModeCmd (see include/wmi.h)+ * uses: WMI_SET_OPT_MODE_CMDID+ */++#define AR6000_XIOCTL_OPT_SEND_FRAME 26+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_OPT_SEND_FRAME)+ * WMI_OPT_TX_FRAME_CMD optTxFrameCmd (see include/wmi.h)+ * uses: WMI_OPT_TX_FRAME_CMDID+ */++#define AR6000_XIOCTL_SET_ADHOC_BEACON_INTVAL 27+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BEACON_INTVAL)+ * WMI_BEACON_INT_CMD beaconIntCmd (see include/wmi.h)+ * uses: WMI_SET_BEACON_INT_CMDID+ */+++#define IEEE80211_IOCTL_SETAUTHALG 28+++#define AR6000_XIOCTL_SET_VOICE_PKT_SIZE 29+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_SET_VOICE_PKT_SIZE)+ * WMI_SET_VOICE_PKT_SIZE_CMD setVoicePktSizeCmd (see include/wmi.h)+ * uses: WMI_SET_VOICE_PKT_SIZE_CMDID+ */+++#define AR6000_XIOCTL_SET_MAX_SP 30+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_SET_MAX_SP)+ * WMI_SET_MAX_SP_LEN_CMD maxSPLen(see include/wmi.h)+ * uses: WMI_SET_MAX_SP_LEN_CMDID+ */++#define AR6000_XIOCTL_WMI_GET_ROAM_TBL 31++#define AR6000_XIOCTL_WMI_SET_ROAM_CTRL 32++#define AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS 33+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS)+ * WMI_SET_POWERSAVE_TIMERS_CMD powerSaveTimers(see include/wmi.h)+ * WMI_SET_POWERSAVE_TIMERS_CMDID+ */++#define AR6000_XIOCTRL_WMI_GET_POWER_MODE 34+/*+ * arguments:+ */++#define AR6000_XIOCTRL_WMI_SET_WLAN_STATE 35+typedef enum {+ WLAN_DISABLED,+ WLAN_ENABLED+} AR6000_WLAN_STATE;+/*+ * arguments:+ * enable/disable+ */++#define AR6000_XIOCTL_WMI_GET_ROAM_DATA 36++/* used by AR6000_IOCTL_WMI_GETREV */+struct ar6000_version {+ A_UINT32 host_ver;+ A_UINT32 target_ver;+};++/* used by AR6000_IOCTL_WMI_GET_QOS_QUEUE */+struct ar6000_queuereq{+ A_UINT8 trafficDirection;+ A_UINT8 trafficClass;+ A_INT8 queueNumber;+};++/* used by AR6000_IOCTL_WMI_GET_TARGET_STATS */+typedef struct targetStats_t {+ A_UINT64 tx_packets;+ A_UINT64 tx_bytes;+ A_UINT64 tx_unicast_pkts;+ A_UINT64 tx_unicast_bytes;+ A_UINT64 tx_multicast_pkts;+ A_UINT64 tx_multicast_bytes;+ A_UINT64 tx_broadcast_pkts;+ A_UINT64 tx_broadcast_bytes;+ A_UINT64 tx_rts_success_cnt;+ A_UINT64 tx_packet_per_ac[4];++ A_UINT64 tx_errors;+ A_UINT64 tx_failed_cnt;+ A_UINT64 tx_retry_cnt;+ A_UINT64 tx_rts_fail_cnt;+ A_UINT64 rx_packets;+ A_UINT64 rx_bytes;+ A_UINT64 rx_unicast_pkts;+ A_UINT64 rx_unicast_bytes;+ A_UINT64 rx_multicast_pkts;+ A_UINT64 rx_multicast_bytes;+ A_UINT64 rx_broadcast_pkts;+ A_UINT64 rx_broadcast_bytes;+ A_UINT64 rx_fragment_pkt;++ A_UINT64 rx_errors;+ A_UINT64 rx_crcerr;+ A_UINT64 rx_key_cache_miss;+ A_UINT64 rx_decrypt_err;+ A_UINT64 rx_duplicate_frames;++ A_UINT64 tkip_local_mic_failure;+ A_UINT64 tkip_counter_measures_invoked;+ A_UINT64 tkip_replays;+ A_UINT64 tkip_format_errors;+ A_UINT64 ccmp_format_errors;+ A_UINT64 ccmp_replays;++ A_UINT64 power_save_failure_cnt;+ A_INT16 noise_floor_calibation;++ A_UINT64 cs_bmiss_cnt;+ A_UINT64 cs_lowRssi_cnt;+ A_UINT64 cs_connect_cnt;+ A_UINT64 cs_disconnect_cnt;+ A_UINT8 cs_aveBeacon_rssi;+ A_UINT8 cs_lastRoam_msec;+}TARGET_STATS;++/* used by AR6000_XIOCTL_GPIO_OUTPUT_SET */+struct ar6000_gpio_output_set_cmd_s {+ A_UINT32 set_mask;+ A_UINT32 clear_mask;+ A_UINT32 enable_mask;+ A_UINT32 disable_mask;+};++/*+ * used by AR6000_XIOCTL_GPIO_REGISTER_GET and AR6000_XIOCTL_GPIO_REGISTER_SET+ */+struct ar6000_gpio_register_cmd_s {+ A_UINT32 gpioreg_id;+ A_UINT32 value;+};++/* used by AR6000_XIOCTL_GPIO_INTR_ACK */+struct ar6000_gpio_intr_ack_cmd_s {+ A_UINT32 ack_mask;+};++/* used by AR6000_XIOCTL_GPIO_INTR_WAIT */+struct ar6000_gpio_intr_wait_cmd_s {+ A_UINT32 intr_mask;+ A_UINT32 input_values;+};++#ifdef __cplusplus+}+#endif++#endif /* _ATHDRV_H_ */Index: linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/athtypes.h===================================================================--- /dev/null+++ linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/athtypes.h@@ -0,0 +1,43 @@+/*+ * Copyright 2003-2006 Atheros Communications, Inc.+ *+ * Wireless Network driver for Atheros AR6001+ *+ * This program is free software; you can redistribute it and/or modify+ * it under the terms of the GNU General Public License version 2 as+ * published by the Free Software Foundation;+ *+ * Software distributed under the License is distributed on an "AS+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or+ * implied. See the License for the specific language governing+ * rights and limitations under the License.+ *+ *+ * This file contains the definitions of the basic atheros data types.+ * It is used to map the data types in atheros files to a platform specific+ * type.+ *+ */++#ifndef _ATHTYPES_LINUX_H_+#define _ATHTYPES_LINUX_H_++#ifdef __KERNEL__+#include <linux/types.h>+#endif++typedef int8_t A_INT8;+typedef int16_t A_INT16;+typedef int32_t A_INT32;+typedef int64_t A_INT64;++typedef u_int8_t A_UINT8;+typedef u_int16_t A_UINT16;+typedef u_int32_t A_UINT32;+typedef u_int64_t A_UINT64;++typedef int A_BOOL;+typedef char A_CHAR;+typedef unsigned char A_UCHAR;++#endif /* _ATHTYPES_LINUX_H_ */Index: linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/ieee80211.h===================================================================--- /dev/null+++ linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/ieee80211.h@@ -0,0 +1,333 @@+/*-+ * Copyright (c) 2001 Atsushi Onoe+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting+ * Copyright 2006 ATheros Communications, Inc.+ *+ * Wireless Network driver for Atheros AR6001+ *+ * This program is free software; you can redistribute it and/or modify+ * it under the terms of the GNU General Public License version 2 as+ * published by the Free Software Foundation;+ *+ * Software distributed under the License is distributed on an "AS+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or+ * implied. See the License for the specific language governing+ * rights and limitations under the License.+ *+ * */+#ifndef _NET80211_IEEE80211_H_+#define _NET80211_IEEE80211_H_++/*+ * 802.11 protocol definitions.+ */++#define IEEE80211_ADDR_LEN 6 /* size of 802.11 address */+/* is 802.11 address multicast/broadcast? */+#define IEEE80211_IS_MULTICAST(_a) (*(_a) & 0x01)+#define IEEE80211_ADDR_EQ(addr1, addr2) \+ (A_MEMCMP(addr1, addr2, IEEE80211_ADDR_LEN) == 0)++#define IEEE80211_KEYBUF_SIZE 16+#define IEEE80211_MICBUF_SIZE (8+8) /* space for both tx and rx */++/*+ * NB: these values are ordered carefully; there are lots of+ * of implications in any reordering. In particular beware+ * that 4 is not used to avoid conflicting with IEEE80211_F_PRIVACY.+ */+#define IEEE80211_CIPHER_WEP 0+#define IEEE80211_CIPHER_TKIP 1+#define IEEE80211_CIPHER_AES_OCB 2+#define IEEE80211_CIPHER_AES_CCM 3+#define IEEE80211_CIPHER_CKIP 5+#define IEEE80211_CIPHER_CCKM_KRK 6+#define IEEE80211_CIPHER_NONE 7 /* pseudo value */++#define IEEE80211_CIPHER_MAX (IEEE80211_CIPHER_NONE+1)++#define IEEE80211_IS_VALID_WEP_CIPHER_LEN(len) \+ (((len) == 5) || ((len) == 13) || ((len) == 16))++/*+ * generic definitions for IEEE 802.11 frames+ */+struct ieee80211_frame {+ A_UINT8 i_fc[2];+ A_UINT8 i_dur[2];+ A_UINT8 i_addr1[IEEE80211_ADDR_LEN];+ A_UINT8 i_addr2[IEEE80211_ADDR_LEN];+ A_UINT8 i_addr3[IEEE80211_ADDR_LEN];+ A_UINT8 i_seq[2];+ /* possibly followed by addr4[IEEE80211_ADDR_LEN]; */+ /* see below */+} __ATTRIB_PACK;++#define IEEE80211_FC0_VERSION_MASK 0x03+#define IEEE80211_FC0_VERSION_SHIFT 0+#define IEEE80211_FC0_VERSION_0 0x00+#define IEEE80211_FC0_TYPE_MASK 0x0c+#define IEEE80211_FC0_TYPE_SHIFT 2+#define IEEE80211_FC0_TYPE_MGT 0x00+#define IEEE80211_FC0_TYPE_CTL 0x04+#define IEEE80211_FC0_TYPE_DATA 0x08++#define IEEE80211_FC0_SUBTYPE_MASK 0xf0+#define IEEE80211_FC0_SUBTYPE_SHIFT 4+/* for TYPE_MGT */+#define IEEE80211_FC0_SUBTYPE_ASSOC_REQ 0x00+#define IEEE80211_FC0_SUBTYPE_ASSOC_RESP 0x10+#define IEEE80211_FC0_SUBTYPE_REASSOC_REQ 0x20+#define IEEE80211_FC0_SUBTYPE_REASSOC_RESP 0x30+#define IEEE80211_FC0_SUBTYPE_PROBE_REQ 0x40+#define IEEE80211_FC0_SUBTYPE_PROBE_RESP 0x50+#define IEEE80211_FC0_SUBTYPE_BEACON 0x80+#define IEEE80211_FC0_SUBTYPE_ATIM 0x90+#define IEEE80211_FC0_SUBTYPE_DISASSOC 0xa0+#define IEEE80211_FC0_SUBTYPE_AUTH 0xb0+#define IEEE80211_FC0_SUBTYPE_DEAUTH 0xc0+/* for TYPE_CTL */+#define IEEE80211_FC0_SUBTYPE_PS_POLL 0xa0+#define IEEE80211_FC0_SUBTYPE_RTS 0xb0+#define IEEE80211_FC0_SUBTYPE_CTS 0xc0+#define IEEE80211_FC0_SUBTYPE_ACK 0xd0+#define IEEE80211_FC0_SUBTYPE_CF_END 0xe0+#define IEEE80211_FC0_SUBTYPE_CF_END_ACK 0xf0+/* for TYPE_DATA (bit combination) */+#define IEEE80211_FC0_SUBTYPE_DATA 0x00+#define IEEE80211_FC0_SUBTYPE_CF_ACK 0x10+#define IEEE80211_FC0_SUBTYPE_CF_POLL 0x20+#define IEEE80211_FC0_SUBTYPE_CF_ACPL 0x30+#define IEEE80211_FC0_SUBTYPE_NODATA 0x40+#define IEEE80211_FC0_SUBTYPE_CFACK 0x50+#define IEEE80211_FC0_SUBTYPE_CFPOLL 0x60+#define IEEE80211_FC0_SUBTYPE_CF_ACK_CF_ACK 0x70+#define IEEE80211_FC0_SUBTYPE_QOS 0x80+#define IEEE80211_FC0_SUBTYPE_QOS_NULL 0xc0++#define IEEE80211_FC1_DIR_MASK 0x03+#define IEEE80211_FC1_DIR_NODS 0x00 /* STA->STA */+#define IEEE80211_FC1_DIR_TODS 0x01 /* STA->AP */+#define IEEE80211_FC1_DIR_FROMDS 0x02 /* AP ->STA */+#define IEEE80211_FC1_DIR_DSTODS 0x03 /* AP ->AP */++#define IEEE80211_FC1_MORE_FRAG 0x04+#define IEEE80211_FC1_RETRY 0x08+#define IEEE80211_FC1_PWR_MGT 0x10+#define IEEE80211_FC1_MORE_DATA 0x20+#define IEEE80211_FC1_WEP 0x40+#define IEEE80211_FC1_ORDER 0x80++#define IEEE80211_SEQ_FRAG_MASK 0x000f+#define IEEE80211_SEQ_FRAG_SHIFT 0+#define IEEE80211_SEQ_SEQ_MASK 0xfff0+#define IEEE80211_SEQ_SEQ_SHIFT 4++#define IEEE80211_NWID_LEN 32++/*+ * 802.11 rate set.+ */+#define IEEE80211_RATE_SIZE 8 /* 802.11 standard */+#define IEEE80211_RATE_MAXSIZE 15 /* max rates we'll handle */++#define WMM_NUM_AC 4 /* 4 AC categories */++#define WMM_PARAM_ACI_M 0x60 /* Mask for ACI field */+#define WMM_PARAM_ACI_S 5 /* Shift for ACI field */+#define WMM_PARAM_ACM_M 0x10 /* Mask for ACM bit */+#define WMM_PARAM_ACM_S 4 /* Shift for ACM bit */+#define WMM_PARAM_AIFSN_M 0x0f /* Mask for aifsn field */+#define WMM_PARAM_LOGCWMIN_M 0x0f /* Mask for CwMin field (in log) */
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -