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
19struct ndis_events_data;
20struct ndis_events_data * ndis_events_init(HANDLE *read_pipe, HANDLE *event,
21					   const char *ifname,
22					   const char *desc);
23void ndis_events_deinit(struct ndis_events_data *events);
24#endif /* CONFIG_NDIS_EVENTS_INTEGRATED */
25
26struct ndis_pmkid_entry {
27	struct ndis_pmkid_entry *next;
28	u8 bssid[ETH_ALEN];
29	u8 pmkid[16];
30};
31
32struct 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 native80211;
56	int mode;
57	int wzc_disabled;
58	int oid_bssid_set;
59#ifdef CONFIG_NDIS_EVENTS_INTEGRATED
60	HANDLE events_pipe, event_avail;
61	struct ndis_events_data *events;
62#endif /* CONFIG_NDIS_EVENTS_INTEGRATED */
63};
64
65#endif /* DRIVER_NDIS_H */
66