driver_ndis.h revision 189251
1189251Ssam/*
2189251Ssam * WPA Supplicant - Windows/NDIS driver interface
3189251Ssam * Copyright (c) 2004-2006, Jouni Malinen <j@w1.fi>
4189251Ssam *
5189251Ssam * This program is free software; you can redistribute it and/or modify
6189251Ssam * it under the terms of the GNU General Public License version 2 as
7189251Ssam * published by the Free Software Foundation.
8189251Ssam *
9189251Ssam * Alternatively, this software may be distributed under the terms of BSD
10189251Ssam * license.
11189251Ssam *
12189251Ssam * See README and COPYING for more details.
13189251Ssam */
14189251Ssam
15189251Ssam#ifndef DRIVER_NDIS_H
16189251Ssam#define DRIVER_NDIS_H
17189251Ssam
18189251Ssam#ifdef CONFIG_NDIS_EVENTS_INTEGRATED
19189251Ssamstruct ndis_events_data;
20189251Ssamstruct ndis_events_data * ndis_events_init(HANDLE *read_pipe, HANDLE *event,
21189251Ssam					   const char *ifname,
22189251Ssam					   const char *desc);
23189251Ssamvoid ndis_events_deinit(struct ndis_events_data *events);
24189251Ssam#endif /* CONFIG_NDIS_EVENTS_INTEGRATED */
25189251Ssam
26189251Ssamstruct ndis_pmkid_entry {
27189251Ssam	struct ndis_pmkid_entry *next;
28189251Ssam	u8 bssid[ETH_ALEN];
29189251Ssam	u8 pmkid[16];
30189251Ssam};
31189251Ssam
32189251Ssamstruct wpa_driver_ndis_data {
33189251Ssam	void *ctx;
34189251Ssam	char ifname[100]; /* GUID: {7EE3EFE5-C165-472F-986D-F6FBEDFE8C8D} */
35189251Ssam#ifdef _WIN32_WCE
36189251Ssam	TCHAR *adapter_name;
37189251Ssam	HANDLE event_queue; /* NDISUIO notifier MsgQueue */
38189251Ssam	HANDLE connected_event; /* WpaSupplicantConnected event */
39189251Ssam#endif /* _WIN32_WCE */
40189251Ssam	u8 own_addr[ETH_ALEN];
41189251Ssam#ifdef CONFIG_USE_NDISUIO
42189251Ssam	HANDLE ndisuio;
43189251Ssam#else /* CONFIG_USE_NDISUIO */
44189251Ssam	LPADAPTER adapter;
45189251Ssam#endif /* CONFIG_USE_NDISUIO */
46189251Ssam	u8 bssid[ETH_ALEN];
47189251Ssam
48189251Ssam	int has_capability;
49189251Ssam	int no_of_pmkid;
50189251Ssam	int radio_enabled;
51189251Ssam	struct wpa_driver_capa capa;
52189251Ssam	struct ndis_pmkid_entry *pmkid;
53189251Ssam	char *adapter_desc;
54189251Ssam	int wired;
55189251Ssam	int mode;
56189251Ssam	int wzc_disabled;
57189251Ssam	int oid_bssid_set;
58189251Ssam#ifdef CONFIG_NDIS_EVENTS_INTEGRATED
59189251Ssam	HANDLE events_pipe, event_avail;
60189251Ssam	struct ndis_events_data *events;
61189251Ssam#endif /* CONFIG_NDIS_EVENTS_INTEGRATED */
62189251Ssam};
63189251Ssam
64189251Ssam#endif /* DRIVER_NDIS_H */
65