driver_ndis.c File Reference

WPA Supplicant - Windows/NDIS driver interface. More...

#include "includes.h"
#include <Packet32.h>
#include <ntddndis.h>
#include "common.h"
#include "driver.h"
#include "eloop.h"
#include "ieee802_11_defs.h"
#include "driver_ndis.h"

Data Structures

struct  NDIS_802_11_SSID
struct  NDIS_802_11_CONFIGURATION_FH
struct  NDIS_802_11_CONFIGURATION
struct  NDIS_WLAN_BSSID_EX
struct  NDIS_802_11_BSSID_LIST_EX
struct  NDIS_802_11_FIXED_IEs
struct  NDIS_802_11_WEP
struct  NDIS_802_11_KEY
struct  NDIS_802_11_REMOVE_KEY
struct  NDIS_802_11_AI_REQFI
struct  NDIS_802_11_AI_RESFI
struct  NDIS_802_11_ASSOCIATION_INFORMATION
struct  NDIS_802_11_AUTHENTICATION_ENCRYPTION
struct  NDIS_802_11_CAPABILITY
struct  BSSID_INFO
struct  NDIS_802_11_PMKID
struct  NDIS_802_11_STATUS_INDICATION
struct  PMKID_CANDIDATE
struct  NDIS_802_11_PMKID_CANDIDATE_LIST
struct  NDIS_802_11_AUTHENTICATION_REQUEST
struct  _DOT11_SCAN_REQUEST_V2

Defines

#define OID_802_11_BSSID   0x0d010101
#define OID_802_11_SSID   0x0d010102
#define OID_802_11_INFRASTRUCTURE_MODE   0x0d010108
#define OID_802_11_ADD_WEP   0x0D010113
#define OID_802_11_REMOVE_WEP   0x0D010114
#define OID_802_11_DISASSOCIATE   0x0D010115
#define OID_802_11_BSSID_LIST   0x0d010217
#define OID_802_11_AUTHENTICATION_MODE   0x0d010118
#define OID_802_11_PRIVACY_FILTER   0x0d010119
#define OID_802_11_BSSID_LIST_SCAN   0x0d01011A
#define OID_802_11_WEP_STATUS   0x0d01011B
#define OID_802_11_ENCRYPTION_STATUS   OID_802_11_WEP_STATUS
#define OID_802_11_ADD_KEY   0x0d01011D
#define OID_802_11_REMOVE_KEY   0x0d01011E
#define OID_802_11_ASSOCIATION_INFORMATION   0x0d01011F
#define OID_802_11_TEST   0x0d010120
#define OID_802_11_CAPABILITY   0x0d010122
#define OID_802_11_PMKID   0x0d010123
#define NDIS_802_11_LENGTH_SSID   32
#define NDIS_802_11_LENGTH_RATES   8
#define NDIS_802_11_LENGTH_RATES_EX   16
#define NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED   0x01
#define NDIS_802_11_AUTH_REQUEST_REAUTH   0x01
#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE   0x02
#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR   0x06
#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR   0x0E
#define OID_DOT11_NDIS_START   0x0D010300
#define OID_DOT11_CURRENT_OPERATION_MODE   (OID_DOT11_NDIS_START + 8)
#define OID_DOT11_SCAN_REQUEST   (OID_DOT11_NDIS_START + 11)
#define MAX_ADAPTERS   32

Typedefs

