wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
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 "common/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
 

Macros

#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 struct NDIS_802_11_SSID NDIS_802_11_SSID
 
typedef LONG NDIS_802_11_RSSI
 
typedef enum
NDIS_802_11_NETWORK_TYPE 
NDIS_802_11_NETWORK_TYPE
 
typedef struct
NDIS_802_11_CONFIGURATION_FH 
NDIS_802_11_CONFIGURATION_FH
 
typedef struct
NDIS_802_11_CONFIGURATION 
NDIS_802_11_CONFIGURATION
 
typedef enum
NDIS_802_11_NETWORK_INFRASTRUCTURE 
NDIS_802_11_NETWORK_INFRASTRUCTURE
 
typedef enum
NDIS_802_11_AUTHENTICATION_MODE 
NDIS_802_11_AUTHENTICATION_MODE
 
typedef enum NDIS_802_11_WEP_STATUS NDIS_802_11_WEP_STATUS
 
typedef enum NDIS_802_11_WEP_STATUS NDIS_802_11_ENCRYPTION_STATUS
 
typedef enum
NDIS_802_11_PRIVACY_FILTER 
NDIS_802_11_PRIVACY_FILTER
 
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 struct NDIS_WLAN_BSSID_EX NDIS_WLAN_BSSID_EX
 
typedef struct
NDIS_802_11_BSSID_LIST_EX 
NDIS_802_11_BSSID_LIST_EX
 
typedef struct
NDIS_802_11_FIXED_IEs 
NDIS_802_11_FIXED_IEs
 
typedef struct NDIS_802_11_WEP NDIS_802_11_WEP
 
typedef ULONG NDIS_802_11_KEY_INDEX
 
typedef ULONGLONG NDIS_802_11_KEY_RSC
 
typedef struct NDIS_802_11_KEY NDIS_802_11_KEY
 
typedef struct
NDIS_802_11_REMOVE_KEY 
NDIS_802_11_REMOVE_KEY
 
typedef struct NDIS_802_11_AI_REQFI NDIS_802_11_AI_REQFI
 
typedef struct NDIS_802_11_AI_RESFI NDIS_802_11_AI_RESFI
 
typedef struct
NDIS_802_11_ASSOCIATION_INFORMATION 
NDIS_802_11_ASSOCIATION_INFORMATION
 
typedef struct
NDIS_802_11_AUTHENTICATION_ENCRYPTION 
NDIS_802_11_AUTHENTICATION_ENCRYPTION
 
typedef struct
NDIS_802_11_CAPABILITY 
NDIS_802_11_CAPABILITY
 
typedef UCHAR NDIS_802_11_PMKID_VALUE [16]
 
typedef struct BSSID_INFO BSSID_INFO
 
typedef struct NDIS_802_11_PMKID NDIS_802_11_PMKID
 
typedef enum
NDIS_802_11_STATUS_TYPE 
NDIS_802_11_STATUS_TYPE
 
typedef struct
NDIS_802_11_STATUS_INDICATION 
NDIS_802_11_STATUS_INDICATION
 
typedef struct PMKID_CANDIDATE PMKID_CANDIDATE
 
typedef struct
NDIS_802_11_PMKID_CANDIDATE_LIST 
NDIS_802_11_PMKID_CANDIDATE_LIST
 
typedef struct
NDIS_802_11_AUTHENTICATION_REQUEST 
NDIS_802_11_AUTHENTICATION_REQUEST
 
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)
 
void driver_ndis_init_ops (void)
 

Variables

struct wpa_driver_ops wpa_driver_ndis_ops
 

Detailed Description

WPA Supplicant - Windows/NDIS driver interface.