1 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
2 /* --------------------------------------------------------------------
3  *
4  * Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.
5  * --------------------------------------------------------------------
6  *
7  * linux-wlan
8  *
9  *   The contents of this file are subject to the Mozilla Public
10  *   License Version 1.1 (the "License"); you may not use this file
11  *   except in compliance with the License. You may obtain a copy of
12  *   the License at http://www.mozilla.org/MPL/
13  *
14  *   Software distributed under the License is distributed on an "AS
15  *   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
16  *   implied. See the License for the specific language governing
17  *   rights and limitations under the License.
18  *
19  *   Alternatively, the contents of this file may be used under the
20  *   terms of the GNU Public License version 2 (the "GPL"), in which
21  *   case the provisions of the GPL are applicable instead of the
22  *   above.  If you wish to allow the use of your version of this file
23  *   only under the terms of the GPL and not to allow others to use
24  *   your version of this file under the MPL, indicate your decision
25  *   by deleting the provisions above and replace them with the notice
26  *   and other provisions required by the GPL.  If you do not delete
27  *   the provisions above, a recipient may use your version of this
28  *   file under either the MPL or the GPL.
29  *
30  * --------------------------------------------------------------------
31  *
32  * Inquiries regarding the linux-wlan Open Source project can be
33  * made directly to:
34  *
35  * AbsoluteValue Systems Inc.
36  * info@linux-wlan.com
37  * http://www.linux-wlan.com
38  *
39  * --------------------------------------------------------------------
40  *
41  * Portions of the development of this software were funded by
42  * Intersil Corporation as part of PRISM(R) chipset product development.
43  *
44  * --------------------------------------------------------------------
45  */
46 
47 #ifndef _P80211MKMETASTRUCT_H
48 #define _P80211MKMETASTRUCT_H
49 
50 struct p80211msg_dot11req_mibget {
51 	u32 msgcode;
52 	u32 msglen;
53 	u8 devname[WLAN_DEVNAMELEN_MAX];
54 	struct p80211item_unk392 mibattribute;
55 	struct p80211item_uint32 resultcode;
56 } __packed;
57 
58 struct p80211msg_dot11req_mibset {
59 	u32 msgcode;
60 	u32 msglen;
61 	u8 devname[WLAN_DEVNAMELEN_MAX];
62 	struct p80211item_unk392 mibattribute;
63 	struct p80211item_uint32 resultcode;
64 } __packed;
65 
66 struct p80211msg_dot11req_scan {
67 	u32 msgcode;
68 	u32 msglen;
69 	u8 devname[WLAN_DEVNAMELEN_MAX];
70 	struct p80211item_uint32 bsstype;
71 	struct p80211item_pstr6 bssid;
72 	u8 pad_0C[1];
73 	struct p80211item_pstr32 ssid;
74 	u8 pad_1D[3];
75 	struct p80211item_uint32 scantype;
76 	struct p80211item_uint32 probedelay;
77 	struct p80211item_pstr14 channellist;
78 	u8 pad_2C[1];
79 	struct p80211item_uint32 minchanneltime;
80 	struct p80211item_uint32 maxchanneltime;
81 	struct p80211item_uint32 resultcode;
82 	struct p80211item_uint32 numbss;
83 	struct p80211item_uint32 append;
84 } __packed;
85 
86 struct p80211msg_dot11req_scan_results {
87 	u32 msgcode;
88 	u32 msglen;
89 	u8 devname[WLAN_DEVNAMELEN_MAX];
90 	struct p80211item_uint32 bssindex;
91 	struct p80211item_uint32 resultcode;
92 	struct p80211item_uint32 signal;
93 	struct p80211item_uint32 noise;
94 	struct p80211item_pstr6 bssid;
95 	u8 pad_3C[1];
96 	struct p80211item_pstr32 ssid;
97 	u8 pad_4D[3];
98 	struct p80211item_uint32 bsstype;
99 	struct p80211item_uint32 beaconperiod;
100 	struct p80211item_uint32 dtimperiod;
101 	struct p80211item_uint32 timestamp;
102 	struct p80211item_uint32 localtime;
103 	struct p80211item_uint32 fhdwelltime;
104 	struct p80211item_uint32 fhhopset;
105 	struct p80211item_uint32 fhhoppattern;
106 	struct p80211item_uint32 fhhopindex;
107 	struct p80211item_uint32 dschannel;
108 	struct p80211item_uint32 cfpcount;
109 	struct p80211item_uint32 cfpperiod;
110 	struct p80211item_uint32 cfpmaxduration;
111 	struct p80211item_uint32 cfpdurremaining;
112 	struct p80211item_uint32 ibssatimwindow;
113 	struct p80211item_uint32 cfpollable;
114 	struct p80211item_uint32 cfpollreq;
115 	struct p80211item_uint32 privacy;
116 	struct p80211item_uint32 capinfo;
117 	struct p80211item_uint32 basicrate1;
118 	struct p80211item_uint32 basicrate2;
119 	struct p80211item_uint32 basicrate3;
120 	struct p80211item_uint32 basicrate4;
121 	struct p80211item_uint32 basicrate5;
122 	struct p80211item_uint32 basicrate6;
123 	struct p80211item_uint32 basicrate7;
124 	struct p80211item_uint32 basicrate8;
125 	struct p80211item_uint32 supprate1;
126 	struct p80211item_uint32 supprate2;
127 	struct p80211item_uint32 supprate3;
128 	struct p80211item_uint32 supprate4;
129 	struct p80211item_uint32 supprate5;
130 	struct p80211item_uint32 supprate6;
131 	struct p80211item_uint32 supprate7;
132 	struct p80211item_uint32 supprate8;
133 } __packed;
134 
135 struct p80211msg_dot11req_start {
136 	u32 msgcode;
137 	u32 msglen;
138 	u8 devname[WLAN_DEVNAMELEN_MAX];
139 	struct p80211item_pstr32 ssid;
140 	u8 pad_12D[3];
141 	struct p80211item_uint32 bsstype;
142 	struct p80211item_uint32 beaconperiod;
143 	struct p80211item_uint32 dtimperiod;
144 	struct p80211item_uint32 cfpperiod;
145 	struct p80211item_uint32 cfpmaxduration;
146 	struct p80211item_uint32 fhdwelltime;
147 	struct p80211item_uint32 fhhopset;
148 	struct p80211item_uint32 fhhoppattern;
149 	struct p80211item_uint32 dschannel;
150 	struct p80211item_uint32 ibssatimwindow;
151 	struct p80211item_uint32 probedelay;
152 	struct p80211item_uint32 cfpollable;
153 	struct p80211item_uint32 cfpollreq;
154 	struct p80211item_uint32 basicrate1;
155 	struct p80211item_uint32 basicrate2;
156 	struct p80211item_uint32 basicrate3;
157 	struct p80211item_uint32 basicrate4;
158 	struct p80211item_uint32 basicrate5;
159 	struct p80211item_uint32 basicrate6;
160 	struct p80211item_uint32 basicrate7;
161 	struct p80211item_uint32 basicrate8;
162 	struct p80211item_uint32 operationalrate1;
163 	struct p80211item_uint32 operationalrate2;
164 	struct p80211item_uint32 operationalrate3;
165 	struct p80211item_uint32 operationalrate4;
166 	struct p80211item_uint32 operationalrate5;
167 	struct p80211item_uint32 operationalrate6;
168 	struct p80211item_uint32 operationalrate7;
169 	struct p80211item_uint32 operationalrate8;
170 	struct p80211item_uint32 resultcode;
171 } __packed;
172 
173 struct p80211msg_lnxreq_ifstate {
174 	u32 msgcode;
175 	u32 msglen;
176 	u8 devname[WLAN_DEVNAMELEN_MAX];
177 	struct p80211item_uint32 ifstate;
178 	struct p80211item_uint32 resultcode;
179 } __packed;
180 
181 struct p80211msg_lnxreq_wlansniff {
182 	u32 msgcode;
183 	u32 msglen;
184 	u8 devname[WLAN_DEVNAMELEN_MAX];
185 	struct p80211item_uint32 enable;
186 	struct p80211item_uint32 channel;
187 	struct p80211item_uint32 prismheader;
188 	struct p80211item_uint32 wlanheader;
189 	struct p80211item_uint32 keepwepflags;
190 	struct p80211item_uint32 stripfcs;
191 	struct p80211item_uint32 packet_trunc;
192 	struct p80211item_uint32 resultcode;
193 } __packed;
194 
195 struct p80211msg_lnxreq_hostwep {
196 	u32 msgcode;
197 	u32 msglen;
198 	u8 devname[WLAN_DEVNAMELEN_MAX];
199 	struct p80211item_uint32 resultcode;
200 	struct p80211item_uint32 decrypt;
201 	struct p80211item_uint32 encrypt;
202 } __packed;
203 
204 struct p80211msg_lnxreq_commsquality {
205 	u32 msgcode;
206 	u32 msglen;
207 	u8 devname[WLAN_DEVNAMELEN_MAX];
208 	struct p80211item_uint32 resultcode;
209 	struct p80211item_uint32 dbm;
210 	struct p80211item_uint32 link;
211 	struct p80211item_uint32 level;
212 	struct p80211item_uint32 noise;
213 	struct p80211item_uint32 txrate;
214 } __packed;
215 
216 struct p80211msg_lnxreq_autojoin {
217 	u32 msgcode;
218 	u32 msglen;
219 	u8 devname[WLAN_DEVNAMELEN_MAX];
220 	struct p80211item_pstr32 ssid;
221 	u8 pad_19D[3];
222 	struct p80211item_uint32 authtype;
223 	struct p80211item_uint32 resultcode;
224 } __packed;
225 
226 struct p80211msg_p2req_readpda {
227 	u32 msgcode;
228 	u32 msglen;
229 	u8 devname[WLAN_DEVNAMELEN_MAX];
230 	struct p80211item_unk1024 pda;
231 	struct p80211item_uint32 resultcode;
232 } __packed;
233 
234 struct p80211msg_p2req_ramdl_state {
235 	u32 msgcode;
236 	u32 msglen;
237 	u8 devname[WLAN_DEVNAMELEN_MAX];
238 	struct p80211item_uint32 enable;
239 	struct p80211item_uint32 exeaddr;
240 	struct p80211item_uint32 resultcode;
241 } __packed;
242 
243 struct p80211msg_p2req_ramdl_write {
244 	u32 msgcode;
245 	u32 msglen;
246 	u8 devname[WLAN_DEVNAMELEN_MAX];
247 	struct p80211item_uint32 addr;
248 	struct p80211item_uint32 len;
249 	struct p80211item_unk4096 data;
250 	struct p80211item_uint32 resultcode;
251 } __packed;
252 
253 struct p80211msg_p2req_flashdl_state {
254 	u32 msgcode;
255 	u32 msglen;
256 	u8 devname[WLAN_DEVNAMELEN_MAX];
257 	struct p80211item_uint32 enable;
258 	struct p80211item_uint32 resultcode;
259 } __packed;
260 
261 struct p80211msg_p2req_flashdl_write {
262 	u32 msgcode;
263 	u32 msglen;
264 	u8 devname[WLAN_DEVNAMELEN_MAX];
265 	struct p80211item_uint32 addr;
266 	struct p80211item_uint32 len;
267 	struct p80211item_unk4096 data;
268 	struct p80211item_uint32 resultcode;
269 } __packed;
270 
271 #endif
272