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  * --------------------------------------------------------------------
10  *
11  * Inquiries regarding the linux-wlan Open Source project can be
12  * made directly to:
13  *
14  * AbsoluteValue Systems Inc.
15  * info@linux-wlan.com
16  * http://www.linux-wlan.com
17  *
18  * --------------------------------------------------------------------
19  *
20  * Portions of the development of this software were funded by
21  * Intersil Corporation as part of PRISM(R) chipset product development.
22  *
23  * --------------------------------------------------------------------
24  */
25 
26 #ifndef _P80211MKMETASTRUCT_H
27 #define _P80211MKMETASTRUCT_H
28 
29 struct p80211msg_dot11req_mibget {
30 	u32 msgcode;
31 	u32 msglen;
32 	u8 devname[WLAN_DEVNAMELEN_MAX];
33 	struct p80211item_unk392 mibattribute;
34 	struct p80211item_uint32 resultcode;
35 } __packed;
36 
37 struct p80211msg_dot11req_mibset {
38 	u32 msgcode;
39 	u32 msglen;
40 	u8 devname[WLAN_DEVNAMELEN_MAX];
41 	struct p80211item_unk392 mibattribute;
42 	struct p80211item_uint32 resultcode;
43 } __packed;
44 
45 struct p80211msg_dot11req_scan {
46 	u32 msgcode;
47 	u32 msglen;
48 	u8 devname[WLAN_DEVNAMELEN_MAX];
49 	struct p80211item_uint32 bsstype;
50 	struct p80211item_pstr6 bssid;
51 	u8 pad_0C[1];
52 	struct p80211item_pstr32 ssid;
53 	u8 pad_1D[3];
54 	struct p80211item_uint32 scantype;
55 	struct p80211item_uint32 probedelay;
56 	struct p80211item_pstr14 channellist;
57 	u8 pad_2C[1];
58 	struct p80211item_uint32 minchanneltime;
59 	struct p80211item_uint32 maxchanneltime;
60 	struct p80211item_uint32 resultcode;
61 	struct p80211item_uint32 numbss;
62 	struct p80211item_uint32 append;
63 } __packed;
64 
65 struct p80211msg_dot11req_scan_results {
66 	u32 msgcode;
67 	u32 msglen;
68 	u8 devname[WLAN_DEVNAMELEN_MAX];
69 	struct p80211item_uint32 bssindex;
70 	struct p80211item_uint32 resultcode;
71 	struct p80211item_uint32 signal;
72 	struct p80211item_uint32 noise;
73 	struct p80211item_pstr6 bssid;
74 	u8 pad_3C[1];
75 	struct p80211item_pstr32 ssid;
76 	u8 pad_4D[3];
77 	struct p80211item_uint32 bsstype;
78 	struct p80211item_uint32 beaconperiod;
79 	struct p80211item_uint32 dtimperiod;
80 	struct p80211item_uint32 timestamp;
81 	struct p80211item_uint32 localtime;
82 	struct p80211item_uint32 fhdwelltime;
83 	struct p80211item_uint32 fhhopset;
84 	struct p80211item_uint32 fhhoppattern;
85 	struct p80211item_uint32 fhhopindex;
86 	struct p80211item_uint32 dschannel;
87 	struct p80211item_uint32 cfpcount;
88 	struct p80211item_uint32 cfpperiod;
89 	struct p80211item_uint32 cfpmaxduration;
90 	struct p80211item_uint32 cfpdurremaining;
91 	struct p80211item_uint32 ibssatimwindow;
92 	struct p80211item_uint32 cfpollable;
93 	struct p80211item_uint32 cfpollreq;
94 	struct p80211item_uint32 privacy;
95 	struct p80211item_uint32 capinfo;
96 	struct p80211item_uint32 basicrate[8];
97 	struct p80211item_uint32 supprate[8];
98 } __packed;
99 
100 struct p80211msg_dot11req_start {
101 	u32 msgcode;
102 	u32 msglen;
103 	u8 devname[WLAN_DEVNAMELEN_MAX];
104 	struct p80211item_pstr32 ssid;
105 	u8 pad_12D[3];
106 	struct p80211item_uint32 bsstype;
107 	struct p80211item_uint32 beaconperiod;
108 	struct p80211item_uint32 dtimperiod;
109 	struct p80211item_uint32 cfpperiod;
110 	struct p80211item_uint32 cfpmaxduration;
111 	struct p80211item_uint32 fhdwelltime;
112 	struct p80211item_uint32 fhhopset;
113 	struct p80211item_uint32 fhhoppattern;
114 	struct p80211item_uint32 dschannel;
115 	struct p80211item_uint32 ibssatimwindow;
116 	struct p80211item_uint32 probedelay;
117 	struct p80211item_uint32 cfpollable;
118 	struct p80211item_uint32 cfpollreq;
119 	struct p80211item_uint32 basicrate1;
120 	struct p80211item_uint32 basicrate2;
121 	struct p80211item_uint32 basicrate3;
122 	struct p80211item_uint32 basicrate4;
123 	struct p80211item_uint32 basicrate5;
124 	struct p80211item_uint32 basicrate6;
125 	struct p80211item_uint32 basicrate7;
126 	struct p80211item_uint32 basicrate8;
127 	struct p80211item_uint32 operationalrate1;
128 	struct p80211item_uint32 operationalrate2;
129 	struct p80211item_uint32 operationalrate3;
130 	struct p80211item_uint32 operationalrate4;
131 	struct p80211item_uint32 operationalrate5;
132 	struct p80211item_uint32 operationalrate6;
133 	struct p80211item_uint32 operationalrate7;
134 	struct p80211item_uint32 operationalrate8;
135 	struct p80211item_uint32 resultcode;
136 } __packed;
137 
138 struct p80211msg_lnxreq_ifstate {
139 	u32 msgcode;
140 	u32 msglen;
141 	u8 devname[WLAN_DEVNAMELEN_MAX];
142 	struct p80211item_uint32 ifstate;
143 	struct p80211item_uint32 resultcode;
144 } __packed;
145 
146 struct p80211msg_lnxreq_wlansniff {
147 	u32 msgcode;
148 	u32 msglen;
149 	u8 devname[WLAN_DEVNAMELEN_MAX];
150 	struct p80211item_uint32 enable;
151 	struct p80211item_uint32 channel;
152 	struct p80211item_uint32 prismheader;
153 	struct p80211item_uint32 wlanheader;
154 	struct p80211item_uint32 keepwepflags;
155 	struct p80211item_uint32 stripfcs;
156 	struct p80211item_uint32 packet_trunc;
157 	struct p80211item_uint32 resultcode;
158 } __packed;
159 
160 struct p80211msg_lnxreq_hostwep {
161 	u32 msgcode;
162 	u32 msglen;
163 	u8 devname[WLAN_DEVNAMELEN_MAX];
164 	struct p80211item_uint32 resultcode;
165 	struct p80211item_uint32 decrypt;
166 	struct p80211item_uint32 encrypt;
167 } __packed;
168 
169 struct p80211msg_lnxreq_commsquality {
170 	u32 msgcode;
171 	u32 msglen;
172 	u8 devname[WLAN_DEVNAMELEN_MAX];
173 	struct p80211item_uint32 resultcode;
174 	struct p80211item_uint32 dbm;
175 	struct p80211item_uint32 link;
176 	struct p80211item_uint32 level;
177 	struct p80211item_uint32 noise;
178 	struct p80211item_uint32 txrate;
179 } __packed;
180 
181 struct p80211msg_lnxreq_autojoin {
182 	u32 msgcode;
183 	u32 msglen;
184 	u8 devname[WLAN_DEVNAMELEN_MAX];
185 	struct p80211item_pstr32 ssid;
186 	u8 pad_19D[3];
187 	struct p80211item_uint32 authtype;
188 	struct p80211item_uint32 resultcode;
189 } __packed;
190 
191 struct p80211msg_p2req_readpda {
192 	u32 msgcode;
193 	u32 msglen;
194 	u8 devname[WLAN_DEVNAMELEN_MAX];
195 	struct p80211item_unk1024 pda;
196 	struct p80211item_uint32 resultcode;
197 } __packed;
198 
199 struct p80211msg_p2req_ramdl_state {
200 	u32 msgcode;
201 	u32 msglen;
202 	u8 devname[WLAN_DEVNAMELEN_MAX];
203 	struct p80211item_uint32 enable;
204 	struct p80211item_uint32 exeaddr;
205 	struct p80211item_uint32 resultcode;
206 } __packed;
207 
208 struct p80211msg_p2req_ramdl_write {
209 	u32 msgcode;
210 	u32 msglen;
211 	u8 devname[WLAN_DEVNAMELEN_MAX];
212 	struct p80211item_uint32 addr;
213 	struct p80211item_uint32 len;
214 	struct p80211item_unk4096 data;
215 	struct p80211item_uint32 resultcode;
216 } __packed;
217 
218 struct p80211msg_p2req_flashdl_state {
219 	u32 msgcode;
220 	u32 msglen;
221 	u8 devname[WLAN_DEVNAMELEN_MAX];
222 	struct p80211item_uint32 enable;
223 	struct p80211item_uint32 resultcode;
224 } __packed;
225 
226 struct p80211msg_p2req_flashdl_write {
227 	u32 msgcode;
228 	u32 msglen;
229 	u8 devname[WLAN_DEVNAMELEN_MAX];
230 	struct p80211item_uint32 addr;
231 	struct p80211item_uint32 len;
232 	struct p80211item_unk4096 data;
233 	struct p80211item_uint32 resultcode;
234 } __packed;
235 
236 #endif
237