xref: /freebsd/contrib/wpa/src/drivers/driver_ndis.h (revision 195ebc7e9e4b129de810833791a19dfb4349d6a9)
1 /*
2  * WPA Supplicant - Windows/NDIS driver interface
3  * Copyright (c) 2004-2006, Jouni Malinen <j@w1.fi>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14 
15 #ifndef DRIVER_NDIS_H
16 #define DRIVER_NDIS_H
17 
18 #ifdef CONFIG_NDIS_EVENTS_INTEGRATED
19 struct ndis_events_data;
20 struct ndis_events_data * ndis_events_init(HANDLE *read_pipe, HANDLE *event,
21 					   const char *ifname,
22 					   const char *desc);
23 void ndis_events_deinit(struct ndis_events_data *events);
24 #endif /* CONFIG_NDIS_EVENTS_INTEGRATED */
25 
26 struct ndis_pmkid_entry {
27 	struct ndis_pmkid_entry *next;
28 	u8 bssid[ETH_ALEN];
29 	u8 pmkid[16];
30 };
31 
32 struct wpa_driver_ndis_data {
33 	void *ctx;
34 	char ifname[100]; /* GUID: {7EE3EFE5-C165-472F-986D-F6FBEDFE8C8D} */
35 #ifdef _WIN32_WCE
36 	TCHAR *adapter_name;
37 	HANDLE event_queue; /* NDISUIO notifier MsgQueue */
38 	HANDLE connected_event; /* WpaSupplicantConnected event */
39 #endif /* _WIN32_WCE */
40 	u8 own_addr[ETH_ALEN];
41 #ifdef CONFIG_USE_NDISUIO
42 	HANDLE ndisuio;
43 #else /* CONFIG_USE_NDISUIO */
44 	LPADAPTER adapter;
45 #endif /* CONFIG_USE_NDISUIO */
46 	u8 bssid[ETH_ALEN];
47 
48 	int has_capability;
49 	int no_of_pmkid;
50 	int radio_enabled;
51 	struct wpa_driver_capa capa;
52 	struct ndis_pmkid_entry *pmkid;
53 	char *adapter_desc;
54 	int wired;
55 	int mode;
56 	int wzc_disabled;
57 	int oid_bssid_set;
58 #ifdef CONFIG_NDIS_EVENTS_INTEGRATED
59 	HANDLE events_pipe, event_avail;
60 	struct ndis_events_data *events;
61 #endif /* CONFIG_NDIS_EVENTS_INTEGRATED */
62 };
63 
64 #endif /* DRIVER_NDIS_H */
65