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
13struct ndis_events_data;
14struct ndis_events_data * ndis_events_init(HANDLE *read_pipe, HANDLE *event,
15					   const char *ifname,
16					   const char *desc);
17void ndis_events_deinit(struct ndis_events_data *events);
18#endif /* CONFIG_NDIS_EVENTS_INTEGRATED */
19
20struct ndis_pmkid_entry {
21	struct ndis_pmkid_entry *next;
22	u8 bssid[ETH_ALEN];
23	u8 pmkid[16];
24};
25
26struct 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