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