72
78
ULONG offset_resp_ies;
75
struct packed ndis_configuration {
81
struct ndis_configuration_fh {
88
struct ndis_configuration {
77
90
ULONG beacon_period;
80
struct ndis_configuration_fh {
93
struct ndis_configuration_fh fh_config;
88
struct ndis_ssid_item {
96
struct ndis_wlan_bssid {
92
100
struct ndis_essid ssid;
96
104
struct ndis_configuration config;
109
struct ndis_wlan_bssid_ex {
113
struct ndis_essid ssid;
117
struct ndis_configuration config;
119
ndis_rates_ex rates_ex;
124
/* we use bssid_list as bssid_list_ex also */
103
125
struct ndis_bssid_list {
105
struct ndis_ssid_item items[1];
127
struct ndis_wlan_bssid bssid[1];
108
130
enum ndis_priv_filter {
109
Ndis802_11PrivFilterAcceptAll,
110
Ndis802_11PrivFilter8021xWEP
131
Ndis802_11PrivFilterAcceptAll, Ndis802_11PrivFilter8021xWEP
113
134
enum network_type {
135
Ndis802_11FH, Ndis802_11DS, Ndis802_11OFDM5, Ndis802_11OFDM24,
118
136
/* MSDN site uses Ndis802_11Automode, which is not mentioned
119
137
* in DDK, so add one and assign it to
120
138
* Ndis802_11NetworkTypeMax */
122
Ndis802_11NetworkTypeMax = Ndis802_11Automode
139
Ndis802_11Automode, Ndis802_11NetworkTypeMax = Ndis802_11Automode
142
struct network_type_list {
144
enum network_type types[1];
125
147
enum ndis_power {
131
enum ndis_power_profile {
132
NdisPowerProfileBattery,
133
NdisPowerProfileAcOnLine
148
NDIS_POWER_OFF = 0, NDIS_POWER_MAX, NDIS_POWER_MIN,
136
151
struct ndis_auth_req {
142
int add_wep_key(struct ndis_handle *handle, char *key, int key_len, int index);
157
struct ndis_bssid_info {
159
ndis_pmkid_vavlue pmkid;
164
ULONG bssid_info_count;
165
struct ndis_bssid_info bssid_info[1];
168
int add_wep_key(struct ndis_device *wnd, char *key, int key_len,
170
int set_essid(struct ndis_device *wnd, const char *ssid, int ssid_len);
171
int set_infra_mode(struct ndis_device *wnd,
172
enum ndis_infrastructure_mode mode);
173
int get_ap_address(struct ndis_device *wnd, mac_address mac);
174
int set_ndis_auth_mode(struct ndis_device *wnd, ULONG auth_mode);
175
int set_iw_auth_mode(struct ndis_device *wnd, int wpa_version,
177
int set_auth_mode(struct ndis_device *wnd);
178
int set_ndis_encr_mode(struct ndis_device *wnd, int cipher_pairwise,
179
int cipher_groupwise);
180
int get_ndis_encr_mode(struct ndis_device *wnd);
181
int set_encr_mode(struct ndis_device *wnd);
182
int set_iw_encr_mode(struct ndis_device *wnd, int cipher_pairwise,
183
int cipher_groupwise);
184
int get_ndis_auth_mode(struct ndis_device *wnd);
185
int set_priv_filter(struct ndis_device *wnd);
186
int set_scan(struct ndis_device *wnd);
187
NDIS_STATUS disassociate(struct ndis_device *wnd, int reset_ssid);
188
void set_default_iw_params(struct ndis_device *wnd);
143
189
extern const struct iw_handler_def ndis_handler_def;
145
int set_essid(struct ndis_handle *handle, const char *ssid, int ssid_len);
146
int set_infra_mode(struct ndis_handle *handle,
147
enum network_infrastructure mode);
148
int get_ap_address(struct ndis_handle *handle, mac_address mac);
149
int set_auth_mode(struct ndis_handle *handle, int auth_mode);
150
int set_encr_mode(struct ndis_handle *handle, int encr_mode);
151
int set_privacy_filter(struct ndis_handle *handle, int flags);
152
int set_scan(struct ndis_handle *handle);
156
191
#define PRIV_RESET SIOCIWFIRSTPRIV+16
157
192
#define PRIV_POWER_PROFILE SIOCIWFIRSTPRIV+17
158
193
#define PRIV_NETWORK_TYPE SIOCIWFIRSTPRIV+18
194
#define PRIV_DEAUTHENTICATE SIOCIWFIRSTPRIV+19
195
#define PRIV_MEDIA_STREAM_MODE SIOCIWFIRSTPRIV+20
196
#define PRIV_RELOAD_DEFAULTS SIOCIWFIRSTPRIV+23
198
#define RSN_INFO_ELEM 0x30
160
200
/* these have to match what is in wpa_supplicant */
161
202
typedef enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP } wpa_alg;
162
203
typedef enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP,
163
204
CIPHER_WEP104 } wpa_cipher;
164
205
typedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE,
165
206
KEY_MGMT_802_1X_NO_WPA, KEY_MGMT_WPA_NONE } wpa_key_mgmt;
167
#define AUTH_ALG_OPEN_SYSTEM 0x01
168
#define AUTH_ALG_SHARED_KEY 0x02
169
#define AUTH_ALG_LEAP 0x04
171
#define IEEE80211_MODE_INFRA 0
172
#define IEEE80211_MODE_IBSS 1
174
#define RSN_INFO_ELEM 0x30
187
struct wpa_assoc_info {
194
wpa_cipher pairwise_suite;
195
wpa_cipher group_suite;
196
wpa_key_mgmt key_mgmt_suite;
201
#define WPA_SET_WPA SIOCIWFIRSTPRIV+1
202
#define WPA_SET_KEY SIOCIWFIRSTPRIV+2
203
#define WPA_ASSOCIATE SIOCIWFIRSTPRIV+3
204
#define WPA_DISASSOCIATE SIOCIWFIRSTPRIV+4
205
#define WPA_DROP_UNENCRYPTED SIOCIWFIRSTPRIV+5
206
#define WPA_SET_COUNTERMEASURES SIOCIWFIRSTPRIV+6
207
#define WPA_DEAUTHENTICATE SIOCIWFIRSTPRIV+7
208
#define WPA_SET_AUTH_ALG SIOCIWFIRSTPRIV+8
209
#define WPA_INIT SIOCIWFIRSTPRIV+9
210
#define WPA_DEINIT SIOCIWFIRSTPRIV+10
212
208
#endif // IW_NDIS_H