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
29struct 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
37struct 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
45struct 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
65struct 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
100struct 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
138struct 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
146struct 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
160struct 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
169struct 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
181struct 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
191struct 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
199struct 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
208struct 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
218struct 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
226struct 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