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

📄 at76c503.h

📁 这是atmel公司的无线网卡驱动, 基于linux的驱动源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/* -*- linux-c -*- *//* $Id: at76c503.h,v 1.15 2003/07/11 20:53:32 jal2 Exp $ * * USB at76c503 driver * * Copyright (c) 2002 - 2003 Oliver Kurth <oku@masqmail.cx> * *	This program is free software; you can redistribute it and/or *	modify it under the terms of the GNU General Public License as *	published by the Free Software Foundation; either version 2 of *	the License, or (at your option) any later version. * */#ifndef _AT76C503_H#define _AT76C503_H#include <linux/netdevice.h>#include <linux/etherdevice.h>#include <linux/wireless.h>#include "ieee802_11.h" /* we need some constants here *//* this wasn't even defined in early 2.4.x kernels ... */#ifndef SIOCIWFIRSTPRIV#  define SIOCIWFIRSTPRIV SIOCDEVPRIVATE#endif/* WIRELESS_EXT 8 does not provide iw_point ! */#if WIRELESS_EXT <= 8/* this comes from <linux/wireless.h> */#undef IW_MAX_SPY #define IW_MAX_SPY 0#endif/* our private ioctl's *//* set preamble length*/#define PRIV_IOCTL_SET_SHORT_PREAMBLE  (SIOCIWFIRSTPRIV + 0x0)/* set debug parameter */#define PRIV_IOCTL_SET_DEBUG           (SIOCIWFIRSTPRIV + 0x1)/* set authentication mode: 0 - open, 1 - shared key */#define PRIV_IOCTL_SET_AUTH_MODE       (SIOCIWFIRSTPRIV + 0x2)/* dump bss table */#define PRIV_IOCTL_LIST_BSS            (SIOCIWFIRSTPRIV + 0x3)/* set power save mode (incl. the Atmel proprietary smart save mode */#define PRIV_IOCTL_SET_POWERSAVE_MODE  (SIOCIWFIRSTPRIV + 0x4)/* set min and max channel times for scan */#define PRIV_IOCTL_SET_SCAN_TIMES      (SIOCIWFIRSTPRIV + 0x5)/* set scan mode */#define PRIV_IOCTL_SET_SCAN_MODE       (SIOCIWFIRSTPRIV + 0x6)#define DEVICE_VENDOR_REQUEST_OUT    0x40#define DEVICE_VENDOR_REQUEST_IN     0xc0#define INTERFACE_VENDOR_REQUEST_OUT 0x41#define INTERFACE_VENDOR_REQUEST_IN  0xc1#define CLASS_REQUEST_OUT            0x21#define CLASS_REQUEST_IN             0xa1#define CMD_STATUS_IDLE                   0x00#define CMD_STATUS_COMPLETE               0x01#define CMD_STATUS_UNKNOWN                0x02#define CMD_STATUS_INVALID_PARAMETER      0x03#define CMD_STATUS_FUNCTION_NOT_SUPPORTED 0x04#define CMD_STATUS_TIME_OUT               0x07#define CMD_STATUS_IN_PROGRESS            0x08#define CMD_STATUS_HOST_FAILURE           0xff#define CMD_STATUS_SCAN_FAILED            0xf0#define OPMODE_NONE           0x00#define OPMODE_NETCARD        0x01#define OPMODE_CONFIG         0x02#define OPMODE_DFU            0x03#define OPMODE_NOFLASHNETCARD 0x04#define CMD_SET_MIB    0x01#define CMD_GET_MIB    0x02#define CMD_SCAN       0x03#define CMD_JOIN       0x04#define CMD_START_IBSS 0x05#define CMD_RADIO      0x06#define CMD_STARTUP    0x0B#define CMD_GETOPMODE  0x33#define MIB_LOCAL      0x01#define MIB_MAC_ADD    0x02#define MIB_MAC        0x03#define MIB_MAC_MGMT   0x05#define MIB_MAC_WEP    0x06#define MIB_PHY        0x07#define MIB_FW_VERSION 0x08#define MIB_MDOMAIN    0x09#define ADHOC_MODE 1#define INFRASTRUCTURE_MODE 2/* values for struct mib_local, field preamble_type */#define PREAMBLE_TYPE_SHORT 1#define PREAMBLE_TYPE_LONG  0/* values for tx_rate */#define TX_RATE_1MBIT 0#define TX_RATE_2MBIT 1#define TX_RATE_5_5MBIT 2#define TX_RATE_11MBIT 3#define TX_RATE_AUTO 4/* power management modi */#define PM_ACTIVE     1#define PM_SAVE       2#define PM_SMART_SAVE 3/* offsets into the MIBs we use to configure the device */#define TX_AUTORATE_FALLBACK_OFFSET offsetof(struct mib_local,txautorate_fallback)#define FRAGMENTATION_OFFSET        offsetof(struct mib_mac,frag_threshold)#define PREAMBLE_TYPE_OFFSET        offsetof(struct mib_local,preamble_type)#define RTS_OFFSET                  offsetof(struct mib_mac, rts_threshold)      /* valid only for rfmd and 505 !*/#define IBSS_CHANGE_OK_OFFSET       offsetof(struct mib_mac_mgmt, ibss_change)#define IROAMING_OFFSET \  offsetof(struct mib_mac_mgmt, multi_domain_capability_enabled)/* the AssocID */#define STATION_ID_OFFSET           offsetof(struct mib_mac_mgmt, station_id)#define POWER_MGMT_MODE_OFFSET      offsetof(struct mib_mac_mgmt, power_mgmt_mode)#define LISTEN_INTERVAL_OFFSET      offsetof(struct mib_mac, listen_interval)#define BOARDTYPE_INTERSIL 0#define BOARDTYPE_RFMD     1#define BOARDTYPE_R505     2struct hwcfg_r505 {	u8 cr39_values[14];	u8 reserved1[14];	u8 bb_cr[14];	u8 pidvid[4];	u8 mac_addr[ETH_ALEN];	u8 regulatory_domain;	u8 reserved2[14];	u8 cr15_values[14];	u8 reserved3[3];} __attribute__ ((packed));struct hwcfg_rfmd {	u8 cr20_values[14]; 	u8 cr21_values[14]; 	u8 bb_cr[14]; 	u8 pidvid[4]; 	u8 mac_addr[ETH_ALEN]; 	u8 regulatory_domain; 	u8 low_power_values[14];     	u8 normal_power_values[14]; 	u8 reserved1[3];   } __attribute__ ((packed));struct hwcfg_intersil {	u8   mac_addr[ETH_ALEN];	u8   cr31_values[14];	u8   cr58_values[14];	u8   pidvid[4];	u8   regulatory_domain;	u8   reserved[1];} __attribute__ ((packed));#define WEP_KEY_SIZE 13#define NR_WEP_KEYS 4#define WEP_SMALL_KEY_LEN (40/8)#define WEP_LARGE_KEY_LEN (104/8)struct at76c503_card_config{	u8 exclude_unencrypted;	u8 promiscuous_mode;	u8 short_retry_limit;	u8 encryption_type;	u16 rts_threshold;	u16 fragmentation_threshold;         // 256..2346	u8 basic_rate_set[4];	u8 auto_rate_fallback;                       //0,1	u8 channel;	u8 privacy_invoked;	u8 wep_default_key_id;                        // 0..3	u8 current_ssid[32];	u8 wep_default_key_value[4][WEP_KEY_SIZE];	u8 ssid_len;	u8 short_preamble;	u16 beacon_period;} __attribute__ ((packed));struct at76c503_command{	u8 cmd;	u8 reserved;	u16 size;} __attribute__ ((packed));/* the length of the Atmel firmware specific rx header before IEEE 802.11 starts */#define AT76C503_RX_HDRLEN offsetof(struct at76c503_rx_buffer, packet)struct at76c503_rx_buffer {	u16 wlength;	u8 rx_rate;	u8 newbss;	u8 fragmentation;	u8 rssi;	u8 link_quality;	u8 noise_level;	u8 rx_time[4];	u8 packet[IEEE802_11_MAX_FRAME_LEN];} __attribute__ ((packed));/* the length of the Atmel firmware specific tx header before IEEE 802.11 starts */#define AT76C503_TX_HDRLEN offsetof(struct at76c503_tx_buffer, packet)struct at76c503_tx_buffer {	u16 wlength;	u8 tx_rate;	u8 padding;	u8 reserved[4];	u8 packet[IEEE802_11_MAX_FRAME_LEN];} __attribute__ ((packed));/* defines for scan_type below */#define SCAN_TYPE_ACTIVE  0#define SCAN_TYPE_PASSIVE 1struct at76c503_start_scan {	u8   bssid[ETH_ALEN];	u8   essid[32];	u8   scan_type;	u8   channel;	u16  probe_delay;	u16  min_channel_time;	u16  max_channel_time;	u8   essid_size;	u8   international_scan;} __attribute__ ((packed));struct at76c503_start_bss {	u8 bssid[ETH_ALEN];	u8 essid[32];	u8 bss_type;	u8 channel;	u8 essid_size;	u8 reserved[3];} __attribute__ ((packed));struct at76c503_join {	u8 bssid[ETH_ALEN];	u8 essid[32];	u8 bss_type;	u8 channel;	u16 timeout;	u8 essid_size;	u8 reserved;} __attribute__ ((packed));struct set_mib_buffer {	u8 type;	u8 size;	u8 index;	u8 reserved;	u8 data[72];} __attribute__ ((packed));struct mib_local {        u16 reserved0;        u8  beacon_enable;        u8  txautorate_fallback;        u8  reserved1;        u8  ssid_size;        u8  promiscuous_mode;        u16 reserved2;        u8  preamble_type;        u16 reserved3;} __attribute__ ((packed));struct mib_mac_addr {	u8 mac_addr[ETH_ALEN];        u8 res[2]; /* ??? */        u8 group_addr[4][ETH_ALEN];        u8 group_addr_status[4];} __attribute__ ((packed));struct mib_mac {        u32 max_tx_msdu_lifetime;        u32 max_rx_lifetime;        u16 frag_threshold;        u16 rts_threshold;        u16 cwmin;        u16 cwmax;        u8  short_retry_time;

⌨️ 快捷键说明

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