typedef UCHAR NDIS_802_11_MAC_ADDRESS [6]
typedef LONG NDIS_802_11_RSSI
typedef enum NDIS_802_11_WEP_STATUS NDIS_802_11_ENCRYPTION_STATUS
typedef UCHAR NDIS_802_11_RATES [NDIS_802_11_LENGTH_RATES]
typedef UCHAR NDIS_802_11_RATES_EX [NDIS_802_11_LENGTH_RATES_EX]
typedef ULONG NDIS_802_11_KEY_INDEX
typedef ULONGLONG NDIS_802_11_KEY_RSC
typedef UCHAR NDIS_802_11_PMKID_VALUE [16]
typedef enum _DOT11_BSS_TYPE DOT11_BSS_TYPE
typedef enum _DOT11_BSS_TYPE * PDOT11_BSS_TYPE
typedef UCHAR DOT11_MAC_ADDRESS [6]
typedef DOT11_MAC_ADDRESS * PDOT11_MAC_ADDRESS
typedef enum _DOT11_SCAN_TYPE DOT11_SCAN_TYPE
typedef enum _DOT11_SCAN_TYPE * PDOT11_SCAN_TYPE
typedef struct
_DOT11_SCAN_REQUEST_V2 
DOT11_SCAN_REQUEST_V2
typedef struct
_DOT11_SCAN_REQUEST_V2
PDOT11_SCAN_REQUEST_V2

Enumerations

enum  NDIS_802_11_NETWORK_TYPE {
  Ndis802_11FH, Ndis802_11DS, Ndis802_11OFDM5, Ndis802_11OFDM24,
  Ndis802_11NetworkTypeMax
}
enum  NDIS_802_11_NETWORK_INFRASTRUCTURE { Ndis802_11IBSS, Ndis802_11Infrastructure, Ndis802_11AutoUnknown, Ndis802_11InfrastructureMax }
enum  NDIS_802_11_AUTHENTICATION_MODE {
  Ndis802_11AuthModeOpen, Ndis802_11AuthModeShared, Ndis802_11AuthModeAutoSwitch, Ndis802_11AuthModeWPA,
  Ndis802_11AuthModeWPAPSK, Ndis802_11AuthModeWPANone, Ndis802_11AuthModeWPA2, Ndis802_11AuthModeWPA2PSK,
  Ndis802_11AuthModeMax
}
enum  NDIS_802_11_WEP_STATUS {
  Ndis802_11WEPEnabled, Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled, Ndis802_11WEPDisabled, Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,
  Ndis802_11WEPKeyAbsent, Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent, Ndis802_11WEPNotSupported, Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,
  Ndis802_11Encryption2Enabled, Ndis802_11Encryption2KeyAbsent, Ndis802_11Encryption3Enabled, Ndis802_11Encryption3KeyAbsent
}
enum  NDIS_802_11_PRIVACY_FILTER { Ndis802_11PrivFilterAcceptAll, Ndis802_11PrivFilter8021xWEP }
enum  NDIS_802_11_STATUS_TYPE { Ndis802_11StatusType_Authentication, Ndis802_11StatusType_PMKID_CandidateList = 2, Ndis802_11StatusTypeMax }
enum  _DOT11_BSS_TYPE { dot11_BSS_type_infrastructure = 1, dot11_BSS_type_independent = 2, dot11_BSS_type_any = 3 }
enum  _DOT11_SCAN_TYPE { dot11_scan_type_active = 1, dot11_scan_type_passive = 2, dot11_scan_type_auto = 3, dot11_scan_type_forced = 0x80000000 }

Functions

int wpa_driver_register_event_cb (struct wpa_driver_ndis_data *drv)
void wpa_driver_ndis_event_connect (struct wpa_driver_ndis_data *drv)
void wpa_driver_ndis_event_disconnect (struct wpa_driver_ndis_data *drv)
void wpa_driver_ndis_event_media_specific (struct wpa_driver_ndis_data *drv, const u8 *data, size_t data_len)
void wpa_driver_ndis_event_adapter_arrival (struct wpa_driver_ndis_data *drv)
void wpa_driver_ndis_event_adapter_removal (struct wpa_driver_ndis_data *drv)

Variables

struct wpa_driver_ops wpa_driver_ndis_ops

Detailed Description

WPA Supplicant - Windows/NDIS driver interface.

Copyright
Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Alternatively, this software may be distributed under the terms of BSD license.

See README and COPYING for more details.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on Sat Nov 28 23:07:50 2009 for wpa_supplicant/hostapd by  doxygen 1.6.1