[ARM] pxa: Gumstix Verdex PCMCIA support
[linux-2.6/verdex.git] / drivers / staging / vt6656 / iowpa.h
blob5750b5b548e8b43f2977668f5575686b99d47995
1 /*
2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3 * All rights reserved.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 * File: iowpa.h
21 * Purpose: Handles wpa supplicant ioctl interface
23 * Author: Lyndon Chen
25 * Date: May 8, 2002
29 #ifndef __IOWPA_H__
30 #define __IOWPA_H__
32 /*--------------------- Export Definitions -------------------------*/
35 #define WPA_IE_LEN 64
38 //WPA related
40 typedef enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP } wpa_alg;
41 typedef enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP,
42 CIPHER_WEP104 } wpa_cipher;
43 typedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE,
44 KEY_MGMT_802_1X_NO_WPA, KEY_MGMT_WPA_NONE } wpa_key_mgmt;
47 enum {
48 VIAWGET_SET_WPA = 1,
49 VIAWGET_SET_KEY = 2,
50 VIAWGET_SET_SCAN = 3,
51 VIAWGET_GET_SCAN = 4,
52 VIAWGET_GET_SSID = 5,
53 VIAWGET_GET_BSSID = 6,
54 VIAWGET_SET_DROP_UNENCRYPT = 7,
55 VIAWGET_SET_DEAUTHENTICATE = 8,
56 VIAWGET_SET_ASSOCIATE = 9,
57 VIAWGET_SET_DISASSOCIATE= 10
61 enum {
62 VIAWGET_ASSOC_MSG = 1,
63 VIAWGET_DISASSOC_MSG = 2,
64 VIAWGET_PTK_MIC_MSG = 3,
65 VIAWGET_GTK_MIC_MSG = 4,
66 VIAWGET_CCKM_ROAM_MSG = 5,
67 VIAWGET_DEVICECLOSE_MSG = 6
72 #pragma pack(1)
73 typedef struct viawget_wpa_header {
74 u8 type;
75 u16 req_ie_len;
76 u16 resp_ie_len;
77 } viawget_wpa_header;
81 struct viawget_wpa_param {
82 u32 cmd;
83 u8 addr[6];
84 union {
85 struct {
86 u8 len;
87 u8 data[0];
88 } generic_elem;
90 struct {
91 u8 bssid[6];
92 u8 ssid[32];
93 u8 ssid_len;
94 u8 *wpa_ie;
95 u16 wpa_ie_len;
96 int pairwise_suite;
97 int group_suite;
98 int key_mgmt_suite;
99 int auth_alg;
100 int mode;
101 u8 roam_dbm; //DavidWang
102 } wpa_associate;
104 struct {
105 int alg_name;
106 u16 key_index;
107 u16 set_tx;
108 u8 *seq;
109 u16 seq_len;
110 u8 *key;
111 u16 key_len;
112 } wpa_key;
114 struct {
115 u8 ssid_len;
116 u8 ssid[32];
117 } scan_req;
119 struct {
120 u16 scan_count;
121 u8 *buf;
122 } scan_results;
124 } u;
128 #pragma pack(1)
129 struct viawget_scan_result {
130 u8 bssid[6];
131 u8 ssid[32];
132 u16 ssid_len;
133 u8 wpa_ie[WPA_IE_LEN];
134 u16 wpa_ie_len;
135 u8 rsn_ie[WPA_IE_LEN];
136 u16 rsn_ie_len;
137 int freq; // MHz
138 int caps; // e.g. privacy
139 int qual; // signal quality
140 int noise;
141 int level;
142 int maxrate;
146 /*--------------------- Export Classes ----------------------------*/
148 /*--------------------- Export Variables --------------------------*/
151 /*--------------------- Export Types ------------------------------*/
154 /*--------------------- Export Functions --------------------------*/
158 #endif //__IOWPA_H__