⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipw2100.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 3 页
字号:
#define IPW2100_WEP_DROP_CLEAR (1<<2)#define IPW_NONE_CIPHER   (1<<0)#define IPW_WEP40_CIPHER  (1<<1)#define IPW_TKIP_CIPHER   (1<<2)#define IPW_CCMP_CIPHER   (1<<4)#define IPW_WEP104_CIPHER (1<<5)#define IPW_CKIP_CIPHER   (1<<6)#define	IPW_AUTH_OPEN     0#define	IPW_AUTH_SHARED   1struct statistic {	int value;	int hi;	int lo;};#define INIT_STAT(x) do {  \  (x)->value = (x)->hi = 0; \  (x)->lo = 0x7fffffff; \} while (0)#define SET_STAT(x,y) do { \  (x)->value = y; \  if ((x)->value > (x)->hi) (x)->hi = (x)->value; \  if ((x)->value < (x)->lo) (x)->lo = (x)->value; \} while (0)#define INC_STAT(x) do { if (++(x)->value > (x)->hi) (x)->hi = (x)->value; } \while (0)#define DEC_STAT(x) do { if (--(x)->value < (x)->lo) (x)->lo = (x)->value; } \while (0)#define IPW2100_ERROR_QUEUE 5/* Power management code: enable or disable? */enum {#ifdef CONFIG_PM	IPW2100_PM_DISABLED = 0,	PM_STATE_SIZE = 16,#else	IPW2100_PM_DISABLED = 1,	PM_STATE_SIZE = 0,#endif};#define STATUS_POWERED          (1<<0)#define STATUS_CMD_ACTIVE       (1<<1)	/**< host command in progress */#define STATUS_RUNNING          (1<<2)	/* Card initialized, but not enabled */#define STATUS_ENABLED          (1<<3)	/* Card enabled -- can scan,Tx,Rx */#define STATUS_STOPPING         (1<<4)	/* Card is in shutdown phase */#define STATUS_INITIALIZED      (1<<5)	/* Card is ready for external calls */#define STATUS_ASSOCIATING      (1<<9)	/* Associated, but no BSSID yet */#define STATUS_ASSOCIATED       (1<<10)	/* Associated and BSSID valid */#define STATUS_INT_ENABLED      (1<<11)#define STATUS_RF_KILL_HW       (1<<12)#define STATUS_RF_KILL_SW       (1<<13)#define STATUS_RF_KILL_MASK     (STATUS_RF_KILL_HW | STATUS_RF_KILL_SW)#define STATUS_EXIT_PENDING     (1<<14)#define STATUS_SCAN_PENDING     (1<<23)#define STATUS_SCANNING         (1<<24)#define STATUS_SCAN_ABORTING    (1<<25)#define STATUS_SCAN_COMPLETE    (1<<26)#define STATUS_WX_EVENT_PENDING (1<<27)#define STATUS_RESET_PENDING    (1<<29)#define STATUS_SECURITY_UPDATED (1<<30)	/* Security sync needed *//* Internal NIC states */#define IPW_STATE_INITIALIZED	(1<<0)#define IPW_STATE_COUNTRY_FOUND	(1<<1)#define IPW_STATE_ASSOCIATED    (1<<2)#define IPW_STATE_ASSN_LOST	(1<<3)#define IPW_STATE_ASSN_CHANGED 	(1<<4)#define IPW_STATE_SCAN_COMPLETE	(1<<5)#define IPW_STATE_ENTERED_PSP 	(1<<6)#define IPW_STATE_LEFT_PSP 	(1<<7)#define IPW_STATE_RF_KILL       (1<<8)#define IPW_STATE_DISABLED	(1<<9)#define IPW_STATE_POWER_DOWN	(1<<10)#define IPW_STATE_SCANNING      (1<<11)#define CFG_STATIC_CHANNEL      (1<<0)	/* Restrict assoc. to single channel */#define CFG_STATIC_ESSID        (1<<1)	/* Restrict assoc. to single SSID */#define CFG_STATIC_BSSID        (1<<2)	/* Restrict assoc. to single BSSID */#define CFG_CUSTOM_MAC          (1<<3)#define CFG_LONG_PREAMBLE       (1<<4)#define CFG_ASSOCIATE           (1<<6)#define CFG_FIXED_RATE          (1<<7)#define CFG_ADHOC_CREATE        (1<<8)#define CFG_C3_DISABLED         (1<<9)#define CFG_PASSIVE_SCAN        (1<<10)#ifdef CONFIG_IPW2100_MONITOR#define CFG_CRC_CHECK           (1<<11)#endif#define CAP_SHARED_KEY          (1<<0)	/* Off = OPEN */#define CAP_PRIVACY_ON          (1<<1)	/* Off = No privacy */struct ipw2100_priv {	int stop_hang_check;	/* Set 1 when shutting down to kill hang_check */	int stop_rf_kill;	/* Set 1 when shutting down to kill rf_kill */	struct ieee80211_device *ieee;	unsigned long status;	unsigned long config;	unsigned long capability;	/* Statistics */	int resets;	int reset_backoff;	/* Context */	u8 essid[IW_ESSID_MAX_SIZE];	u8 essid_len;	u8 bssid[ETH_ALEN];	u8 channel;	int last_mode;	int cstate_limit;	unsigned long connect_start;	unsigned long last_reset;	u32 channel_mask;	u32 fatal_error;	u32 fatal_errors[IPW2100_ERROR_QUEUE];	u32 fatal_index;	int eeprom_version;	int firmware_version;	unsigned long hw_features;	int hangs;	u32 last_rtc;	int dump_raw;		/* 1 to dump raw bytes in /sys/.../memory */	u8 *snapshot[0x30];	u8 mandatory_bssid_mac[ETH_ALEN];	u8 mac_addr[ETH_ALEN];	int power_mode;	int messages_sent;	int short_retry_limit;	int long_retry_limit;	u32 rts_threshold;	u32 frag_threshold;	int in_isr;	u32 tx_rates;	int tx_power;	u32 beacon_interval;	char nick[IW_ESSID_MAX_SIZE + 1];	struct ipw2100_status_queue status_queue;	struct statistic txq_stat;	struct statistic rxq_stat;	struct ipw2100_bd_queue rx_queue;	struct ipw2100_bd_queue tx_queue;	struct ipw2100_rx_packet *rx_buffers;	struct statistic fw_pend_stat;	struct list_head fw_pend_list;	struct statistic msg_free_stat;	struct statistic msg_pend_stat;	struct list_head msg_free_list;	struct list_head msg_pend_list;	struct ipw2100_tx_packet *msg_buffers;	struct statistic tx_free_stat;	struct statistic tx_pend_stat;	struct list_head tx_free_list;	struct list_head tx_pend_list;	struct ipw2100_tx_packet *tx_buffers;	struct ipw2100_ordinals ordinals;	struct pci_dev *pci_dev;	struct proc_dir_entry *dir_dev;	struct net_device *net_dev;	struct iw_statistics wstats;	struct iw_public_data wireless_data;	struct tasklet_struct irq_tasklet;	struct workqueue_struct *workqueue;	struct work_struct reset_work;	struct work_struct security_work;	struct work_struct wx_event_work;	struct work_struct hang_check;	struct work_struct rf_kill;	u32 interrupts;	int tx_interrupts;	int rx_interrupts;	int inta_other;	spinlock_t low_lock;	struct semaphore action_sem;	struct semaphore adapter_sem;	wait_queue_head_t wait_command_queue;};/********************************************************* * Host Command -> From Driver to FW *********************************************************//** * Host command identifiers */#define HOST_COMPLETE           2#define SYSTEM_CONFIG           6#define SSID                    8#define MANDATORY_BSSID         9#define AUTHENTICATION_TYPE    10#define ADAPTER_ADDRESS        11#define PORT_TYPE              12#define INTERNATIONAL_MODE     13#define CHANNEL                14#define RTS_THRESHOLD          15#define FRAG_THRESHOLD         16#define POWER_MODE             17#define TX_RATES               18#define BASIC_TX_RATES         19#define WEP_KEY_INFO           20#define WEP_KEY_INDEX          25#define WEP_FLAGS              26#define ADD_MULTICAST          27#define CLEAR_ALL_MULTICAST    28#define BEACON_INTERVAL        29#define ATIM_WINDOW            30#define CLEAR_STATISTICS       31#define SEND		       33#define TX_POWER_INDEX         36#define BROADCAST_SCAN         43#define CARD_DISABLE           44#define PREFERRED_BSSID        45#define SET_SCAN_OPTIONS       46#define SCAN_DWELL_TIME        47#define SWEEP_TABLE            48#define AP_OR_STATION_TABLE    49#define GROUP_ORDINALS         50#define SHORT_RETRY_LIMIT      51#define LONG_RETRY_LIMIT       52#define HOST_PRE_POWER_DOWN    58#define CARD_DISABLE_PHY_OFF   61#define MSDU_TX_RATES          62/* Rogue AP Detection */#define SET_STATION_STAT_BITS      64#define CLEAR_STATIONS_STAT_BITS   65#define LEAP_ROGUE_MODE            66	//TODO tbw replaced by CFG_LEAP_ROGUE_AP#define SET_SECURITY_INFORMATION   67#define DISASSOCIATION_BSSID	   68#define SET_WPA_IE                 69/* system configuration bit mask: */#define IPW_CFG_MONITOR               0x00004#define IPW_CFG_PREAMBLE_AUTO        0x00010#define IPW_CFG_IBSS_AUTO_START     0x00020#define IPW_CFG_LOOPBACK            0x00100#define IPW_CFG_ANSWER_BCSSID_PROBE 0x00800#define IPW_CFG_BT_SIDEBAND_SIGNAL	0x02000#define IPW_CFG_802_1x_ENABLE       0x04000#define IPW_CFG_BSS_MASK		0x08000#define IPW_CFG_IBSS_MASK		0x10000#define IPW_SCAN_NOASSOCIATE (1<<0)#define IPW_SCAN_MIXED_CELL (1<<1)/* RESERVED (1<<2) */#define IPW_SCAN_PASSIVE (1<<3)#define IPW_NIC_FATAL_ERROR 0x2A7F0#define IPW_ERROR_ADDR(x) (x & 0x3FFFF)#define IPW_ERROR_CODE(x) ((x & 0xFF000000) >> 24)#define IPW2100_ERR_C3_CORRUPTION (0x10 << 24)#define IPW2100_ERR_MSG_TIMEOUT   (0x11 << 24)#define IPW2100_ERR_FW_LOAD       (0x12 << 24)#define IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND			0x200#define IPW_MEM_SRAM_HOST_INTERRUPT_AREA_LOWER_BOUND  	IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x0D80#define IPW_MEM_HOST_SHARED_RX_BD_BASE                  (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x40)#define IPW_MEM_HOST_SHARED_RX_STATUS_BASE              (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x44)#define IPW_MEM_HOST_SHARED_RX_BD_SIZE                  (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x48)#define IPW_MEM_HOST_SHARED_RX_READ_INDEX               (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0xa0)#define IPW_MEM_HOST_SHARED_TX_QUEUE_BD_BASE          (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x00)#define IPW_MEM_HOST_SHARED_TX_QUEUE_BD_SIZE          (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x04)#define IPW_MEM_HOST_SHARED_TX_QUEUE_READ_INDEX       (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x80)#define IPW_MEM_HOST_SHARED_RX_WRITE_INDEX \    (IPW_MEM_SRAM_HOST_INTERRUPT_AREA_LOWER_BOUND + 0x20)#define IPW_MEM_HOST_SHARED_TX_QUEUE_WRITE_INDEX \    (IPW_MEM_SRAM_HOST_INTERRUPT_AREA_LOWER_BOUND)#define IPW_MEM_HOST_SHARED_ORDINALS_TABLE_1   (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x180)#define IPW_MEM_HOST_SHARED_ORDINALS_TABLE_2   (IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND + 0x184)#define IPW2100_INTA_TX_TRANSFER               (0x00000001)	// Bit 0 (LSB)#define IPW2100_INTA_RX_TRANSFER               (0x00000002)	// Bit 1#define IPW2100_INTA_TX_COMPLETE	       (0x00000004)	// Bit 2#define IPW2100_INTA_EVENT_INTERRUPT           (0x00000008)	// Bit 3#define IPW2100_INTA_STATUS_CHANGE             (0x00000010)	// Bit 4#define IPW2100_INTA_BEACON_PERIOD_EXPIRED     (0x00000020)	// Bit 5#define IPW2100_INTA_SLAVE_MODE_HOST_COMMAND_DONE  (0x00010000)	// Bit 16#define IPW2100_INTA_FW_INIT_DONE              (0x01000000)	// Bit 24#define IPW2100_INTA_FW_CALIBRATION_CALC       (0x02000000)	// Bit 25#define IPW2100_INTA_FATAL_ERROR               (0x40000000)	// Bit 30#define IPW2100_INTA_PARITY_ERROR              (0x80000000)	// Bit 31 (MSB)#define IPW_AUX_HOST_RESET_REG_PRINCETON_RESET              (0x00000001)#define IPW_AUX_HOST_RESET_REG_FORCE_NMI                    (0x00000002)#define IPW_AUX_HOST_RESET_REG_PCI_HOST_CLUSTER_FATAL_NMI   (0x00000004)#define IPW_AUX_HOST_RESET_REG_CORE_FATAL_NMI               (0x00000008)#define IPW_AUX_HOST_RESET_REG_SW_RESET                     (0x00000080)#define IPW_AUX_HOST_RESET_REG_MASTER_DISABLED              (0x00000100)#define IPW_AUX_HOST_RESET_REG_STOP_MASTER                  (0x00000200)#define IPW_AUX_HOST_GP_CNTRL_BIT_CLOCK_READY           (0x00000001)	// Bit 0 (LSB)#define IPW_AUX_HOST_GP_CNTRL_BIT_HOST_ALLOWS_STANDBY   (0x00000002)	// Bit 1#define IPW_AUX_HOST_GP_CNTRL_BIT_INIT_DONE             (0x00000004)	// Bit 2#define IPW_AUX_HOST_GP_CNTRL_BITS_SYS_CONFIG           (0x000007c0)	// Bits 6-10#define IPW_AUX_HOST_GP_CNTRL_BIT_BUS_TYPE              (0x00000200)	// Bit 9#define IPW_AUX_HOST_GP_CNTRL_BIT_BAR0_BLOCK_SIZE       (0x00000400)	// Bit 10#define IPW_AUX_HOST_GP_CNTRL_BIT_USB_MODE              (0x20000000)	// Bit 29#define IPW_AUX_HOST_GP_CNTRL_BIT_HOST_FORCES_SYS_CLK   (0x40000000)	// Bit 30#define IPW_AUX_HOST_GP_CNTRL_BIT_FW_FORCES_SYS_CLK     (0x80000000)	// Bit 31 (MSB)#define IPW_BIT_GPIO_GPIO1_MASK         0x0000000C#define IPW_BIT_GPIO_GPIO3_MASK         0x000000C0#define IPW_BIT_GPIO_GPIO1_ENABLE       0x00000008#define IPW_BIT_GPIO_RF_KILL            0x00010000#define IPW_BIT_GPIO_LED_OFF            0x00002000	// Bit 13 = 1#define IPW_REG_DOMAIN_0_OFFSET 	0x0000#define IPW_REG_DOMAIN_1_OFFSET 	IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND#define IPW_REG_INTA			IPW_REG_DOMAIN_0_OFFSET + 0x0008#define IPW_REG_INTA_MASK		IPW_REG_DOMAIN_0_OFFSET + 0x000C#define IPW_REG_INDIRECT_ACCESS_ADDRESS	IPW_REG_DOMAIN_0_OFFSET + 0x0010#define IPW_REG_INDIRECT_ACCESS_DATA	IPW_REG_DOMAIN_0_OFFSET + 0x0014#define IPW_REG_AUTOINCREMENT_ADDRESS	IPW_REG_DOMAIN_0_OFFSET + 0x0018#define IPW_REG_AUTOINCREMENT_DATA	IPW_REG_DOMAIN_0_OFFSET + 0x001C#define IPW_REG_RESET_REG		IPW_REG_DOMAIN_0_OFFSET + 0x0020#define IPW_REG_GP_CNTRL		IPW_REG_DOMAIN_0_OFFSET + 0x0024#define IPW_REG_GPIO			IPW_REG_DOMAIN_0_OFFSET + 0x0030#define IPW_REG_FW_TYPE                 IPW_REG_DOMAIN_1_OFFSET + 0x0188#define IPW_REG_FW_VERSION 		IPW_REG_DOMAIN_1_OFFSET + 0x018C#define IPW_REG_FW_COMPATABILITY_VERSION IPW_REG_DOMAIN_1_OFFSET + 0x0190#define IPW_REG_INDIRECT_ADDR_MASK	0x00FFFFFC#define IPW_INTERRUPT_MASK		0xC1010013#define IPW2100_CONTROL_REG             0x220000#define IPW2100_CONTROL_PHY_OFF         0x8#define IPW2100_COMMAND			0x00300004#define IPW2100_COMMAND_PHY_ON		0x0#define IPW2100_COMMAND_PHY_OFF		0x1/* in DEBUG_AREA, values of memory always 0xd55555d5 */#define IPW_REG_DOA_DEBUG_AREA_START    IPW_REG_DOMAIN_0_OFFSET + 0x0090#define IPW_REG_DOA_DEBUG_AREA_END      IPW_REG_DOMAIN_0_OFFSET + 0x00FF#define IPW_DATA_DOA_DEBUG_VALUE        0xd55555d5#define IPW_INTERNAL_REGISTER_HALT_AND_RESET	0x003000e0#define IPW_WAIT_CLOCK_STABILIZATION_DELAY	    50	// micro seconds#define IPW_WAIT_RESET_ARC_COMPLETE_DELAY	    10	// micro seconds#define IPW_WAIT_RESET_MASTER_ASSERT_COMPLETE_DELAY 10	// micro seconds// BD ring queue read/write difference

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -