18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WPA Supplicant - Windows/NDIS driver interface 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2004-2006, Jouni Malinen <j@w1.fi> 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef DRIVER_NDIS_H 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define DRIVER_NDIS_H 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef CONFIG_NDIS_EVENTS_INTEGRATED 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct ndis_events_data; 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct ndis_events_data * ndis_events_init(HANDLE *read_pipe, HANDLE *event, 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt const char *ifname, 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt const char *desc); 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid ndis_events_deinit(struct ndis_events_data *events); 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* CONFIG_NDIS_EVENTS_INTEGRATED */ 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct ndis_pmkid_entry { 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct ndis_pmkid_entry *next; 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 bssid[ETH_ALEN]; 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 pmkid[16]; 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct wpa_driver_ndis_data { 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void *ctx; 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt char ifname[100]; /* GUID: {7EE3EFE5-C165-472F-986D-F6FBEDFE8C8D} */ 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef _WIN32_WCE 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt TCHAR *adapter_name; 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt HANDLE event_queue; /* NDISUIO notifier MsgQueue */ 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt HANDLE connected_event; /* WpaSupplicantConnected event */ 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* _WIN32_WCE */ 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 own_addr[ETH_ALEN]; 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef CONFIG_USE_NDISUIO 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt HANDLE ndisuio; 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#else /* CONFIG_USE_NDISUIO */ 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt LPADAPTER adapter; 398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* CONFIG_USE_NDISUIO */ 408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 bssid[ETH_ALEN]; 418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int has_capability; 438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int no_of_pmkid; 448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int radio_enabled; 458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct wpa_driver_capa capa; 468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct ndis_pmkid_entry *pmkid; 478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt char *adapter_desc; 488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int wired; 498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int native80211; 508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int mode; 518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int wzc_disabled; 528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int oid_bssid_set; 538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef CONFIG_NDIS_EVENTS_INTEGRATED 548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt HANDLE events_pipe, event_avail; 558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct ndis_events_data *events; 568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* CONFIG_NDIS_EVENTS_INTEGRATED */ 578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* DRIVER_NDIS_H */ 60