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

📄 iw_ndis.h

📁 ndis在linux下的无线网卡驱动源码
💻 H
字号:
/* *  Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani * *  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. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *  GNU General Public License for more details. * */#ifndef _IW_NDIS_H_#define _IW_NDIS_H_#include "ndis.h"#define	WL_NOISE	-96	/* typical noise level in dBm */#define	WL_SIGMAX	-32	/* typical maximum signal level in dBm */struct ndis_encr_key {	ULONG struct_size;	ULONG index;	ULONG length;	UCHAR key[NDIS_ENCODING_TOKEN_MAX];};struct ndis_add_key {	ULONG struct_size;	ndis_key_index index;	ULONG length;	mac_address bssid;	UCHAR pad[6];	ndis_key_rsc rsc;	UCHAR key[NDIS_ENCODING_TOKEN_MAX];};struct ndis_remove_key {	ULONG struct_size;	ndis_key_index index;	mac_address bssid;};struct ndis_fixed_ies {	UCHAR time_stamp[8];	USHORT beacon_interval;	USHORT capa;};struct ndis_variable_ies {	ULONG elem_id;	UCHAR length;	UCHAR data[1];};enum ndis_reload_defaults { Ndis802_11ReloadWEPKeys };struct ndis_assoc_info {	ULONG length;	USHORT req_ies;	struct req_ie {		USHORT capa;		USHORT listen_interval;		mac_address cur_ap_address;	} req_ie;	ULONG req_ie_length;	ULONG offset_req_ies;	USHORT resp_ies;	struct resp_ie {		USHORT capa;		USHORT status_code;		USHORT assoc_id;	} resp_ie;	ULONG resp_ie_length;	ULONG offset_resp_ies;};struct ndis_configuration_fh {	ULONG length;	ULONG hop_pattern;	ULONG hop_set;	ULONG dwell_time;};struct ndis_configuration {	ULONG length;	ULONG beacon_period;	ULONG atim_window;	ULONG ds_config;	struct ndis_configuration_fh fh_config;};struct ndis_wlan_bssid {	ULONG length;	mac_address mac;	UCHAR reserved[2];	struct ndis_essid ssid;	ULONG privacy;	ndis_rssi rssi;	UINT net_type;	struct ndis_configuration config;	UINT mode;	ndis_rates rates;};struct ndis_wlan_bssid_ex {	ULONG length;	mac_address mac;	UCHAR reserved[2];	struct ndis_essid ssid;	ULONG privacy;	ndis_rssi rssi;	UINT net_type;	struct ndis_configuration config;	UINT mode;	ndis_rates_ex rates_ex;	ULONG ie_length;	UCHAR ies[1];};/* we use bssid_list as bssid_list_ex also */struct ndis_bssid_list {	ULONG num_items;	struct ndis_wlan_bssid bssid[1];};enum ndis_priv_filter {	Ndis802_11PrivFilterAcceptAll, Ndis802_11PrivFilter8021xWEP};enum network_type {	Ndis802_11FH, Ndis802_11DS, Ndis802_11OFDM5, Ndis802_11OFDM24,	/* MSDN site uses Ndis802_11Automode, which is not mentioned	 * in DDK, so add one and assign it to	 * Ndis802_11NetworkTypeMax */	Ndis802_11Automode, Ndis802_11NetworkTypeMax = Ndis802_11Automode};struct network_type_list {	ULONG num;	enum network_type types[1];};enum ndis_power {	NDIS_POWER_OFF = 0, NDIS_POWER_MAX, NDIS_POWER_MIN,};struct ndis_auth_req {	ULONG length;	mac_address bssid;	ULONG flags;};struct ndis_bssid_info {	mac_address bssid;	UCHAR pmkid[16];};struct ndis_pmkid {	ULONG length;	ULONG bssid_info_count;	struct ndis_bssid_info bssid_info[1];};int add_wep_key(struct wrap_ndis_device *wnd, char *key, int key_len,		int index);int set_essid(struct wrap_ndis_device *wnd, const char *ssid, int ssid_len);int set_infra_mode(struct wrap_ndis_device *wnd,		   enum network_infrastructure mode);int get_ap_address(struct wrap_ndis_device *wnd, mac_address mac);int set_auth_mode(struct wrap_ndis_device *wnd, ULONG auth_mode);int set_encr_mode(struct wrap_ndis_device *wnd, ULONG encr_mode);int get_auth_mode(struct wrap_ndis_device *wnd);int get_encr_mode(struct wrap_ndis_device *wnd);int set_priv_filter(struct wrap_ndis_device *wnd, int flags);int set_scan(struct wrap_ndis_device *wnd);NDIS_STATUS disassociate(struct wrap_ndis_device *wnd, int reset_ssid);#define PRIV_RESET	 		SIOCIWFIRSTPRIV+16#define PRIV_POWER_PROFILE	 	SIOCIWFIRSTPRIV+17#define PRIV_NETWORK_TYPE	 	SIOCIWFIRSTPRIV+18#define PRIV_USB_RESET	 		SIOCIWFIRSTPRIV+19#define PRIV_MEDIA_STREAM_MODE 		SIOCIWFIRSTPRIV+20#define PRIV_SET_ENCR_MODE		SIOCIWFIRSTPRIV+21#define PRIV_SET_AUTH_MODE		SIOCIWFIRSTPRIV+22#define PRIV_RELOAD_DEFAULTS		SIOCIWFIRSTPRIV+23#define RSN_INFO_ELEM		0x30/* these have to match what is in wpa_supplicant */typedef enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP } wpa_alg;typedef enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP,	       CIPHER_WEP104 } wpa_cipher;typedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE,	       KEY_MGMT_802_1X_NO_WPA, KEY_MGMT_WPA_NONE } wpa_key_mgmt;#if WIRELESS_EXT <= 17/* WPA support through 'ndiswrapper' driver interface */#define AUTH_ALG_OPEN_SYSTEM	0x01#define AUTH_ALG_SHARED_KEY	0x02#define AUTH_ALG_LEAP		0x04#define IEEE80211_MODE_INFRA	0#define IEEE80211_MODE_IBSS	1struct wpa_key {	wpa_alg alg;	u8 *addr;	int key_index;	int set_tx;	u8 *seq;	size_t seq_len;	u8 *key;	size_t key_len;};struct wpa_assoc_info {	const u8 *bssid;	const u8 *ssid;	size_t ssid_len;	int freq;	const u8 *wpa_ie;	size_t wpa_ie_len;	wpa_cipher pairwise_suite;	wpa_cipher group_suite;	wpa_key_mgmt key_mgmt_suite;	int auth_alg;	int mode;};struct wpa_driver_capa {#define WPA_DRIVER_CAPA_KEY_MGMT_WPA        0x00000001#define WPA_DRIVER_CAPA_KEY_MGMT_WPA2       0x00000002#define WPA_DRIVER_CAPA_KEY_MGMT_WPA_PSK    0x00000004#define WPA_DRIVER_CAPA_KEY_MGMT_WPA2_PSK   0x00000008#define WPA_DRIVER_CAPA_KEY_MGMT_WPA_NONE   0x00000010	unsigned int key_mgmt;#define WPA_DRIVER_CAPA_ENC_WEP40   0x00000001#define WPA_DRIVER_CAPA_ENC_WEP104  0x00000002#define WPA_DRIVER_CAPA_ENC_TKIP    0x00000004#define WPA_DRIVER_CAPA_ENC_CCMP    0x00000008	unsigned int enc;#define WPA_DRIVER_AUTH_OPEN        0x00000001#define WPA_DRIVER_AUTH_SHARED      0x00000002#define WPA_DRIVER_AUTH_LEAP        0x00000004	unsigned int auth;/* Driver generated WPA/RSN IE */#define WPA_DRIVER_FLAGS_DRIVER_IE  0x00000001#define WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC 0x00000002	unsigned int flags;};#define WPA_SET_WPA 			SIOCIWFIRSTPRIV+1#define WPA_SET_KEY 			SIOCIWFIRSTPRIV+2#define WPA_ASSOCIATE		 	SIOCIWFIRSTPRIV+3#define WPA_DISASSOCIATE 		SIOCIWFIRSTPRIV+4#define WPA_DROP_UNENCRYPTED 		SIOCIWFIRSTPRIV+5#define WPA_SET_COUNTERMEASURES 	SIOCIWFIRSTPRIV+6#define WPA_DEAUTHENTICATE	 	SIOCIWFIRSTPRIV+7#define WPA_SET_AUTH_ALG	 	SIOCIWFIRSTPRIV+8#define WPA_INIT			SIOCIWFIRSTPRIV+9#define WPA_DEINIT			SIOCIWFIRSTPRIV+10#define WPA_GET_CAPA			SIOCIWFIRSTPRIV+11#endif#endif // IW_NDIS_H

⌨️ 快捷键说明

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