503 lines
18 KiB
C
503 lines
18 KiB
C
/* ipwlan_atheros.h - Structures for atheros wlan driver */
|
|
|
|
/*
|
|
******************************************************************************
|
|
* INTERPEAK API HEADER FILE
|
|
*
|
|
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipwlan_atheros.h,v $ $Revision: 1.5 $
|
|
* $Source: /home/interpeak/CVSRoot/ipwlan/include/ipwlan_atheros.h,v $
|
|
* $Author: ulf $ $Date: 2009-11-25 09:59:10 $
|
|
* $State: Exp $ $Locker: $
|
|
*
|
|
* Copyright 2000-2007 Interpeak AB (http://www.interpeak.se). All rights reserved.
|
|
* Design and implementation by Kenneth Jonsson <kenneth@interpeak.se>
|
|
******************************************************************************
|
|
*/
|
|
#ifndef IPWLAN_ATHEROS_H
|
|
#define IPWLAN_ATHEROS_H
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 1 DESCRIPTION
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
DESCRIPTION
|
|
This library contains structures used by the Broadcom wlan driver
|
|
*/
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 2 CONFIGURATION
|
|
****************************************************************************
|
|
*/
|
|
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 3 INCLUDE FILES
|
|
****************************************************************************
|
|
*/
|
|
|
|
#include <ipcom_type.h>
|
|
#include <ipcom_cstyle.h>
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 4 DEFINES
|
|
****************************************************************************
|
|
*/
|
|
|
|
#define ATH_IOC_USER 0x8000
|
|
#define ATH_IOCPARM_MASK 0xfff
|
|
#define ATH_IOC(inout,group,num,len) \
|
|
((Ip_u32)(inout | ((len & ATH_IOCPARM_MASK) << 16) | \
|
|
((group) << 8) | (num)))
|
|
#define ATH_IO(g,n) ATH_IOC(IP_IOC_VOID,(g),(n),0)
|
|
#define ATH_IOR(g,n,t) ATH_IOC(IP_IOC_OUT,(g),(n),sizeof(t))
|
|
#define ATH_IOW(g,n,t) ATH_IOC(IP_IOC_IN,(g),(n),sizeof(t))
|
|
#define ATH_IOWR(g,n,t) ATH_IOC(IP_IOC_INOUT,(g),(n),sizeof(t))
|
|
#define ATH_IOU(g,n) (ATH_IOC_USER|ATH_IO(g,n))
|
|
#define ATH_IORU(g,n,t) (ATH_IOC_USER|ATH_IOR(g,n,t))
|
|
#define ATH_IOWU(g,n,t) (ATH_IOC_USER|ATH_IOW(g,n,t))
|
|
#define ATH_IOWRU(g,n,t) (ATH_IOC_USER|ATH_IOWR(g,n,t))
|
|
|
|
#ifndef _BIT
|
|
#define _BIT(x) (1<<(x))
|
|
#endif
|
|
|
|
/* Error codes */
|
|
|
|
#define IPWLAN_ATHEROS_ERR_FAILED -1
|
|
#define IPWLAN_ATHEROS_ERR_UNSUPPORTED -2
|
|
#define IPWLAN_ATHEROS_ERR_INVALID_ARG -3
|
|
#define IPWLAN_ATHEROS_ERR_INVALID_MODE -4
|
|
|
|
/* Debug values, macros */
|
|
|
|
#define IPWLAN_ATHEROS_MAX_DEBUG (sizeof(ipwlan_atheros_debuglevels)/sizeof(Ipcom_iw_debug_level))
|
|
#define IPWLAN_ATHEROS_MAX_STATS 33
|
|
|
|
#define DOT11_MAX_CHANNELS 64
|
|
#define DOT11_MAX_DEFAULT_KEY 4
|
|
#define DOT11_PASSPHRASE_LEN 63
|
|
typedef char DOT11_PASSPHRASE[DOT11_PASSPHRASE_LEN];
|
|
|
|
#define DOT11_DEBUG_FATAL 1
|
|
#define DOT11_DEBUG_ERROR 2
|
|
#define DOT11_DEBUG_INFO 3
|
|
#define DOT11_DEBUG_FLOOD 4
|
|
#define DOT11_DEBUG_NONE 0
|
|
#define DOT11_AREA_ALL 0
|
|
#define DOT11_AREA_INIT 1
|
|
#define DOT11_AREA_SME 2
|
|
#define DOT11_AREA_DPE 3
|
|
#define DOT11_AREA_HDD 4
|
|
#define DOT11_AREA_INT 5
|
|
#define ATH_DBG_AREAS 6
|
|
#define ATH_DBG_NONE 0
|
|
#define ATH_DBG_ALL 1
|
|
#define ATH_DBG_INFO 2
|
|
#define ATH_DBG_ERROR 4
|
|
#define ATH_DBG_FATAL 8
|
|
#define ATH_DBG_ALL_SHIFT 0
|
|
#define ATH_DBG_INIT_SHIFT 4
|
|
#define ATH_DBG_STATE_SHIFT 8
|
|
#define ATH_DBG_DATA_SHIFT 12
|
|
#define ATH_DBG_HW_SHIFT 16
|
|
#define ATH_DBG_ISR_SHIFT 20
|
|
#define ATH_DBG_ALL_NONE 0x00000000
|
|
#define ATH_DBG_ALL_ALL 0x00000004
|
|
#define ATH_DBG_ALL_INFO 0x00000003
|
|
#define ATH_DBG_ALL_ERROR 0x00000002
|
|
#define ATH_DBG_ALL_FATAL 0x00000001
|
|
#define ATH_DBG_INIT_NONE 0x01000000
|
|
#define ATH_DBG_INIT_ALL 0x01000040
|
|
#define ATH_DBG_INIT_INFO 0x01000030
|
|
#define ATH_DBG_INIT_ERROR 0x01000020
|
|
#define ATH_DBG_INIT_FATAL 0x01000010
|
|
#define ATH_DBG_STATE_NONE 0x02000000
|
|
#define ATH_DBG_STATE_ALL 0x02000400
|
|
#define ATH_DBG_STATE_INFO 0x02000300
|
|
#define ATH_DBG_STATE_ERROR 0x02000200
|
|
#define ATH_DBG_STATE_FATAL 0x02000100
|
|
#define ATH_DBG_DATA_NONE 0x04000000
|
|
#define ATH_DBG_DATA_ALL 0x04004000
|
|
#define ATH_DBG_DATA_INFO 0x04003000
|
|
#define ATH_DBG_DATA_ERROR 0x04002000
|
|
#define ATH_DBG_DATA_FATAL 0x04001000
|
|
#define ATH_DBG_HW_NONE 0x08000000
|
|
#define ATH_DBG_HW_ALL 0x08040000
|
|
#define ATH_DBG_HW_INFO 0x08030000
|
|
#define ATH_DBG_HW_ERROR 0x08020000
|
|
#define ATH_DBG_HW_FATAL 0x08010000
|
|
#define ATH_DBG_ISR_NONE 0x10000000
|
|
#define ATH_DBG_ISR_ALL 0x10400000
|
|
#define ATH_DBG_ISR_INFO 0x10300000
|
|
#define ATH_DBG_ISR_ERROR 0x10200000
|
|
#define ATH_DBG_ISR_FATAL 0x10100000
|
|
|
|
#define MAX_TEXT_LEN 100
|
|
#define DOT11_ADDR_LEN 6
|
|
#define DOT11_SSID_LEN 32
|
|
#define MAX_CHANNEL_NO (sizeof(ipwlan_atheros_freq)/sizeof(int))
|
|
#define DOT11_MODE_NONE 0
|
|
#define DOT11_MODE_ESS 1
|
|
#define DOT11_MODE_IBSS 2
|
|
#define DOT11_MODE_AP 3
|
|
#define DOT11_MAX_RATES 256
|
|
#define DOT11_MAX_SCANRESULTS 50
|
|
#define DOT11_RATE(x) (((x) & 0x7f) / 2)
|
|
#define DOT11_RATE_MASK(x) (((x) & 0x7f))
|
|
#define DOT11_IS_BRATE(x) (((x) & 0x80) == 0x80)
|
|
#define ALIGN_UP_4(a) (((a)+3)&(~0<<2))
|
|
#define CHANNEL_MASK(c) ((c) & 0xff)
|
|
#define DOT11_KSL_MAX_HASH 256
|
|
#define DOT11_ACL_DISABLED 0
|
|
#define DOT11_ACL_ALLOW 1
|
|
#define DOT11_ACL_DENY 2
|
|
#define DOT11_SCANTYPE_ACTIVE _BIT(0)
|
|
#define DOT11_SCANTYPE_PASSIVE _BIT(1)
|
|
#define DOT11_TXPOWER_MAX 0
|
|
#define DOT11_TXPOWER_66 1
|
|
#define DOT11_TXPOWER_50 2
|
|
#define DOT11_TXPOWER_33 3
|
|
#define DOT11_TXPOWER_MIN 4
|
|
#define DOT11_AUTHTYPE_OPEN 1
|
|
#define DOT11_AUTHTYPE_SKA 2
|
|
#define DOT11_AUTHTYPE_ALL 3
|
|
#define DOT11_AUTHPOL_NONE 0
|
|
#define DOT11_AUTHPOL_8021X _BIT(0)
|
|
#define DOT11_AUTHPOL_PSK _BIT(1)
|
|
#define DOT11_AUTHPOL_MAX (DOT11_AUTHPOL_PSK + 1)
|
|
#define DOT11_SECPOL_NONE 0
|
|
#define DOT11_SECPOL_TSN _BIT(0)
|
|
#define DOT11_SECPOL_WPA _BIT(1)
|
|
#define DOT11_SECPOL_11i _BIT(2)
|
|
#define DOT11_CIPHPOL_NONE 0
|
|
#define DOT11_CIPHPOL_WEP40 _BIT(0)
|
|
#define DOT11_CIPHPOL_WEP104 _BIT(1)
|
|
#define DOT11_CIPHPOL_TKIP _BIT(2)
|
|
#define DOT11_CIPHPOL_AES _BIT(3)
|
|
#define DOT11_CIPHPOL_MAX (DOT11_CIPHPOL_AES + 1)
|
|
#define DOT11_WEP40_KEY_SIZE 5
|
|
#define DOT11_WEP104_KEY_SIZE 13
|
|
#define DOT11_AES_KEY_SIZE 16
|
|
#define DOT11_TKIP_KEY_SIZE 32
|
|
#define DOT11_MAX_WEP_KEY_INDEX 3
|
|
#define DOT11_KEYINDEX_SEARCH 65536
|
|
#define DOT11_RADIO_NONE 0
|
|
#define DOT11_RADIO_11a _BIT(0)
|
|
#define DOT11_RADIO_11b _BIT(1)
|
|
#define DOT11_RADIO_11g _BIT(2)
|
|
#define DOT11_RADIO_TURBOg _BIT(3)
|
|
#define DOT11_RADIO_TURBOa _BIT(4)
|
|
#define DOT11_RADIO_ANY 0x1f
|
|
|
|
/* Capability Information Field */
|
|
#define DOT11_CAP_ESS 0x0001 /* d11 cap. ESS */
|
|
#define DOT11_CAP_IBSS 0x0002 /* d11 cap. IBSS */
|
|
#define DOT11_CAP_PRIVACY 0x0010 /* d11 cap. privacy */
|
|
|
|
#define WIOCSDOT1XPORTSTATUS ATH_IOW('x', 0x01, DOT11_DOT1X_PORTSTATUS)
|
|
#define WIOCSAUTHCALLBACK ATH_IOW('x', 0x02, DOT11_CALLBACK_PARAMS)
|
|
#define WIOCGSTATS ATH_IORU('w', 0x001, DOT11_STATS)
|
|
#define WIOCGLINKSTAT 0x002
|
|
#define WIOCGDESIREDSSID ATH_IORU('w', 0x003, DOT11_SSID)
|
|
#define WIOCSSSID ATH_IOWU('w', 0x004, DOT11_SSID)
|
|
#define WIOCGCONNECTEDSSID ATH_IORU('w', 0x005, DOT11_SSID)
|
|
#define WIOCGCONNECTEDBSSID 0x006
|
|
#define WIOCGTXRATE ATH_IORU('w', 0x007, Ip_u32)
|
|
#define WIOCSTXRATE ATH_IOWU('w', 0x008, DOT11_RATES)
|
|
#define WIOCGPWRMAN ATH_IORU('w', 0x009, Ip_u32)
|
|
#define WIOCSPWRMAN ATH_IOU('w', 0x00a)
|
|
#define WIOCGCOMMQUAL 0x00b
|
|
#define WIOCGCARDTYPE 0x00c
|
|
#define WIOCGCHANNEL ATH_IORU('w', 0x00d, Ip_u32)
|
|
#define WIOCSCHANNEL ATH_IOU('w', 0x00e)
|
|
#define WIOCGWEPAVAIL 0x00f
|
|
#define WIOCSWEPKEY0 ATH_IOWU('w', 0x010, DOT11_KEY)
|
|
#define WIOCSWEPKEY1 ATH_IOWU('w', 0x011, DOT11_KEY)
|
|
#define WIOCSWEPKEY2 ATH_IOWU('w', 0x012, DOT11_KEY)
|
|
#define WIOCSWEPKEY3 ATH_IOWU('w', 0x013, DOT11_KEY)
|
|
#define WIOCSWEPDEFAULTKEY ATH_IOU('w', 0x014)
|
|
#define WIOCGENCRYPTTYPE ATH_IORU('w', 0x015, Ip_u32)
|
|
#define WIOCSENCRYPTTYPE ATH_IOU('w',0x016)
|
|
#define WIOCAACLSTA ATH_IOWU('w', 0x017, DOT11_ADDR)
|
|
#define WIOCDACLSTA ATH_IOWU('w', 0x018, DOT11_ADDR)
|
|
#define WIOCSEXUNENCRYPT 0x019
|
|
#define WIOCGEXUNENCRYPT 0x01a
|
|
#define WIOCGAUTHTYPE ATH_IORU('w', 0x01b, Ip_u32)
|
|
#define WIOCSAUTHTYPE ATH_IOU('w', 0x1c)
|
|
#define WIOCSBEACONRATE ATH_IOU('w', 0x01e)
|
|
#define WIOCGBEACONRATE ATH_IORU('w', 0x01f, Ip_u32)
|
|
#define WIOCGMAC 0x020
|
|
#define WIOCSCTSRTS ATH_IOU('w', 0x021)
|
|
#define WIOCGCTSRTS ATH_IORU('w', 0x022, Ip_u32)
|
|
#define WIOCSSHORTRETRY ATH_IOU('w', 0x023)
|
|
#define WIOCGSHORTRETRY ATH_IORU('w', 0x024, Ip_u32)
|
|
#define WIOCSLONGRETRY ATH_IOU('w', 0x025)
|
|
#define WIOCGLONGRETRY ATH_IORU('w', 0x026, Ip_u32)
|
|
#define WIOCSFRAGTHRESH ATH_IOU('w', 0x027)
|
|
#define WIOCGFRAGTHRESH ATH_IORU('w', 0x028, Ip_u32)
|
|
#define WIOCSMAXTXLIFE 0x029
|
|
#define WIOCGMAXTXLIFE 0x02a
|
|
#define WIOCSMAXRXLIFE 0x02b
|
|
#define WIOCGMAXRXLIFE 0x02c
|
|
#define WIOCSPREAMBLE 0x02d
|
|
#define WIOCGPREAMBLE 0x02e
|
|
#define WIOCSAUTHRESPTO 0x02f
|
|
#define WIOCGAUTHRESPTO 0x030
|
|
#define WIOCSADVSECURITY ATH_IOU('w', 0x035)
|
|
#define WIOCGADVSECURITY ATH_IORU('w', 0x036, Ip_u32)
|
|
#define WIOCSOCCUPANCY 0x037
|
|
#define WIOCGOCCUPANCY 0x038
|
|
#define WIOCGCFPPOLL 0x039
|
|
#define WIOCSCFPPERIOD 0x03a
|
|
#define WIOCGCFPPERIOD 0x03b
|
|
#define WIOCSCFPMAX 0x03c
|
|
#define WIOCGCFPMAX 0x03d
|
|
#define WIOCSDTIMRATE 0x03e
|
|
#define WIOCGDTIMRATE 0x03f
|
|
#define WIOCGSUPPTXRATE ATH_IORU('w', 0x040, DOT11_RATES)
|
|
#define WIOCGSUPPRXRATE ATH_IORU('w', 0x041, DOT11_RATES)
|
|
#define WIOCSASSOCRESPTIME 0x042
|
|
#define WIOCGASSOCRESPTIME 0x043
|
|
#define WIOCSBCASTRATE 0x044
|
|
#define WIOCGBCASTRATE 0x045
|
|
#define WIOCSRADIOMODE ATH_IOU('w', 0x046)
|
|
#define WIOCGRADIOMODE ATH_IORU('w', 0x047, Ip_u32)
|
|
#define WIOCSDOT11MODE ATH_IOU('w', 0x048)
|
|
#define WIOCGDOT11MODE ATH_IORU('w', 0x049, Ip_u32)
|
|
#define WIOCSACLMODE ATH_IOU('w', 0x04a)
|
|
#define WIOCGACLMODE ATH_IORU('w', 0x04b, Ip_u32)
|
|
#define WIOCGWEPDEFAULTKEY ATH_IORU('w' 0x04c, Ip_u32)
|
|
#define WIOCSDESIREDSSID 0x04d
|
|
#define WIOCUNSUPPORTED 0x04e
|
|
#define WIOCAPAIRWISEKEY ATH_IOWU('w', 0x04f, DOT11_KEY)
|
|
#define WIOCSSECPOL ATH_IOU('w', 0x050)
|
|
#define WIOCGSECPOL ATH_IORU('w', 0x051, Ip_u32)
|
|
#define WIOCSAUTHPOL ATH_IOU('w', 0x052)
|
|
#define WIOCGAUTHPOL ATH_IORU('w', 0x053, Ip_u32)
|
|
#define WIOCSCIPHPOL ATH_IOU('w', 0x054)
|
|
#define WIOCGCIPHPOL ATH_IORU('w', 0x055, Ip_u32)
|
|
#define WIOCSPSK ATH_IOWU('w', 0x56, DOT11_PSK)
|
|
#define WIOCSPASSPHRASE ATH_IOWU('w', 0x57, DOT11_PASSPHRASE)
|
|
#define WIOCBSSSCAN ATH_IOWRU('w', 0x058, DOT11_SCAN_REQ)
|
|
#define WIOCSCOUNTRYCODE ATH_IOU('w', 0x059)
|
|
#define WIOCGCOUNTRYCODE ATH_IORU('w', 0x5a, Ip_u32)
|
|
#define WIOCS80211D ATH_IOU('w', 0x5b)
|
|
#define WIOCG80211D ATH_IORU('w', 0x5c, Ip_u32)
|
|
#define WIOCSBULK 0x5d
|
|
#define WIOCGHWVERS 0x5e
|
|
#define WIOCGTXPOWERSCALE ATH_IORU('w', 0x5f, Ip_u32)
|
|
#define WIOCSTXPOWERSCALE ATH_IOU('w', 0x60)
|
|
#define WIOCSUSERAUTHCALLBACK 0x61
|
|
#define WIOCDPAIRWISEKEY ATH_IOWU('w', 0x62, DOT11_ADDR)
|
|
#define WIOCGCHANNELLIST ATH_IOWRU('w', 0x63, DOT11_CHANNEL_LIST)
|
|
#define WIOCSSCANTYPE ATH_IOU('w', 0x64)
|
|
#define WIOCGSCANTYPE ATH_IORU('w', 0x65, Ip_u32)
|
|
#define WIOCSBSS ATH_IOU('w', 0x66)
|
|
#define WIOCGBSS ATH_IORU('w', 0x67, Ip_u32)
|
|
#define WIOCABSS ATH_IORU('w', 0x68, Ip_u32)
|
|
#define WIOCDBSS ATH_IOU('w', 0x69)
|
|
#define WIOCSMBSSADDRBITS 0x6a
|
|
#define WIOCSASSOCLIMIT 0x6b
|
|
#define WIOCSVLAN 0x6c
|
|
#define WIOCGVLAN 0x6d
|
|
#define WIOCSBRSSITHR 0x6e
|
|
#define WIOCGBRSSITHR 0x6f
|
|
#define WIOCGACL ATH_IOWRU('w', 0x070, DOT11_ACL)
|
|
#define WIOCS4WAYHSSTATE ATH_IOWRU('w', 0x071, DOT11_4WAYHSSTATE)
|
|
#define WIOCSEXTRSN ATH_IOWRU('w', 0x072, Ip_u32)
|
|
#define WIOCSTKIPCMSTART ATH_IOWU('w', 0x73, DOT11_ADDR)
|
|
#define WIOCSDEAUTH ATH_IOWU('w', 0x74, DOT11_DEAUTH_REQ)
|
|
|
|
#define EIOCVLANJOIN ATH_IOU('e', 37)
|
|
#define EIOCVLANGET ATH_IOWRU('e', 40, END_VLAN_REQ)
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 5 TYPES
|
|
****************************************************************************
|
|
*/
|
|
typedef char DOT11_SSID[DOT11_SSID_LEN + 1];
|
|
typedef Ip_u8 DOT11_ADDR[DOT11_ADDR_LEN];
|
|
|
|
#include "ipcom_align16.h"
|
|
typedef IP_PACKED1 struct
|
|
{
|
|
Ip_u32 length;
|
|
Ip_u8 rates[DOT11_MAX_RATES];
|
|
} IP_PACKED2
|
|
DOT11_RATES;
|
|
#include "ipcom_align16.h"
|
|
|
|
#include "ipcom_align16.h"
|
|
typedef IP_PACKED1 struct
|
|
{
|
|
int numStations;
|
|
DOT11_ADDR macAddr[DOT11_ADDR_LEN];
|
|
} IP_PACKED2
|
|
DOT11_ACL;
|
|
#include "ipcom_align16.h"
|
|
|
|
typedef struct
|
|
{
|
|
Ip_u32 channel;
|
|
Ip_u32 freq;
|
|
Ip_u32 mode;
|
|
Ip_bool activeScanAllowed;
|
|
} DOT11_CHANNEL_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
Ip_u32 numChannels;
|
|
DOT11_CHANNEL_INFO channels[DOT11_MAX_CHANNELS];
|
|
} DOT11_CHANNEL_LIST;
|
|
|
|
typedef struct
|
|
{
|
|
char ssid[DOT11_SSID_LEN + 1];
|
|
Ip_u8 macAddr[DOT11_ADDR_LEN];
|
|
Ip_u16 capabilities;
|
|
DOT11_RATES rates;
|
|
Ip_u16 beaconInterval;
|
|
Ip_u32 channel;
|
|
Ip_u8 ssi;
|
|
} DOT11_SCAN_RESULTS;
|
|
|
|
typedef struct
|
|
{
|
|
Ip_u8 ssid[DOT11_SSID_LEN + 1];
|
|
Ip_u32 maxResults;
|
|
DOT11_SCAN_RESULTS * pResults;
|
|
Ip_u32 numResults;
|
|
} DOT11_SCAN_REQ;
|
|
|
|
typedef struct
|
|
{
|
|
Ip_u32 keyType;
|
|
Ip_u32 keySlot; /* Keyslot key was installed to */
|
|
Ip_u8 macAddr[DOT11_ADDR_LEN];
|
|
union
|
|
{
|
|
Ip_u8 wep40[DOT11_WEP40_KEY_SIZE];
|
|
Ip_u8 wep104[DOT11_WEP104_KEY_SIZE];
|
|
Ip_u8 aes[DOT11_AES_KEY_SIZE];
|
|
Ip_u8 tkip[DOT11_TKIP_KEY_SIZE];
|
|
} type;
|
|
Ip_u16 dummy_pad; /* Make struct 4 byte aligned to avoid compiler packing issues */
|
|
} DOT11_KEY;
|
|
|
|
/* structure used by 4 WAY Handshake state Ioctl */
|
|
typedef struct
|
|
{
|
|
Ip_bool established; /* 4 WAY Handshake established or not */
|
|
Ip_u8 macAddr[DOT11_ADDR_LEN];
|
|
Ip_u16 dummy_pad; /* Make struct 4 byte aligned to avoid compiler packing issues */
|
|
} DOT11_4WAYHSSTATE;
|
|
|
|
typedef struct
|
|
{
|
|
Ip_u32 reason;
|
|
Ip_u8 macAddr[DOT11_ADDR_LEN];
|
|
Ip_u16 dummy_pad; /* Make struct 4 byte aligned to avoid compiler packing issues */
|
|
} DOT11_DEAUTH_REQ;
|
|
|
|
#define DOT11_PMK_LEN 32
|
|
typedef Ip_u8 DOT11_PMK[DOT11_PMK_LEN];
|
|
|
|
#define DOT11_PSK_LEN 64
|
|
typedef Ip_u8 DOT11_PSK[DOT11_PSK_LEN];
|
|
typedef struct /* DOT11_STATS */
|
|
{
|
|
Ip_u32 rxFrames;
|
|
Ip_u32 rxFragments;
|
|
Ip_u32 rxMcastFragments;
|
|
Ip_u64 rxTotalBytes;
|
|
Ip_u32 rxDuplicates;
|
|
Ip_u32 rxFCSError;
|
|
Ip_u32 rxHardwareError;
|
|
Ip_u32 rxDecryptError;
|
|
Ip_u32 rxMicFailure;
|
|
Ip_u32 rxExcludeUnencrypted;
|
|
Ip_u32 rxDot1xDropped;
|
|
Ip_u32 rxCantReassemble;
|
|
Ip_u32 rxBytesPerSec;
|
|
Ip_u32 rxBytesPer16Sec;
|
|
Ip_u32 txFrames;
|
|
Ip_u32 txFragments;
|
|
Ip_u32 txMcastFragments;
|
|
Ip_u64 txTotalBytes;
|
|
Ip_u32 txRetry;
|
|
Ip_u32 txRetryMultiple;
|
|
Ip_u32 txRetryFailure;
|
|
Ip_u32 txAckFailure;
|
|
Ip_u32 txRTSFailure;
|
|
Ip_u32 txRTSSuccess;
|
|
Ip_u32 txHardwareError;
|
|
Ip_u32 txDot1xDropped;
|
|
Ip_u32 txBytesPerSec;
|
|
Ip_u32 txBytesPer16Sec;
|
|
Ip_u32 fourWaySuccess;
|
|
Ip_u32 fourWayFailure;
|
|
Ip_u32 groupExchangeSuccess;
|
|
Ip_u32 groupExchangeFailure;
|
|
} DOT11_STATS;
|
|
|
|
typedef struct _END_VLAN_REQ
|
|
{
|
|
Ip_u32 vlanCount; /* # of configured VLAN tags */
|
|
Ip_u32 vlanTagCount; /* # of VLAN tags in pVlanTagData */
|
|
Ip_u16 * pVlanTagData; /* Array of VLAN tags */
|
|
} END_VLAN_REQ;
|
|
|
|
#include "ipcom_align16.h"
|
|
/* Must match DOT11_DOT1X_PORTSTATUS and "OT11_DOT1XPORT_XXX" defined value in "dot11Lib.h" */
|
|
typedef IP_PACKED1 struct {
|
|
Ip_u32 status;
|
|
Ip_u8 macAddr[6];
|
|
} IP_PACKED2
|
|
DOT11_DOT1X_PORTSTATUS;
|
|
#include "ipcom_align16.h"
|
|
|
|
/* Must match DOT1X_PARAMS defined value in "dot1xCommonIoctls.h" */
|
|
typedef struct {
|
|
Ip_u32 callback; /* Callback event handler */
|
|
Ip_u32 cookie; /* private data */
|
|
} DOT11_CALLBACK_PARAMS;
|
|
|
|
#define DOT11_DOT1XPORT_UNCONTROLLED 0
|
|
#define DOT11_DOT1XPORT_CLOSED 1
|
|
#define DOT11_DOT1XPORT_OPEN 2
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 6 FUNCTIONS
|
|
****************************************************************************
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
/*
|
|
****************************************************************************
|
|
* END OF FILE
|
|
****************************************************************************
|
|
*/
|
|
|