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