driver_ndis.c File Reference

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

#include <stdlib.h>
#include <Packet32.h>
#include <stdio.h>
#include <string.h>
#include <sys/unistd.h>
#include <ntddndis.h>
#include "common.h"
#include "driver.h"
#include "wpa_supplicant.h"
#include "l2_packet.h"
#include "eloop.h"
#include "wpa.h"
#include "driver_ndis.h"

Include dependency graph for driver_ndis.c:

Go to the source code of this file.

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

Typedefs

typedef UCHAR NDIS_802_11_MAC_ADDRESS [6]
typedef 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 NDIS_802_11_CONFIGURATION_FH NDIS_802_11_CONFIGURATION_FH
typedef 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 NDIS_WLAN_BSSID_EX NDIS_WLAN_BSSID_EX
typedef NDIS_802_11_BSSID_LIST_EX NDIS_802_11_BSSID_LIST_EX
typedef NDIS_802_11_FIXED_IEs NDIS_802_11_FIXED_IEs
typedef NDIS_802_11_WEP NDIS_802_11_WEP
typedef ULONG NDIS_802_11_KEY_INDEX
typedef ULONGLONG NDIS_802_11_KEY_RSC
typedef NDIS_802_11_KEY NDIS_802_11_KEY
typedef NDIS_802_11_REMOVE_KEY NDIS_802_11_REMOVE_KEY
typedef NDIS_802_11_AI_REQFI NDIS_802_11_AI_REQFI
typedef NDIS_802_11_AI_RESFI NDIS_802_11_AI_RESFI
typedef NDIS_802_11_ASSOCIATION_INFORMATION NDIS_802_11_ASSOCIATION_INFORMATION
typedef NDIS_802_11_AUTHENTICATION_ENCRYPTION NDIS_802_11_AUTHENTICATION_ENCRYPTION
typedef NDIS_802_11_CAPABILITY NDIS_802_11_CAPABILITY
typedef UCHAR NDIS_802_11_PMKID_VALUE [16]
typedef BSSID_INFO BSSID_INFO
typedef NDIS_802_11_PMKID NDIS_802_11_PMKID
typedef enum NDIS_802_11_STATUS_TYPE NDIS_802_11_STATUS_TYPE
typedef NDIS_802_11_STATUS_INDICATION NDIS_802_11_STATUS_INDICATION
typedef PMKID_CANDIDATE PMKID_CANDIDATE
typedef NDIS_802_11_PMKID_CANDIDATE_LIST NDIS_802_11_PMKID_CANDIDATE_LIST
typedef NDIS_802_11_AUTHENTICATION_REQUEST NDIS_802_11_AUTHENTICATION_REQUEST

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 }

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)

Variables

const struct wpa_driver_ops wpa_driver_ndis_ops


Detailed Description

WPA Supplicant - Windows/NDIS driver interface.

Copyright
Copyright (c) 2004-2005, Jouni Malinen <[email protected]>
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.

Definition in file driver_ndis.c.


Variable Documentation

const struct wpa_driver_ops wpa_driver_ndis_ops
 

Initial value:

 {
        .name = "ndis",
        .desc = "Windows NDIS driver",
        .init = wpa_driver_ndis_init,
        .deinit = wpa_driver_ndis_deinit,
        .set_wpa = wpa_driver_ndis_set_wpa,
        .scan = wpa_driver_ndis_scan,
        .get_scan_results = wpa_driver_ndis_get_scan_results,
        .get_bssid = wpa_driver_ndis_get_bssid,
        .get_ssid = wpa_driver_ndis_get_ssid,
        .set_key = wpa_driver_ndis_set_key,
        .associate = wpa_driver_ndis_associate,
        .deauthenticate = wpa_driver_ndis_deauthenticate,
        .disassociate = wpa_driver_ndis_disassociate,
        .poll = wpa_driver_ndis_poll,
        .add_pmkid = wpa_driver_ndis_add_pmkid,
        .remove_pmkid = wpa_driver_ndis_remove_pmkid,
        .flush_pmkid = wpa_driver_ndis_flush_pmkid,
        .get_capa = wpa_driver_ndis_get_capa,
        .get_ifname = wpa_driver_ndis_get_ifname,
        .get_mac_addr = wpa_driver_ndis_get_mac_addr,
}

Definition at line 1680 of file driver_ndis.c.


Generated on Sat May 6 21:14:56 2006 for wpa_supplicant by  doxygen 1.4.2