original files of m241
This commit is contained in:
@@ -0,0 +1,502 @@
|
||||
/* 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
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,869 @@
|
||||
/* ipwlan_broadcom.h - Structures for broadcom wlan driver */
|
||||
|
||||
/*
|
||||
******************************************************************************
|
||||
* INTERPEAK API HEADER FILE
|
||||
*
|
||||
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipwlan_broadcom.h,v $ $Revision: 1.8 $
|
||||
* $Source: /home/interpeak/CVSRoot/ipwlan/include/ipwlan_broadcom.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_BROADCOM_H
|
||||
#define IPWLAN_BROADCOM_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 MAX_CHANNEL_NO (sizeof(ipwlan_broadcom_freq)/sizeof(int))
|
||||
#define MAX_COUNTRY_CODE (sizeof(ipwlan_broadcom_countrycodes)/sizeof(Ipcom_iw_country_code))
|
||||
#define MAX_DEBUG_LEVELS (sizeof(ipwlan_broadcom_debuglevels)/sizeof(Ipcom_iw_debug_level))
|
||||
#define MAX_COUNTRY_NAME_LEN 4
|
||||
|
||||
#define ALIGN_UP_4(a) (((a)+3)&(~0<<2))
|
||||
|
||||
#define MAX_IOCTL_SMLEN 256
|
||||
#define MAX_IOCTL_MAXLEN 8192
|
||||
|
||||
#define MAX_NUMRATES 255 /* max # of rates in a rateset */
|
||||
#define MAX_TEXT_LEN 100
|
||||
#define MAX_WEP_KEY_INDEX 3
|
||||
#define MAX_WEP_KEY_LEN 16
|
||||
#define MAX_TKIP_KEY_LEN 32
|
||||
#define MAX_CCMP_KEY_LEN 16
|
||||
#define WEP1_KEY_LEN 5
|
||||
#define WEP128_KEY_LEN 13
|
||||
|
||||
#define NFIFO 6
|
||||
|
||||
#define MAXACLLIST 32
|
||||
|
||||
#define IPWLAN_BROADCOM_ERR_FAILED -1
|
||||
#define IPWLAN_BROADCOM_ERR_INVALID_ARG -2
|
||||
|
||||
#define CHANNEL_MASK(c) ((c) & 0xff)
|
||||
#define NEXT_BI(b) (void *)((char *)(b) + b->length)
|
||||
|
||||
#define ETHER_ADDR_LEN 6
|
||||
#define MCSSET_LEN 16
|
||||
#define DOT11_MAX_KEY_SIZE 32 /* max size of any key */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* MAC modes */
|
||||
#define DOT11_ACL_DISABLED 0
|
||||
#define DOT11_ACL_DENY 1
|
||||
#define DOT11_ACL_ALLOW 2
|
||||
#define DOT11_MAX_ACLSIZE (WLC_IOCTL_MAXLEN - sizeof(int)) / ETHER_ADDR_LEN
|
||||
|
||||
/* SCAN modes */
|
||||
#define DOT11_SCANTYPE_ACTIVE 0
|
||||
#define DOT11_SCANTYPE_PASSIVE 1
|
||||
|
||||
/* Power Scale Factors. For (%) values of max power (qdBm of 127 for BCM),
|
||||
* the following formula determines the (closest) qdBm value to use
|
||||
* 4 * (30 + 10 * log[10](MAX_TX_PWR * val_percent / 1000))
|
||||
*/
|
||||
#define DOT11_TXPOWER_MAX 127
|
||||
#define DOT11_TXPOWER_66 120
|
||||
#define DOT11_TXPOWER_50 115
|
||||
#define DOT11_TXPOWER_33 108
|
||||
#define DOT11_TXPOWER_MIN 103
|
||||
|
||||
/* MLME Enumerations */
|
||||
#define DOT11_BSSTYPE_ANY 2 /* d11 any BSS type */
|
||||
|
||||
#define WLC_UP 2
|
||||
#define WLC_DOWN 3
|
||||
#define WLC_GET_MSGLEVEL 7
|
||||
#define WLC_SET_MSGLEVEL 8
|
||||
#define WLC_GET_RATE 12
|
||||
#define WLC_GET_INFRA 19
|
||||
#define WLC_SET_INFRA 20
|
||||
#define WLC_GET_AUTH 21
|
||||
#define WLC_SET_AUTH 22
|
||||
#define WLC_GET_BSSID 23
|
||||
#define WLC_SET_BSSID 24
|
||||
#define WLC_GET_SSID 25
|
||||
#define WLC_SET_SSID 26
|
||||
#define WLC_GET_CHANNEL 29
|
||||
#define WLC_SET_CHANNEL 30
|
||||
#define WLC_GET_SRL 31
|
||||
#define WLC_SET_SRL 32
|
||||
#define WLC_GET_LRL 33
|
||||
#define WLC_SET_LRL 34
|
||||
#define WLC_GET_KEY 44
|
||||
#define WLC_SET_KEY 45
|
||||
#define WLC_GET_REGULATORY 46
|
||||
#define WLC_SET_REGULATORY 47
|
||||
#define WLC_GET_PASSIVE_SCAN 48
|
||||
#define WLC_SET_PASSIVE_SCAN 49
|
||||
#define WLC_SCAN 50
|
||||
#define WLC_SCAN_RESULTS 51
|
||||
#define WLC_DISASSOC 52
|
||||
#define WLC_GET_CLOSED 67
|
||||
#define WLC_SET_CLOSED 68
|
||||
#define WLC_GET_MACLIST 69
|
||||
#define WLC_SET_MACLIST 70
|
||||
#define WLC_GET_RATESET 71
|
||||
#define WLC_SET_RATESET 72
|
||||
#define WLC_GET_BCNPRD 75
|
||||
#define WLC_SET_BCNPRD 76
|
||||
#define WLC_GET_COUNTRY 83
|
||||
#define WLC_SET_COUNTRY 84
|
||||
#define WLC_GET_PM 85
|
||||
#define WLC_SET_PM 86
|
||||
#define WLC_GET_REVINFO 98
|
||||
#define WLC_GET_MACMODE 105
|
||||
#define WLC_SET_MACMODE 106
|
||||
#define WLC_GET_GMODE 109
|
||||
#define WLC_SET_GMODE 110
|
||||
#define WLC_GET_CURR_RATESET 114
|
||||
#define WLC_GET_AP 117
|
||||
#define WLC_SET_AP 118
|
||||
#define WLC_SET_EAP_RESTRICT 120
|
||||
#define WLC_SCB_AUTHORIZE 121
|
||||
#define WLC_SCB_DEAUTHORIZE 122
|
||||
#define WLC_GET_RSSI 127
|
||||
#define WLC_GET_WSEC 133
|
||||
#define WLC_SET_WSEC 134
|
||||
#define WLC_GET_PHY_NOISE 135
|
||||
#define WLC_GET_BSS_INFO 136
|
||||
#define WLC_GET_BANDLIST 140
|
||||
#define WLC_GET_BAND 141
|
||||
#define WLC_SET_BAND 142
|
||||
#define WLC_GET_WPA_AUTH 164
|
||||
#define WLC_SET_WPA_AUTH 165
|
||||
#define WLC_GET_VALID_CHANNELS 217
|
||||
#define WLC_SCB_DEAUTHENTICATE_FOR_REASON 201
|
||||
#define WLC_GET_KEY_PRIMARY 235
|
||||
#define WLC_SET_KEY_PRIMARY 236
|
||||
#define WLC_SET_WSEC_PMK 268 /* hfc added */
|
||||
#define WLC_GET_CHANNELS_IN_COUNTRY 260
|
||||
#define WLC_GET_VAR 262 /* get value of named variable */
|
||||
#define WLC_SET_VAR 263 /* set named variable to value */
|
||||
#define WLC_TKIP_CM 284
|
||||
#define WLC_GET_MCASTENCRYPTTYPE 285
|
||||
|
||||
#define WLC_IOVAR_BGRATE "bg_rate"
|
||||
#define WLC_IOVAR_ARATE "a_rate"
|
||||
#define WLC_IOVAR_FRAGTHRESH "fragthresh"
|
||||
#define WLC_IOVAR_RTSTHRESH "rtsthresh"
|
||||
#define WLC_IOVAR_NRATE "nrate"
|
||||
#define WLC_IOVAR_NMODE "nmode"
|
||||
#define WLC_IOVAR_TXPWR "qtxpower"
|
||||
#define WLC_IOVAR_VLAN "bss"
|
||||
#define WLC_IOVAR_BSSIDX "bssidx"
|
||||
#define WLC_IOVAR_BSSADD "bssadd"
|
||||
#define WLC_IOVAR_BSSDEL "bssdel"
|
||||
#define WLC_IOVAR_SSID "ssid"
|
||||
#define WLC_IOVAR_WSEC "wsec"
|
||||
#define WLC_IOVAR_WSEC_KEY "wsec_key"
|
||||
#define WLC_IOVAR_BSSID "bssid"
|
||||
#define WLC_IOVAR_AUTH "auth"
|
||||
#define WLC_IOVAR_WPA_AUTH "wpa_auth"
|
||||
#define WLC_IOVAR_COUNTERS "counters"
|
||||
#define WLC_IOVAR_MBSS "mbss"
|
||||
#define WLC_IOVAR_AUTH_WPA "auth_wpa"
|
||||
#define WLC_IOVAR_SUPP_WPA "sup_wpa"
|
||||
#define WLC_IOVAR_WSEC_PMK "set_pmk"
|
||||
#define WLC_IOVAR_MIMOTXBW "mimo_txbw"
|
||||
#define WLC_IOVAR_CHANNELMIMO "chanspec"
|
||||
#define WLC_IOVAR_WPACAP "wpa_cap"
|
||||
#define WLC_IOVAR_WMM "wme"
|
||||
#define WLC_IOVAR_WMM_AC_AP "wme_ac_ap"
|
||||
#define WLC_IOVAR_WMM_AC_STA "wme_ac_sta"
|
||||
#define WLC_IOVAR_VNDR_IE "vndr_ie"
|
||||
|
||||
/* WPA authentication mode bitvec */
|
||||
#define WPA_AUTH_DISABLED 0x0000 /* Legacy (i.e., non-WPA) */
|
||||
#define WPA_AUTH_NONE 0x0001 /* none (IBSS) */
|
||||
#define WPA_AUTH_UNSPECIFIED 0x0002 /* over 802.1x */
|
||||
#define WPA_AUTH_PSK 0x0004 /* Pre-shared key */
|
||||
#define WPA2_AUTH_UNSPECIFIED 0x0040 /* over 802.1x */
|
||||
#define WPA2_AUTH_PSK 0x0080 /* Pre-shared key */
|
||||
|
||||
/* Enumerate crypto algorithms */
|
||||
#define CRYPTO_ALGO_OFF 0
|
||||
#define CRYPTO_ALGO_WEP1 1
|
||||
#define CRYPTO_ALGO_TKIP 2
|
||||
#define CRYPTO_ALGO_WEP128 3
|
||||
#define CRYPTO_ALGO_AES_CCM 4
|
||||
#define CRYPTO_ALGO_AES_OCB_MSDU 5
|
||||
#define CRYPTO_ALGO_AES_OCB_MPDU 6
|
||||
#define CRYPTO_ALGO_NALG 7
|
||||
|
||||
/* Radio mode types */
|
||||
#define GMODE_LEGACY_B 0
|
||||
#define GMODE_AUTO 1
|
||||
#define GMODE_ONLY 2
|
||||
#define GMODE_B_DEFERRED 3
|
||||
#define GMODE_PERFORMANCE 4
|
||||
#define GMODE_LRS 5
|
||||
#define GMODE_MAX 6
|
||||
|
||||
/* Supported bands */
|
||||
#define WLC_BAND_AUTO 0
|
||||
#define WLC_BAND_5G 1
|
||||
#define WLC_BAND_2G 2
|
||||
|
||||
/* WPA cipher suites */
|
||||
#define WPA_CIPHER_NONE 0 /* None */
|
||||
#define WPA_CIPHER_WEP_40 1 /* WEP (40-bit) */
|
||||
#define WPA_CIPHER_TKIP 2 /* TKIP: default for WPA */
|
||||
#define WPA_CIPHER_AES_OCB 3 /* AES (OCB) */
|
||||
#define WPA_CIPHER_AES_CCM 4 /* AES (CCM) */
|
||||
#define WPA_CIPHER_WEP_104 5 /* WEP (104-bit) */
|
||||
|
||||
/* Country string is 3 bytes + NULL */
|
||||
#define WLC_CNTRY_BUF_SZ 4
|
||||
|
||||
/* max length ioctl buffer required */
|
||||
#define WLC_IOCTL_MAXLEN 8192
|
||||
|
||||
/* "small" length ioctl buffer required */
|
||||
#define WLC_IOCTL_SMLEN 256
|
||||
|
||||
/* defines used by the nrate iovar */
|
||||
#define NRATE_MCS_INUSE 0x00000080 /* MSC in use,indicates b0-6 holds an mcs */
|
||||
#define NRATE_RATE_MASK 0x0000007f /* rate/mcs value */
|
||||
#define NRATE_STF_MASK 0x0000ff00 /* stf mode mask: siso, cdd, stbc, sdm */
|
||||
#define NRATE_STF_SHIFT 8 /* stf mode shift */
|
||||
#define NRATE_OVERRIDE 0x80000000 /* bit indicate override both rate & mode */
|
||||
#define NRATE_STF_SISO 0 /* stf mode SISO */
|
||||
#define NRATE_STF_CDD 1 /* stf mode CDD */
|
||||
#define NRATE_STF_STBC 2 /* stf mode STBC */
|
||||
#define NRATE_STF_SDM 3 /* stf mode SDM */
|
||||
#define NRATE_MIN_MIMO_MCS 7 /* MCS values greater than this enable multiple streams */
|
||||
|
||||
#define WLC_BSSMOD_ADD 1
|
||||
#define WLC_BSSMOD_DEL 2
|
||||
|
||||
#define WLC_MIMO_20MHZ_LOWER 2
|
||||
#define WLC_MIMO_20MHZ_UPPER 3
|
||||
#define WLC_MIMO_40MHZ 4
|
||||
|
||||
#define WL_PRIMARY_KEY (1 << 1)
|
||||
|
||||
/* Debug levels */
|
||||
#define WL_DEBUG_NONE 0x00000000
|
||||
#define WL_ERROR_VAL 0x00000001
|
||||
#define WL_TRACE_VAL 0x00000002
|
||||
#define WL_PRHDRS_VAL 0x00000004
|
||||
#define WL_PRPKT_VAL 0x00000008
|
||||
#define WL_INFORM_VAL 0x00000010
|
||||
#define WL_TMP_VAL 0x00000020
|
||||
#define WL_OID_VAL 0x00000040
|
||||
#define WL_RATE_VAL 0x00000080
|
||||
#define WL_ASSOC_VAL 0x00000100
|
||||
#define WL_PRUSR_VAL 0x00000200
|
||||
#define WL_PS_VAL 0x00000400
|
||||
#define WL_TXPWR_VAL 0x00000800
|
||||
#define WL_GMODE_VAL 0x00001000
|
||||
#define WL_DUAL_VAL 0x00002000
|
||||
#define WL_WSEC_VAL 0x00004000
|
||||
#define WL_WSEC_DUMP_VAL 0x00008000
|
||||
#define WL_LOG_VAL 0x00010000
|
||||
#define WL_NRSSI_VAL 0x00020000
|
||||
#define WL_LOFT_VAL 0x00040000
|
||||
#define WL_REGULATORY_VAL 0x00080000
|
||||
#define WL_PHYCAL_VAL 0x00100000
|
||||
#define WL_RADAR_VAL 0x00200000
|
||||
#define WL_MPC_VAL 0x00400000
|
||||
#define WL_APSTA_VAL 0x00800000
|
||||
#define WL_DFS_VAL 0x01000000
|
||||
#define WL_BA_VAL 0x02000000
|
||||
#define WL_MBSS_VAL 0x04000000
|
||||
#define WL_CAC_VAL 0x08000000
|
||||
#define WL_AMSDU_VAL 0x10000000
|
||||
#define WL_AMPDU_VAL 0x20000000
|
||||
#define WL_FFPLD_VAL 0x40000000
|
||||
|
||||
|
||||
/* 802.11 Mgmt Packet flags */
|
||||
#define VNDR_IE_BEACON_FLAG 0x1
|
||||
#define VNDR_IE_PRBRSP_FLAG 0x2
|
||||
#define VNDR_IE_ASSOCRSP_FLAG 0x4
|
||||
#define VNDR_IE_AUTHRSP_FLAG 0x8
|
||||
#define VNDR_IE_PRBREQ_FLAG 0x10
|
||||
#define VNDR_IE_ASSOCREQ_FLAG 0x20
|
||||
|
||||
#define VNDR_IE_HDR_LEN 2 /* id + len field */
|
||||
#define VNDR_IE_MIN_LEN 3 /* size of the oui field */
|
||||
#define VNDR_IE_MAX_LEN 256 /* verdor IE max length */
|
||||
#define VNDR_IE_CMD_LENGTH 4 /* length of the set command string:
|
||||
* "add", "del" (+ NULL)
|
||||
*/
|
||||
|
||||
#define BCM_SES_OW_ENABLED 0x0040 /* to go into transition mode without setting wep */
|
||||
/*
|
||||
****************************************************************************
|
||||
* 5 TYPES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
typedef signed char int8;
|
||||
typedef unsigned char uchar;
|
||||
typedef unsigned char uint8;
|
||||
typedef signed short int int16;
|
||||
typedef unsigned short int uint16;
|
||||
typedef unsigned int uint;
|
||||
typedef signed long int int32;
|
||||
typedef unsigned long int uint32;
|
||||
|
||||
typedef unsigned int bool;
|
||||
typedef uint16 chanspec_t;
|
||||
|
||||
#include <ipcom_align16.h>
|
||||
IP_PACKED1 struct ether_addr
|
||||
{
|
||||
uint8 ea[6];
|
||||
} IP_PACKED2;
|
||||
#include <ipcom_align16.h>
|
||||
|
||||
|
||||
#include <ipcom_align16.h>
|
||||
typedef IP_PACKED1 struct wl_wsec_key
|
||||
{
|
||||
uint32 index; /* key index */
|
||||
uint32 len; /* key length */
|
||||
uint8 data[DOT11_MAX_KEY_SIZE]; /* key data */
|
||||
uint32 algo; /* CRYPTO_ALGO_AES_CCM, CRYPTO_ALGO_WEP128, etc */
|
||||
uint32 flags; /* misc flags */
|
||||
int iv_initialized; /* has IV been initialized already? */
|
||||
/* Rx IV */
|
||||
struct {
|
||||
uint32 hi; /* upper 32 bits of IV */
|
||||
uint16 lo; /* lower 16 bits of IV */
|
||||
uint16 pad;
|
||||
} rxiv;
|
||||
struct ether_addr ea; /* per station */
|
||||
} IP_PACKED2 wl_wsec_key_t;
|
||||
#include <ipcom_align16.h>
|
||||
|
||||
/* hfc */
|
||||
typedef struct {
|
||||
Ip_u16 key_len; /* octets in key material */
|
||||
Ip_u16 flags; /* key handling qualification */
|
||||
uint8 key[DOT11_MAX_KEY_SIZE*2]; /* PMK material */
|
||||
struct ether_addr ea;
|
||||
} wsec_pmk_t;
|
||||
#define WSEC_PASSPHRASE (1<<0)
|
||||
|
||||
/* hfc end */
|
||||
/* channel encoding */
|
||||
typedef struct channel_info
|
||||
{
|
||||
int hw_channel;
|
||||
int target_channel;
|
||||
int scan_channel;
|
||||
} channel_info_t;
|
||||
|
||||
#include <ipcom_align16.h>
|
||||
typedef IP_PACKED1 struct wlc_ssid
|
||||
{
|
||||
uint32 SSID_len;
|
||||
uchar SSID[32];
|
||||
} IP_PACKED2 wlc_ssid_t;
|
||||
#include <ipcom_align16.h>
|
||||
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define PACKED __attribute__((packed))
|
||||
#else
|
||||
#pragma pack(1)
|
||||
#define PACKED
|
||||
#endif
|
||||
|
||||
typedef struct wl_scan_params
|
||||
{
|
||||
wlc_ssid_t ssid; /* default: {0, ""} */
|
||||
struct ether_addr bssid; /* default: bcast */
|
||||
int8 bss_type; /* default: any,
|
||||
* DOT11_BSSTYPE_ANY/INFRASTRUCTURE/INDEPENDENT
|
||||
*/
|
||||
int8 scan_type; /* -1 use default, DOT11_SCANTYPE_ACTIVE/PASSIVE */
|
||||
int32 nprobes; /* -1 use default, number of probes per channel */
|
||||
int32 active_time; /* -1 use default, dwell time per channel for
|
||||
* active scanning
|
||||
*/
|
||||
int32 passive_time; /* -1 use default, dwell time per channel
|
||||
* for passive scanning
|
||||
*/
|
||||
int32 home_time; /* -1 use default, dwell time for the home channel
|
||||
* between channel scans
|
||||
*/
|
||||
int32 channel_num; /* 0 use default (all available channels), count of
|
||||
* channels in channel_list
|
||||
*/
|
||||
uint16 channel_list[1]; /* list of chanspecs */
|
||||
} PACKED wl_scan_params_t;
|
||||
#undef PACKED
|
||||
#if !defined(__GNUC__)
|
||||
#pragma pack(0,0,0)
|
||||
#endif
|
||||
|
||||
typedef struct wl_bss_info
|
||||
{
|
||||
uint32 version; /* version field */
|
||||
uint32 length; /* byte length of data in this record,
|
||||
* starting at version and including IEs
|
||||
*/
|
||||
struct ether_addr BSSID;
|
||||
uint16 beacon_period; /* units are Kusec */
|
||||
uint16 capability; /* Capability information */
|
||||
uint8 SSID_len;
|
||||
uint8 SSID[32];
|
||||
struct
|
||||
{
|
||||
uint count; /* # rates in this set */
|
||||
uint8 rates[16]; /* rates in 500kbps units w/hi bit set if basic */
|
||||
} rateset; /* supported rates */
|
||||
chanspec_t chanspec; /* chanspec for bss */
|
||||
uint16 atim_window; /* units are Kusec */
|
||||
uint8 dtim_period; /* DTIM period */
|
||||
int16 RSSI; /* receive signal strength (in dBm) */
|
||||
int8 phy_noise; /* noise (in dBm) */
|
||||
|
||||
bool n_cap; /* BSS is 802.11N Capable */
|
||||
uint32 nbss_cap; /* 802.11N BSS Capabilities (based on EWC_CAP_*) */
|
||||
uint8 ctl_ch; /* 802.11N BSS control channel number */
|
||||
uint32 reserved[2]; /* Reserved for expansion of BSS properties */
|
||||
uint8 basic_mcs[MCSSET_LEN]; /* 802.11N BSS required MCS set */
|
||||
|
||||
uint16 ie_offset; /* offset at which IEs start, from beginning */
|
||||
uint32 ie_length; /* byte length of Information Elements */
|
||||
/* Add new fields here */
|
||||
/* variable length Information Elements */
|
||||
} wl_bss_info_t;
|
||||
|
||||
typedef struct wl_scan_results
|
||||
{
|
||||
uint32 buflen;
|
||||
uint32 version;
|
||||
uint32 count;
|
||||
wl_bss_info_t bss_info[1];
|
||||
} wl_scan_results_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32 val;
|
||||
struct ether_addr ea;
|
||||
} scb_val_t;
|
||||
|
||||
typedef struct wlc_rev_info
|
||||
{
|
||||
uint vendorid;
|
||||
uint deviceid;
|
||||
uint radiorev;
|
||||
uint chiprev;
|
||||
uint corerev;
|
||||
uint boardid;
|
||||
uint boardvendor;
|
||||
uint boardrev;
|
||||
uint driverrev;
|
||||
uint ucoderev;
|
||||
uint bus;
|
||||
uint chipnum;
|
||||
} wlc_rev_info_t;
|
||||
|
||||
typedef struct wl_rateset {
|
||||
uint32 count; /* # rates in this set */
|
||||
uint8 rates[MAX_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */
|
||||
uint8 mcs[MCSSET_LEN]; /* supported mcs index bit map */
|
||||
} wl_rateset_t;
|
||||
|
||||
typedef struct wl_uint32_list {
|
||||
uint32 count;
|
||||
uint32 element[1];
|
||||
} wl_uint32_list_t;
|
||||
|
||||
typedef struct wl_channels_in_country {
|
||||
uint32 buflen;
|
||||
uint32 band;
|
||||
char country_abbrev[WLC_CNTRY_BUF_SZ];
|
||||
uint32 count;
|
||||
uint32 channel[WLC_IOCTL_SMLEN];
|
||||
} wl_channels_in_country_t;
|
||||
|
||||
typedef struct wl_maclist {
|
||||
uint count; /* number of MAC addresses */
|
||||
struct ether_addr ea[1]; /* variable length array of MAC addresses */
|
||||
} wl_maclist_t;
|
||||
|
||||
typedef struct {
|
||||
uint16 version;
|
||||
uint16 length; /* length of entire structure */
|
||||
|
||||
/* transmit stat counters */
|
||||
uint32 txframe; /* tx data frames */
|
||||
uint32 txbyte; /* tx data bytes */
|
||||
uint32 txretrans; /* tx mac retransmits */
|
||||
uint32 txerror; /* tx data errors (derived: sum of others) */
|
||||
uint32 txctl; /* tx management frames */
|
||||
uint32 txprshort; /* tx short preamble frames */
|
||||
uint32 txserr; /* tx status errors */
|
||||
uint32 txnobuf; /* tx out of buffers errors */
|
||||
uint32 txnoassoc; /* tx discard because we're not associated */
|
||||
uint32 txrunt; /* tx runt frames */
|
||||
uint32 txchit; /* tx header cache hit (fastpath) */
|
||||
uint32 txcmiss; /* tx header cache miss (slowpath) */
|
||||
|
||||
/* transmit chip error counters */
|
||||
uint32 txuflo; /* tx fifo underflows */
|
||||
uint32 txphyerr; /* tx phy errors (indicated in tx status) */
|
||||
uint32 txphycrs;
|
||||
|
||||
/* receive stat counters */
|
||||
uint32 rxframe; /* rx data frames */
|
||||
uint32 rxbyte; /* rx data bytes */
|
||||
uint32 rxerror; /* rx data errors (derived: sum of others) */
|
||||
uint32 rxctl; /* rx management frames */
|
||||
uint32 rxnobuf; /* rx out of buffers errors */
|
||||
uint32 rxnondata; /* rx non data frames in the data channel errors */
|
||||
uint32 rxbadds; /* rx bad DS errors */
|
||||
uint32 rxbadcm; /* rx bad control or management frames */
|
||||
uint32 rxfragerr; /* rx fragmentation errors */
|
||||
uint32 rxrunt; /* rx runt frames */
|
||||
uint32 rxgiant; /* rx giant frames */
|
||||
uint32 rxnoscb; /* rx no scb error */
|
||||
uint32 rxbadproto; /* rx invalid frames */
|
||||
uint32 rxbadsrcmac; /* rx frames with Invalid Src Mac */
|
||||
uint32 rxbadda; /* rx frames tossed for invalid da */
|
||||
uint32 rxfilter; /* rx frames filtered out */
|
||||
|
||||
/* receive chip error counters */
|
||||
uint32 rxoflo; /* rx fifo overflow errors */
|
||||
uint32 rxuflo[NFIFO]; /* rx dma descriptor underflow errors */
|
||||
|
||||
uint32 d11cnt_txrts_off; /* d11cnt txrts value when reset d11cnt */
|
||||
uint32 d11cnt_rxcrc_off; /* d11cnt rxcrc value when reset d11cnt */
|
||||
uint32 d11cnt_txnocts_off; /* d11cnt txnocts value when reset d11cnt */
|
||||
|
||||
/* misc counters */
|
||||
uint32 dmade; /* tx/rx dma descriptor errors */
|
||||
uint32 dmada; /* tx/rx dma data errors */
|
||||
uint32 dmape; /* tx/rx dma descriptor protocol errors */
|
||||
uint32 reset; /* reset count */
|
||||
uint32 tbtt; /* cnts the TBTT int's */
|
||||
uint32 txdmawar;
|
||||
uint32 pkt_callback_reg_fail; /* callbacks register failure */
|
||||
|
||||
/* MAC counters: 32-bit version of d11.h's macstat_t */
|
||||
uint32 txallfrm; /* total number of frames sent, incl. Data, ACK, RTS, CTS,
|
||||
* Control Management (includes retransmissions)
|
||||
*/
|
||||
uint32 txrtsfrm; /* number of RTS sent out by the MAC */
|
||||
uint32 txctsfrm; /* number of CTS sent out by the MAC */
|
||||
uint32 txackfrm; /* number of ACK frames sent out */
|
||||
uint32 txdnlfrm; /* Not used */
|
||||
uint32 txbcnfrm; /* beacons transmitted */
|
||||
uint32 txfunfl[8]; /* per-fifo tx underflows */
|
||||
uint32 txtplunfl; /* Template underflows (mac was too slow to transmit ACK/CTS
|
||||
* or BCN)
|
||||
*/
|
||||
uint32 txphyerror; /* Transmit phy error, type of error is reported in tx-status for
|
||||
* driver enqueued frames
|
||||
*/
|
||||
uint32 rxfrmtoolong; /* Received frame longer than legal limit (2346 bytes) */
|
||||
uint32 rxfrmtooshrt; /* Received frame did not contain enough bytes for its frame type */
|
||||
uint32 rxinvmachdr; /* Either the protocol version != 0 or frame type not
|
||||
* data/control/management
|
||||
*/
|
||||
uint32 rxbadfcs; /* number of frames for which the CRC check failed in the MAC */
|
||||
uint32 rxbadplcp; /* parity check of the PLCP header failed */
|
||||
uint32 rxcrsglitch; /* PHY was able to correlate the preamble but not the header */
|
||||
uint32 rxstrt; /* Number of received frames with a good PLCP
|
||||
* (i.e. passing parity check)
|
||||
*/
|
||||
uint32 rxdfrmucastmbss; /* Number of received DATA frames with good FCS and matching RA */
|
||||
uint32 rxmfrmucastmbss; /* number of received mgmt frames with good FCS and matching RA */
|
||||
uint32 rxcfrmucast; /* number of received CNTRL frames with good FCS and matching RA */
|
||||
uint32 rxrtsucast; /* number of unicast RTS addressed to the MAC (good FCS) */
|
||||
uint32 rxctsucast; /* number of unicast CTS addressed to the MAC (good FCS) */
|
||||
uint32 rxackucast; /* number of ucast ACKS received (good FCS) */
|
||||
uint32 rxdfrmocast; /* number of received DATA frames (good FCS and not matching RA) */
|
||||
uint32 rxmfrmocast; /* number of received MGMT frames (good FCS and not matching RA) */
|
||||
uint32 rxcfrmocast; /* number of received CNTRL frame (good FCS and not matching RA) */
|
||||
uint32 rxrtsocast; /* number of received RTS not addressed to the MAC */
|
||||
uint32 rxctsocast; /* number of received CTS not addressed to the MAC */
|
||||
uint32 rxdfrmmcast; /* number of RX Data multicast frames received by the MAC */
|
||||
uint32 rxmfrmmcast; /* number of RX Management multicast frames received by the MAC */
|
||||
uint32 rxcfrmmcast; /* number of RX Control multicast frames received by the MAC
|
||||
* (unlikely to see these)
|
||||
*/
|
||||
uint32 rxbeaconmbss; /* beacons received from member of BSS */
|
||||
uint32 rxdfrmucastobss; /* number of unicast frames addressed to the MAC from
|
||||
* other BSS (WDS FRAME)
|
||||
*/
|
||||
uint32 rxbeaconobss; /* beacons received from other BSS */
|
||||
uint32 rxrsptmout; /* Number of response timeouts for transmitted frames
|
||||
* expecting a response
|
||||
*/
|
||||
uint32 bcntxcancl; /* transmit beacons canceled due to receipt of beacon (IBSS) */
|
||||
uint32 rxf0ovfl; /* Number of receive fifo 0 overflows */
|
||||
uint32 rxf1ovfl; /* Number of receive fifo 1 overflows (obsolete) */
|
||||
uint32 rxf2ovfl; /* Number of receive fifo 2 overflows (obsolete) */
|
||||
uint32 txsfovfl; /* Number of transmit status fifo overflows (obsolete) */
|
||||
uint32 pmqovfl; /* Number of PMQ overflows */
|
||||
uint32 rxcgprqfrm; /* Number of received Probe requests that made it into
|
||||
* the PRQ fifo
|
||||
*/
|
||||
uint32 rxcgprsqovfl; /* Rx Probe Request Que overflow in the AP */
|
||||
uint32 txcgprsfail; /* Tx Probe Response Fail. AP sent probe response but did
|
||||
* not get ACK
|
||||
*/
|
||||
uint32 txcgprssuc; /* Tx Probe Response Success (ACK was received) */
|
||||
uint32 prs_timeout; /* Number of probe requests that were dropped from the PRQ
|
||||
* fifo because a probe response could not be sent out within
|
||||
* the time limit defined in M_PRS_MAXTIME
|
||||
*/
|
||||
uint32 rxnack; /* Number of NACKS received (Afterburner) */
|
||||
uint32 frmscons; /* Number of frames completed without transmission because of an
|
||||
* Afterburner re-queue
|
||||
*/
|
||||
uint32 txnack; /* Number of NACKs transmitted (Afterburner) */
|
||||
uint32 txglitch_nack; /* obsolete */
|
||||
uint32 txburst; /* obsolete */
|
||||
|
||||
/* 802.11 MIB counters, pp. 614 of 802.11 reaff doc. */
|
||||
uint32 txfrag; /* dot11TransmittedFragmentCount */
|
||||
uint32 txmulti; /* dot11MulticastTransmittedFrameCount */
|
||||
uint32 txfail; /* dot11FailedCount */
|
||||
uint32 txretry; /* dot11RetryCount */
|
||||
uint32 txretrie; /* dot11MultipleRetryCount */
|
||||
uint32 rxdup; /* dot11FrameduplicateCount */
|
||||
uint32 txrts; /* dot11RTSSuccessCount */
|
||||
uint32 txnocts; /* dot11RTSFailureCount */
|
||||
uint32 txnoack; /* dot11ACKFailureCount */
|
||||
uint32 rxfrag; /* dot11ReceivedFragmentCount */
|
||||
uint32 rxmulti; /* dot11MulticastReceivedFrameCount */
|
||||
uint32 rxcrc; /* dot11FCSErrorCount */
|
||||
uint32 txfrmsnt; /* dot11TransmittedFrameCount (bogus MIB?) */
|
||||
uint32 rxundec; /* dot11WEPUndecryptableCount */
|
||||
|
||||
/* WPA2 counters (see rxundec for DecryptFailureCount) */
|
||||
uint32 tkipmicfaill; /* TKIPLocalMICFailures */
|
||||
uint32 tkipcntrmsr; /* TKIPCounterMeasuresInvoked */
|
||||
uint32 tkipreplay; /* TKIPReplays */
|
||||
uint32 ccmpfmterr; /* CCMPFormatErrors */
|
||||
uint32 ccmpreplay; /* CCMPReplays */
|
||||
uint32 ccmpundec; /* CCMPDecryptErrors */
|
||||
uint32 fourwayfail; /* FourWayHandshakeFailures */
|
||||
uint32 wepundec; /* dot11WEPUndecryptableCount */
|
||||
uint32 wepicverr; /* dot11WEPICVErrorCount */
|
||||
uint32 decsuccess; /* DecryptSuccessCount */
|
||||
uint32 tkipicverr; /* TKIPICVErrorCount */
|
||||
uint32 wepexcluded; /* dot11WEPExcludedCount */
|
||||
|
||||
uint32 txchanrej; /* Tx frames suppressed due to channel rejection */
|
||||
uint32 psmwds; /* Count PSM watchdogs */
|
||||
uint32 phywatchdog; /* Count Phy watchdogs (triggered by ucode) */
|
||||
|
||||
/* MBSS counters, AP only */
|
||||
uint32 prq_entries_handled; /* PRQ entries read in */
|
||||
uint32 prq_undirected_entries; /* which were bcast bss & ssid */
|
||||
uint32 prq_bad_entries; /* which could not be translated to info */
|
||||
uint32 atim_suppress_count; /* TX suppressions on ATIM fifo */
|
||||
uint32 bcn_template_not_ready; /* Template marked in use on send bcn ... */
|
||||
uint32 bcn_template_not_ready_done; /* ...but "DMA done" interrupt rcvd */
|
||||
uint32 late_tbtt_dpc; /* TBTT DPC did not happen in time */
|
||||
} wl_cnt_t;
|
||||
|
||||
|
||||
/* ACI */
|
||||
#define EDCF_AIFSN_MIN 1 /* AIFSN minimum value */
|
||||
#define EDCF_AIFSN_MAX 15 /* AIFSN maximum value */
|
||||
#define EDCF_AIFSN_MASK 0x0f /* AIFSN mask */
|
||||
#define EDCF_ACM_MASK 0x10 /* ACM mask */
|
||||
#define EDCF_ACI_MASK 0x60 /* ACI mask */
|
||||
#define EDCF_ACI_SHIFT 5 /* ACI shift */
|
||||
|
||||
/* ECW */
|
||||
#define EDCF_ECW_MIN 0 /* cwmin/cwmax exponent minimum value */
|
||||
#define EDCF_ECW_MAX 15 /* cwmin/cwmax exponent maximum value */
|
||||
#define EDCF_ECW2CW(exp) ((1 << (exp)) - 1)
|
||||
#define EDCF_ECWMIN_MASK 0x0f /* cwmin exponent form mask */
|
||||
#define EDCF_ECWMAX_MASK 0xf0 /* cwmax exponent form mask */
|
||||
#define EDCF_ECWMAX_SHIFT 4 /* cwmax exponent form shift */
|
||||
|
||||
/* TXOP */
|
||||
#define EDCF_TXOP_MIN 0 /* TXOP minimum value */
|
||||
#define EDCF_TXOP_MAX 65535 /* TXOP maximum value */
|
||||
#define EDCF_TXOP2USEC(txop) ((txop) << 5)
|
||||
|
||||
|
||||
#include <ipcom_align16.h>
|
||||
typedef IP_PACKED1 struct {
|
||||
Ip_u8 ACI;
|
||||
Ip_u8 ECW;
|
||||
Ip_u16 TXOP; /* stored in network order (ls octet first) */
|
||||
} IP_PACKED2
|
||||
edcf_acparam_t;
|
||||
#include <ipcom_align16.h>
|
||||
|
||||
#include <ipcom_align16.h>
|
||||
/* Vendor IE structure */
|
||||
typedef IP_PACKED1 struct{
|
||||
|
||||
uchar id;
|
||||
uchar len;
|
||||
|
||||
Ip_u8 oui[1];
|
||||
/* uchar data [1]; */ /* Variable size data */
|
||||
}IP_PACKED2
|
||||
bcm_vndr_ie_t;
|
||||
#include <ipcom_align16.h>
|
||||
|
||||
typedef struct {
|
||||
uint32 pktflag; /* bitmask indicating which packet(s) contain this IE */
|
||||
bcm_vndr_ie_t vndr_ie_data; /* vendor IE data */
|
||||
} ie_info_t;
|
||||
|
||||
typedef struct {
|
||||
int iecount; /* number of entries in the vndr_ie_list[] array */
|
||||
ie_info_t vndr_ie_list[1]; /* variable size list of vndr_ie_info_t structs */
|
||||
} ie_buffer_t;
|
||||
|
||||
typedef struct {
|
||||
char cmd[VNDR_IE_CMD_LENGTH]; /* vndr_ie IOVar set command : "add", "del" + NULL */
|
||||
ie_buffer_t vndr_ie_buffer; /* buffer containing Vendor IE list information */
|
||||
} vndr_ie_cmd_buf;
|
||||
|
||||
/* IE */
|
||||
|
||||
#include <ipcom_align16.h>
|
||||
/* Must match DOT1X_PORTSTATUS in "dot1xCommonIoctls.h" */
|
||||
typedef IP_PACKED1 struct {
|
||||
Ip_u32 status;
|
||||
Ip_u8 macAddr[6];
|
||||
} IP_PACKED2
|
||||
DOT1X_PORTSTATUS;
|
||||
#include <ipcom_align16.h>
|
||||
|
||||
/* 802.1X port status enumeration. Must match what's in "dot1xCommonIoctls.h"*/
|
||||
typedef enum
|
||||
{
|
||||
DOT1X_PORTSTATUS_UNCONTROLLED = 0,
|
||||
DOT1X_PORTSTATUS_CLOSED,
|
||||
DOT1X_PORTSTATUS_OPEN
|
||||
} DOT1X_PORT_STATUS;
|
||||
|
||||
#include <ipcom_align16.h>
|
||||
/* Must match DOT1X_PARAMS defined value in "dot1xCommonIoctls.h" */
|
||||
typedef IP_PACKED1 struct {
|
||||
Ip_u32 callback; /* Callback event handler */
|
||||
Ip_u32 cookie; /* private data */
|
||||
} IP_PACKED2
|
||||
BCM_CALLBACK_PARAMS;
|
||||
#include <ipcom_align16.h>
|
||||
|
||||
#if 0
|
||||
typedef struct {
|
||||
Ip_u32 callback; /* Callback event handler */
|
||||
Ip_u16 cookie1; /* private data1 */
|
||||
Ip_u16 cookie2; /* private data 2 */
|
||||
}BCM_DRV_CALLBACK_PARAMS;
|
||||
#endif
|
||||
|
||||
|
||||
/* used for association with a specific BSSID and chanspec list */
|
||||
#include <ipcom_align16.h>
|
||||
typedef IP_PACKED1 struct wl_assoc_params {
|
||||
struct ether_addr bssid; /* 00:00:00:00:00:00: broadcast scan */
|
||||
Ip_u32 chanspec_num; /* 0: all available channels,
|
||||
* otherwise count of chanspecs in chanspec_list
|
||||
*/
|
||||
chanspec_t chanspec_list[1]; /* list of chanspecs */
|
||||
} IP_PACKED2
|
||||
wl_assoc_params_t;
|
||||
#include <ipcom_align16.h>
|
||||
#define WL_ASSOC_PARAMS_FIXED_SIZE (sizeof(wl_assoc_params_t) - sizeof(chanspec_t))
|
||||
|
||||
/* used for reassociation/roam to a specific BSSID and channel */
|
||||
typedef wl_assoc_params_t wl_reassoc_params_t;
|
||||
#define WL_REASSOC_PARAMS_FIXED_SIZE WL_ASSOC_PARAMS_FIXED_SIZE
|
||||
|
||||
/* used for join with or without a specific bssid and channel list */
|
||||
typedef struct wl_join_params {
|
||||
wlc_ssid_t ssid;
|
||||
wl_assoc_params_t params; /* optional field, but it must include the fixed portion
|
||||
* of the wl_assoc_params_t struct when it does present.
|
||||
*/
|
||||
} wl_join_params_t;
|
||||
#define WL_JOIN_PARAMS_FIXED_SIZE (sizeof(wl_join_params_t) - sizeof(chanspec_t))
|
||||
#define BSS_JOIN_MAX_WAIT_SEC 30
|
||||
|
||||
#define BCM_IOCPARM_MASK 0xfff /* parameters must be < 4096 bytes */
|
||||
#define BCM_IOC_IN 0x80000000 /* copy in parameters */
|
||||
#define BCM_IOC(inout,group,num,len) \
|
||||
((int)(inout | ((len & BCM_IOCPARM_MASK) << 16) | ((group) << 8) | (num)))
|
||||
#define BCM_CMN_IOCTL_OFF 0x180
|
||||
#define BCM_IOW(g,n,t) BCM_IOC(BCM_IOC_IN, (g), (n), sizeof(t))
|
||||
#define WIOCSAUTHCALLBACK BCM_IOW('x', 0x02, BCM_CALLBACK_PARAMS)
|
||||
#define WIOCSDRVCALLBACK BCM_IOW('x', 0x05, BCM_CALLBACK_PARAMS)
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 6 FUNCTIONS
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* END OF FILE
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
#ifndef _IPWLAN_WIFI_H_
|
||||
#define _IPWLAN_WIFI_H_
|
||||
|
||||
|
||||
#define IP_SIWCOMMIT 0
|
||||
#define IP_SIWFREQ 1
|
||||
#define IP_GIWFREQ 2
|
||||
#define IP_SIWMODE 3
|
||||
#define IP_GIWMODE 4
|
||||
#define IP_SIWAP 5
|
||||
#define IP_GIWAP 6
|
||||
#define IP_SIWSCAN 7
|
||||
#define IP_GIWSCAN 8
|
||||
#define IP_SIWESSID 9
|
||||
#define IP_GIWESSID 10
|
||||
#define IP_SIWENCRTYPE 11
|
||||
#define IP_GIWENCRTYPE 12
|
||||
#define IP_SIWAUTHTYPE 13
|
||||
#define IP_GIWAUTHTYPE 14
|
||||
#define IP_SIWENCRKEY 15
|
||||
#define IP_GIWRSC 16
|
||||
#define IP_SIWRSC 17
|
||||
#define IP_SIWRESET 18
|
||||
#define IP_SIWATTACHFUNC 19
|
||||
#define IP_SIWREMOVEFUNC 20
|
||||
#define IP_SIWOPENPORT 21
|
||||
#define IP_GIWQUALITY 22
|
||||
#define IP_SIWENCODE 23
|
||||
#define IP_GIWENCODE 24
|
||||
#define IP_GIWMAC 25
|
||||
#define IP_SIWMAC 26
|
||||
#define IP_SIWDATA 27
|
||||
#define IP_SIWPOWERMAN 28
|
||||
#define IP_GIWPOWERMAN 29
|
||||
#define IP_SIWIDLE 30
|
||||
#define IP_GIWIDLE 31
|
||||
#define IP_GIWCHANNEL 32
|
||||
#define IP_SIWCHANNEL 33
|
||||
#define IP_GIWLRL 34
|
||||
#define IP_SIWLRL 35
|
||||
#define IP_GIWSRL 36
|
||||
#define IP_SIWSRL 37
|
||||
#define IP_GIWCOUNTRY 38
|
||||
#define IP_SIWCOUNTRY 39
|
||||
#define IP_GIWBEACONINT 40
|
||||
#define IP_SIWBEACONINT 41
|
||||
#define IP_GIWRATE 42
|
||||
#define IP_SIWRATE 43
|
||||
#define IP_GIWSUPPRATES 44
|
||||
#define IP_SIWSUPPRATES 45
|
||||
#define IP_GIWFRAGTHRESH 46
|
||||
#define IP_SIWFRAGTHRESH 47
|
||||
#define IP_GIWRADIOMODE 48
|
||||
#define IP_SIWRADIOMODE 49
|
||||
#define IP_GIWSUPPCHAN 50
|
||||
#define IP_GIWRTSTHRESH 51
|
||||
#define IP_SIWRTSTHRESH 52
|
||||
#define IP_GIWHIDESSID 53
|
||||
#define IP_SIWHIDESSID 54
|
||||
#define IP_GIWRADIONRATE 55
|
||||
#define IP_SIWRADIONRATE 56
|
||||
#define IP_GIWRADIONSTAT 57
|
||||
#define IP_SIWRADIONSTAT 58
|
||||
#define IP_GIWACL 59
|
||||
#define IP_SIWACL 60
|
||||
#define IP_GIWACLMODE 61
|
||||
#define IP_SIWACLMODE 62
|
||||
#define IP_SIWACLADD 63
|
||||
#define IP_SIWACLDEL 64
|
||||
#define IP_SIWSCANMODE 65
|
||||
#define IP_GIWSCANMODE 66
|
||||
#define IP_SIWPOWERSCALE 67
|
||||
#define IP_GIWPOWERSCALE 68
|
||||
#define IP_SIWCOUNTRYCODE 69
|
||||
#define IP_GIWCOUNTRYCODE 70
|
||||
#define IP_SIWBSSINDEX 71
|
||||
#define IP_GIWBSSINDEX 72
|
||||
#define IP_SIWBSSADD 73
|
||||
#define IP_GIWBSSDEL 74
|
||||
#define IP_SIWREGMODE 75
|
||||
#define IP_GIWREGMODE 76
|
||||
#define IP_SIWSECTYPE 77
|
||||
#define IP_GIWSECTYPE 78
|
||||
#define IP_SIWDEBUGLEVEL 79
|
||||
#define IP_GIWDEBUGLEVEL 80
|
||||
#define IP_GIWDEBUGOPTIONS 81
|
||||
#define IP_GIWSTATISTICS 82
|
||||
#define IP_SIWVLAN 83
|
||||
#define IP_GIWVLAN 84
|
||||
#define IP_SIWVLANADD 85
|
||||
#define IP_GIWVLANDEL 86
|
||||
#define IP_SIWMBSS 87
|
||||
#define IP_GIWMBSS 88
|
||||
#define IP_SIWAUTHWPA 89
|
||||
#define IP_GIWAUTHWPA 90
|
||||
#define IP_SIWSUPWPA 91
|
||||
#define IP_GIWSUPWPA 92
|
||||
#define IP_SIWPMKKEY 93
|
||||
#define IP_GIWMIMOTXBW 94
|
||||
#define IP_SIWMIMOTXBW 95
|
||||
#define IP_SIWCHANNELMIMO 96
|
||||
#define IP_SIWDEFAULTKEY 97
|
||||
#define IP_GIWRSNCAP 98
|
||||
#define IP_SIW4WAYHSSTATE 99
|
||||
#define IP_SIWDOT1XPORTSTATUS 100
|
||||
#define IP_SIWEXTRSN 101
|
||||
#define IP_SIWAUTHCALLBACK 102
|
||||
#define IP_SIWTKIPCMSTART 103
|
||||
#define IP_SIWDEAUTH 104
|
||||
#define IP_GIWWMM 105
|
||||
#define IP_SIWWMM 106
|
||||
#define IP_GIWWMMAC 107
|
||||
#define IP_SIWWMMAC 108
|
||||
#define IP_SIWVNDRIE 109
|
||||
#define IP_GISCANLIST 110
|
||||
#define IP_SIWDRVCALLBACK 111
|
||||
#define IP_SIWWPSMODE 112
|
||||
#define IP_SIWJOINBSS 113
|
||||
#define IP_SIWDEASSOC 114
|
||||
#define IP_GIWIOCTLSUPPORTED 115
|
||||
#define IP_GIWSUPPORTEDBANDS 116
|
||||
#define IP_GIWSUPPORTEDMODES 117
|
||||
#define IP_GIWSUPPORTEDAUTHTYPES 118
|
||||
#define IP_GIWSUPPORTEDENCRTYPES 119
|
||||
#define IP_GIWMCASTENCRTYPE 120
|
||||
|
||||
#define IP_WLAN_CMD (0x88000000)
|
||||
#define IP_IS_WLAN_CMD(a) (((a) & (IP_WLAN_CMD)) == (IP_WLAN_CMD))
|
||||
|
||||
#define IP_WLAN_SIZE(a) ((a) & 0x3fff)
|
||||
#define IP_WLAN_CODE(a) (((a) >> 16) & 0xff)
|
||||
|
||||
typedef struct Ipcom_dev_data_s
|
||||
{
|
||||
char macaddr[6];
|
||||
|
||||
} Ipcom_dev_data_t;
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,670 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
* HEADER FILE
|
||||
*
|
||||
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipwlan_wlan.h,v $ $Revision: 1.12 $
|
||||
* $Source: /home/interpeak/CVSRoot/ipwlan/include/ipwlan_wlan.h,v $
|
||||
* $Author: krosenfe $ $Date: 2010-04-09 17:51:54 $
|
||||
* $State: Exp $ $Locker: $
|
||||
*
|
||||
* INTERPEAK_COPYRIGHT_STRING
|
||||
******************************************************************************
|
||||
*/
|
||||
#ifndef IPCOM_WLAN_H
|
||||
#define IPCOM_WLAN_H
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 1 DESCRIPTION
|
||||
****************************************************************************
|
||||
* Wireless.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 2 CONFIGURATION
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 3 INCLUDE FILES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#include "ipwlan_wifi.h"
|
||||
#include "ipcom_netif.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 4 DEFINES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/* WLAN ioctls commands */
|
||||
#define IP_SIOCSIWCOMMIT IP_IO(WLAN, IP_SIWCOMMIT, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWFREQ IP_IOW(WLAN, IP_SIWFREQ, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWFREQ IP_IOR(WLAN, IP_GIWFREQ, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWMODE IP_IOW(WLAN, IP_SIWMODE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWMODE IP_IOR(WLAN, IP_GIWMODE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWAP IP_IOW(WLAN, IP_SIWAP, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWAP IP_IOR(WLAN, IP_GIWAP, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWSCAN IP_IOW(WLAN, IP_SIWSCAN, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWSCAN IP_IOR(WLAN, IP_GIWSCAN, R, Ipcom_iwreq_large_data)
|
||||
#define IP_SIOCSIWESSID IP_IOW(WLAN, IP_SIWESSID, W, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCGIWESSID IP_IOR(WLAN, IP_GIWESSID, R, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWENCRTYPE IP_IOW(WLAN, IP_SIWENCRTYPE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWENCRTYPE IP_IOW(WLAN, IP_GIWENCRTYPE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWMCASTENCRTYPE IP_IOW(WLAN, IP_GIWMCASTENCRTYPE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWAUTHTYPE IP_IOW(WLAN, IP_SIWAUTHTYPE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWAUTHTYPE IP_IOR(WLAN, IP_GIWAUTHTYPE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWENCRKEY IP_IOW(WLAN, IP_SIWENCRKEY, W, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWPMKKEY IP_IOW(WLAN, IP_SIWPMKKEY, W, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWDEFAULTKEY IP_IOW(WLAN, IP_SIWDEFAULTKEY, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWRSC IP_IOW(WLAN, IP_GIWRSC, R, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWRSC IP_IOW(WLAN, IP_SIWRSC, W, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWRESET IP_IOW(WLAN, IP_SIWRESET, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWATTACHFUNC IP_IOW(WLAN, IP_SIWATTACHFUNC, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWREMOVEFUNC IP_IOW(WLAN, IP_SIWREMOVEFUNC, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWOPENPORT IP_IOW(WLAN, IP_SIWOPENPORT, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWQUALITY IP_IOR(WLAN, IP_GIWQUALITY, R, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWENCODE IP_IOW(WLAN, IP_SIWENCODE, W, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCGIWENCODE IP_IOW(WLAN, IP_GIWENCODE, R, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCGIWMAC IP_IOR(WLAN, IP_GIWMAC, R, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWMAC IP_IOW(WLAN, IP_SIWMAC, W, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWDATA IP_IOWR(WLAN, IP_SIWDATA, W, Ipcom_iwreq_large_data) /* Generic data transfer */
|
||||
#define IP_SIOCSIWIDLE IP_IOW(WLAN, IP_SIWIDLE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWIDLE IP_IOR(WLAN, IP_GIWIDLE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWPOWERMAN IP_IOW(WLAN, IP_SIWPOWERMAN, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWPOWERMAN IP_IOR(WLAN, IP_GIWPOWERMAN, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWCHANNEL IP_IOW(WLAN, IP_SIWCHANNEL, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWCHANNEL IP_IOR(WLAN, IP_GIWCHANNEL, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWLRL IP_IOW(WLAN, IP_SIWLRL, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWLRL IP_IOR(WLAN, IP_GIWLRL, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWSRL IP_IOW(WLAN, IP_SIWSRL, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWSRL IP_IOR(WLAN, IP_GIWSRL, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWCOUNTRY IP_IOW(WLAN, IP_SIWCOUNTRY, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWCOUNTRY IP_IOR(WLAN, IP_GIWCOUNTRY, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWBEACONINT IP_IOW(WLAN, IP_SIWBEACONINT, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWBEACONINT IP_IOR(WLAN, IP_GIWBEACONINT, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWRATE IP_IOR(WLAN, IP_SIWRATE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWRATE IP_IOR(WLAN, IP_GIWRATE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWSUPPRATES IP_IOW(WLAN, IP_SIWSUPPRATES, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWSUPPRATES IP_IOR(WLAN, IP_GIWSUPPRATES, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWFRAGTHRESH IP_IOW(WLAN, IP_SIWFRAGTHRESH, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWFRAGTHRESH IP_IOR(WLAN, IP_GIWFRAGTHRESH, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWRADIOMODE IP_IOW(WLAN, IP_SIWRADIOMODE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWRADIOMODE IP_IOR(WLAN, IP_GIWRADIOMODE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWSUPPCHAN IP_IOR(WLAN, IP_GIWSUPPCHAN, W, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWRTSTHRESH IP_IOW(WLAN, IP_SIWRTSTHRESH, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWRTSTHRESH IP_IOR(WLAN, IP_GIWRTSTHRESH, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWHIDESSID IP_IOW(WLAN, IP_SIWHIDESSID, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWHIDESSID IP_IOR(WLAN, IP_GIWHIDESSID, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWRADIONRATE IP_IOW(WLAN, IP_SIWRADIONRATE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWRADIONRATE IP_IOR(WLAN, IP_GIWRADIONRATE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWRADIONSTAT IP_IOW(WLAN, IP_SIWRADIONSTAT, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWRADIONSTAT IP_IOR(WLAN, IP_GIWRADIONSTAT, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWACL IP_IOW(WLAN, IP_SIWACL, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWACL IP_IOR(WLAN, IP_GIWACL, R, Ipcom_iwreq_large_data)
|
||||
#define IP_SIOCGIWACLMODE IP_IOR(WLAN, IP_GIWACLMODE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWACLMODE IP_IOW(WLAN, IP_SIWACLMODE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWACLADD IP_IOW(WLAN, IP_SIWACLADD, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWACLDEL IP_IOW(WLAN, IP_SIWACLDEL, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWSCANMODE IP_IOW(WLAN, IP_SIWSCANMODE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWSCANMODE IP_IOR(WLAN, IP_SIWSCANMODE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWPOWERSCALE IP_IOW(WLAN, IP_SIWPOWERSCALE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWPOWERSCALE IP_IOR(WLAN, IP_GIWPOWERSCALE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWCOUNTRYCODE IP_IOW(WLAN, IP_SIWCOUNTRYCODE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWCOUNTRYCODE IP_IOR(WLAN, IP_GIWCOUNTRYCODE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWBSSINDEX IP_IOW(WLAN, IP_SIWBSSINDEX, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWBSSINDEX IP_IOR(WLAN, IP_GIWBSSINDEX, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWBSSADD IP_IOW(WLAN, IP_SIWBSSADD, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWBSSDEL IP_IOW(WLAN, IP_GIWBSSDEL, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWREGMODE IP_IOW(WLAN, IP_SIWREGMODE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWREGMODE IP_IOR(WLAN, IP_GIWREGMODE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWSECTYPE IP_IOW(WLAN, IP_SIWSECTYPE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWSECTYPE IP_IOR(WLAN, IP_GIWSECTYPE, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWDEBUGLEVEL IP_IOW(WLAN, IP_SIWDEBUGLEVEL, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWDEBUGLEVEL IP_IOR(WLAN, IP_GIWDEBUGLEVEL, R, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWDEBUGOPTIONS IP_IOR(WLAN, IP_GIWDEBUGOPTIONS, R, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWSTATISTICS IP_IOR(WLAN, IP_GIWSTATISTICS, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWVLAN IP_IOW(WLAN, IP_SIWVLAN, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWVLAN IP_IOR(WLAN, IP_GIWVLAN, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWVLANADD IP_IOW(WLAN, IP_SIWVLANADD, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWVLANDEL IP_IOW(WLAN, IP_GIWVLANDEL, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWMBSS IP_IOW(WLAN, IP_SIWMBSS, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWMBSS IP_IOR(WLAN, IP_GIWMBSS, R, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWMBSS IP_IOR(WLAN, IP_GIWMBSS, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWAUTHWPA IP_IOW(WLAN, IP_SIWAUTHWPA, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWAUTHWPA IP_IOW(WLAN, IP_GIWAUTHWPA, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWSUPWPA IP_IOW(WLAN, IP_SIWSUPWPA, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWSUPWPA IP_IOW(WLAN, IP_GIWSUPWPA, R, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWMIMOTXBW IP_IOW(WLAN, IP_GIWMIMOTXBW, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWMIMOTXBW IP_IOW(WLAN, IP_SIWMIMOTXBW, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWCHANNELMIMO IP_IOW(WLAN, IP_SIWCHANNELMIMO, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWRSNCAP IP_IOW(WLAN, IP_GIWRSNCAP, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIW4WAYHSSTATE IP_IOW(WLAN, IP_SIW4WAYHSSTATE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWDOT1XPORTSTATUS IP_IOW(WLAN, IP_SIWDOT1XPORTSTATUS, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWEXTRSN IP_IOW(WLAN, IP_SIWEXTRSN, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSAUTHCALLBACK IP_IOW(WLAN, IP_SIWAUTHCALLBACK, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSDRVCALLBACK IP_IOW(WLAN, IP_SIWDRVCALLBACK, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSTKIPCMSTART IP_IOW(WLAN, IP_SIWTKIPCMSTART, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWDEAUTH IP_IOW(WLAN, IP_SIWDEAUTH, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWMM IP_IOR(WLAN, IP_GIWWMM, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWMM IP_IOR(WLAN, IP_SIWWMM, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWMMAC IP_IOR(WLAN, IP_GIWWMMAC, R, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWMMAC IP_IOR(WLAN, IP_SIWWMMAC, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIVNDRIE IP_IOR(WLAN, IP_SIWVNDRIE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGISCANLIST IP_IOR(WLAN, IP_GISCANLIST,R,Ipcom_iwreq )
|
||||
#define IP_SIOCSIWPSMODE IP_IOR(WLAN, IP_SIWWPSMODE, W, Ipcom_iwreq)
|
||||
#define IP_SIOCSIWJOINBSS IP_IOW(WLAN, IP_SIWJOINBSS, W, Ipcom_iwreq_small_data)
|
||||
#define IP_SIOCSIWDEASSOC IP_IOW(WLAN, IP_SIWDEASSOC, W, Ipcom_iwreq)
|
||||
#define IP_SIOCGIWIOCTLSUPPORTED IP_IOR(WLAN, IP_GIWIOCTLSUPPORTED,R,Ipcom_iwreq )
|
||||
#define IP_SIOCGIWSUPPORTEDBANDS IP_IOR(WLAN, IP_GIWSUPPORTEDBANDS,R,Ipcom_iwreq )
|
||||
#define IP_SIOCGIWSUPPORTEDMODES IP_IOR(WLAN, IP_GIWSUPPORTEDMODES,R,Ipcom_iwreq )
|
||||
#define IP_SIOCGIWSUPPORTEDAUTHTYPES IP_IOR(WLAN, IP_GIWSUPPORTEDAUTHTYPES,R,Ipcom_iwreq )
|
||||
#define IP_SIOCGIWSUPPORTEDENCRTYPES IP_IOR(WLAN, IP_GIWSUPPORTEDENCRTYPES,R,Ipcom_iwreq )
|
||||
#define IP_SIOCIWFIRSTPRIV 100
|
||||
|
||||
#define IP_IS_IPWLAN_CMD(a) ( (((a) & (0x00000900)) == (0x00000900)) )
|
||||
|
||||
/* IP_SIOCSIWMODE: Modes of operation */
|
||||
#define IP_IW_MODE_AUTO 0 /* Let the driver decide */
|
||||
#define IP_IW_MODE_INFRA 1 /* Multi cell network, roaming, ... */
|
||||
#define IP_IW_MODE_ADHOC 2 /* Single cell network */
|
||||
#define IP_IW_MODE_MASTER 3 /* Synchronisation master or Access Point */
|
||||
|
||||
/* End marker in arrays */
|
||||
#define IP_IW_END 0
|
||||
|
||||
/* Frequency flags */
|
||||
#define IP_IW_FREQ_AUTO 0x00 /* Let the driver decides */
|
||||
#define IP_IW_FREQ_FIXED 0x01 /* Force a specific value */
|
||||
|
||||
/* IW_AUTH_80211_AUTH_ALG values */
|
||||
|
||||
#define IP_IW_AUTH_ALG_OPEN_SYSTEM 1
|
||||
#define IP_IW_AUTH_ALG_SHARED_KEY 2
|
||||
#define IP_IW_AUTH_ALG_WPA_PSK 3
|
||||
#define IP_IW_AUTH_ALG_WPA 4
|
||||
#define IP_IW_AUTH_ALG_WPA2_PSK 5
|
||||
#define IP_IW_AUTH_ALG_WPA2 6
|
||||
|
||||
|
||||
/* Security Policy bit vectors */
|
||||
#define IP_IW_SECPOL_NONE 0x00
|
||||
#define IP_IW_SECPOL_TSN 0x01
|
||||
#define IP_IW_SECPOL_WPA 0x02
|
||||
#define IP_IW_SECPOL_RSN 0x04
|
||||
|
||||
/* Authentication Policy bit vectors */
|
||||
#define IP_IW_AUTHPOL_OPEN 0x00
|
||||
#define IP_IW_AUTHPOL_SHARED_KEY 0x01
|
||||
#define IP_IW_AUTHPOL_WPA 0x02
|
||||
#define IP_IW_AUTHPOL_WPA_PSK 0x04
|
||||
#define IP_IW_AUTHPOL_WPA2 0x08
|
||||
#define IP_IW_AUTHPOL_WPA2_PSK 0x10
|
||||
|
||||
|
||||
/* Cipher (encryption) Policy bit vectors */
|
||||
#define IP_IW_CIPHPOL_NONE 0x00
|
||||
#define IP_IW_CIPHPOL_WEP40 0x02
|
||||
#define IP_IW_CIPHPOL_WEP104 0x04
|
||||
#define IP_IW_CIPHPOL_TKIP 0x08
|
||||
#define IP_IW_CIPHPOL_CCMP 0x10
|
||||
|
||||
/* IP_SIOCSIWENCRTYPE: */
|
||||
#define IP_IW_ENCR_ALG_NONE IP_IW_CIPHPOL_NONE
|
||||
#define IP_IW_ENCR_ALG_WEP IP_IW_CIPHPOL_WEP
|
||||
#define IP_IW_ENCR_ALG_TKIP IP_IW_CIPHPOL_TKIP
|
||||
#define IP_IW_ENCR_ALG_CCMP IP_IW_CIPHPOL_CCMP
|
||||
|
||||
/* SSID flags */
|
||||
#define IP_IW_SSID_SHOW 0x00
|
||||
#define IP_IW_SSID_HIDE 0x01
|
||||
|
||||
/* MIMO support for 40MHz Channel aggregation */
|
||||
#define IP_IW_MIMO_BW_40MHZ 0x04
|
||||
#define IP_IW_MIMO_BW_20MHZ_LOWER 0x02
|
||||
#define IP_IW_MIMO_BW_20MHZ_UPPER 0x03
|
||||
#define IP_IW_MIMO_BW_40MHZ_DUP 0x05
|
||||
|
||||
#define IP_IW_CHANSPEC_BAND_2G 0x2000
|
||||
#define IP_IW_CHANSPEC_BW_20 0x0800
|
||||
#define IP_IW_CHANSPEC_BW_40 0x0C00
|
||||
#define IP_IW_CHANSPEC_CTL_SB_LOWER 0x0100
|
||||
#define IP_IW_CHANSPEC_CTL_SB_UPPER 0x0200
|
||||
#define IP_IW_CHANSPEC_CTL_SB_NONE 0x0300
|
||||
|
||||
|
||||
/* Radio mode flags */
|
||||
#define IP_IW_RADIOMODE_NONE 0x00
|
||||
#define IP_IW_RADIOMODE_11A 0x01
|
||||
#define IP_IW_RADIOMODE_11B 0x02
|
||||
#define IP_IW_RADIOMODE_11G 0x04
|
||||
#define IP_IW_RADIOMODE_11N 0x20
|
||||
#define IP_IW_RADIOMODE_AUTO 0x1f
|
||||
|
||||
#define IPCOM_WLAN_MAX_KEY_SIZE 64
|
||||
#define IPCOM_WLAN_MAX_WEP_KEY_SIZE 13
|
||||
|
||||
#define IP_IW_KEY_FLAG_STA_KEY 0x01
|
||||
#define IP_IW_KEY_FLAG_AP_KEY 0x02
|
||||
#define IP_IW_KEY_FLAG_NOKEY 0x04
|
||||
#define IP_IW_KEY_FLAG_GROUP 0x08
|
||||
#define IP_IW_KEY_FLAG_PAIR 0x10
|
||||
#define IP_IW_KEY_FLAG_PASS 0x20
|
||||
#define IP_IW_KEY_AES_LEN 16
|
||||
#define IP_IW_KEY_TKIP_LEN 32
|
||||
#define IP_IW_KEY_WEP_LEN 32
|
||||
#define IP_IW_KEY_WEP40_LEN 5
|
||||
#define IP_IW_KEY_WEP104_LEN 13
|
||||
#define IP_IW_KEY_WPA_LEN 64
|
||||
#define IP_IW_KEY_WPA2_LEN 64
|
||||
#define IP_IW_KEY_PMK_LEN 64
|
||||
|
||||
/* Keep matched to IP_IW_CIPHPOL */
|
||||
#define IP_IW_KEY_WEP40_TYPE IP_IW_CIPHPOL_WEP40
|
||||
#define IP_IW_KEY_WEP104_TYPE IP_IW_CIPHPOL_WEP104
|
||||
#define IP_IW_KEY_TKIP_TYPE IP_IW_CIPHPOL_TKIP
|
||||
#define IP_IW_KEY_AES_TYPE IP_IW_CIPHPOL_CCMP
|
||||
#define IP_IW_KEY_WPA_TYPE 0x14
|
||||
#define IP_IW_KEY_WPA2_TYPE 0x18
|
||||
|
||||
#define IP_IW_4WAYHS_FLAG_INIT 0
|
||||
#define IP_IW_4WAYHS_FLAG_DONE 1
|
||||
/* WME Access Category Indices (ACIs) */
|
||||
#define IP_IW_AC_BE 0 /* Best Effort */
|
||||
#define IP_IW_AC_BK 1 /* Background */
|
||||
#define IP_IW_AC_VI 2 /* Video */
|
||||
#define IP_IW_AC_VO 3 /* Voice */
|
||||
#define IP_IW_AC_COUNT 4 /* number of ACs */
|
||||
|
||||
|
||||
#define IP_IW_ENCODE_FLAGS 0xff00
|
||||
#define IP_IW_ENCODE_DISABLED 0x8000 /* Encoding disabled */
|
||||
#define IP_IW_ENCODE_OPEN 0x2000
|
||||
#define IP_IW_ENCODE_NOKEY 0x0800
|
||||
|
||||
#define IP_IW_MAX_RATES 255
|
||||
#define IP_IW_MCSSET_LEN 16
|
||||
|
||||
#define IP_IW_MAX_CHANNELS 64
|
||||
|
||||
#define IWREQ_UNION_SIZE (64)
|
||||
|
||||
#define IP_IW_WLAN_MAX_RTS 2347
|
||||
|
||||
#define IP_IW_ACL_DENY 2
|
||||
#define IP_IW_ACL_ALLOW 1
|
||||
#define IP_IW_ACL_NONE 0
|
||||
|
||||
#define IP_IW_PM_ON 1
|
||||
#define IP_IW_PM_OFF 0
|
||||
|
||||
#define IP_IW_PS_MAX 100
|
||||
#define IP_IW_PS_66 66
|
||||
#define IP_IW_PS_50 50
|
||||
#define IP_IW_PS_33 33
|
||||
#define IP_IW_PS_MIN 25
|
||||
|
||||
#define IP_IW_SCANMODE_PASSIVE 1
|
||||
#define IP_IW_SCANMODE_ACTIVE 2
|
||||
|
||||
#define IP_IW_ADDR_LEN 6
|
||||
|
||||
#define IP_IW_MAX_DEBUG_LEVELS 32
|
||||
|
||||
#define IP_IW_MAX_STATISTICS 256
|
||||
|
||||
#define IP_IW_DEFAULT_SCAN_TIME 1
|
||||
|
||||
#define IP_IW_MIMO_STD_SISO 0
|
||||
#define IP_IW_MIMO_STD_CDD 1
|
||||
#define IP_IW_MIMO_STD_STBC 2
|
||||
#define IP_IW_MIMO_STD_SDM 3
|
||||
|
||||
#define IP_IW_DOT1X_PORTSTATUS_UNCONTROLLED 0
|
||||
#define IP_IW_DOT1X_PORTSTATUS_CLOSED 1
|
||||
#define IP_IW_DOT1X_PORTSTATUS_OPEN 2
|
||||
|
||||
#ifndef MIN
|
||||
#define MIN(a, b) (((a)<(b))?(a):(b))
|
||||
#endif
|
||||
|
||||
#define IE_MAX_LEN 254 /* IE max length */
|
||||
#define IE_HDR_LEN 2 /* id + len field */
|
||||
#define IE_ADD 1
|
||||
#define IE_DEL 2
|
||||
#define WPSIE_PKTTYPE 5
|
||||
/*
|
||||
****************************************************************************
|
||||
* 5 TYPES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/* 802.11 packet types */
|
||||
typedef enum {
|
||||
FIRST_DRV_PKTTYPE = 1,
|
||||
BEACON,
|
||||
PROBE_RESPONSE,
|
||||
PROBE_REQUEST,
|
||||
ASSOC_REQUEST,
|
||||
ASSOC_RESPONSE,
|
||||
LAST_DRV_PKTTYPE
|
||||
}ipwlan_pkt_type;
|
||||
|
||||
|
||||
|
||||
typedef struct Ipcom_wlan_func_st
|
||||
{
|
||||
int (*link_input)(Ipcom_netif *, Ipcom_pkt *);
|
||||
|
||||
} Ipcom_wlan_func;
|
||||
|
||||
typedef struct Ipcom_iw_point
|
||||
{
|
||||
void *pointer; /* Pointer to the data (in user space) */
|
||||
Ip_u16 length; /* number of fields or size in bytes */
|
||||
Ip_u16 flags; /* Optional params */
|
||||
|
||||
} Ipcom_iw_point;
|
||||
|
||||
typedef struct Ipcom_iw_param
|
||||
{
|
||||
Ip_s32 value;
|
||||
Ip_u8 fixed; /* Hardware should not use auto select */
|
||||
Ip_u8 disabled; /* Disable the feature */
|
||||
Ip_u16 flags; /* Various specific flags (if any) */
|
||||
|
||||
} Ipcom_iw_param;
|
||||
|
||||
typedef struct Ipcom_iw_callback
|
||||
{
|
||||
void *ptr; /* Pointer to the callback routine */
|
||||
Ip_u32 param; /* optional param to pass back upon callback */
|
||||
|
||||
} Ipcom_iw_callback;
|
||||
|
||||
typedef struct Ipcom_iw_quality
|
||||
{
|
||||
Ip_u8 qual; /* link quality (%retries, SNR, %missed beacons or better...) */
|
||||
Ip_s8 level; /* signal level (dBm) */
|
||||
Ip_u8 noise; /* noise level (dBm) */
|
||||
Ip_u8 updated; /* Flags to know if updated */
|
||||
Ip_u8 bssid[6]; /* BSSID to request quality values for, zero => the currently associated */
|
||||
|
||||
} Ipcom_iw_quality;
|
||||
|
||||
typedef struct Ipcom_iw_key_rsc_st
|
||||
{
|
||||
Ip_u8 rsc[8];
|
||||
Ip_u32 index;
|
||||
Ip_bool tx; /* 1 for transmit counter, 0 for receive */
|
||||
Ip_u8 addr[6];
|
||||
} Ipcom_iw_key_rsc;
|
||||
|
||||
typedef struct Ipcom_iw_key_st
|
||||
{
|
||||
Ip_u32 type;
|
||||
Ip_u32 flags;
|
||||
Ip_u32 index;
|
||||
int len;
|
||||
Ip_u8 key[IPCOM_WLAN_MAX_KEY_SIZE];
|
||||
Ip_u8 addr[6];
|
||||
#if 1
|
||||
Ip_bool key_rsc_set; /* set to 1 if key_rsc included */
|
||||
Ipcom_iw_key_rsc key_rsc;
|
||||
#endif
|
||||
} Ipcom_iw_key;
|
||||
|
||||
typedef struct Ipcom_iw_freq_st
|
||||
{
|
||||
Ip_s32 m;
|
||||
Ip_s16 e;
|
||||
Ip_u8 i;
|
||||
Ip_u8 flags;
|
||||
|
||||
} Ipcom_iw_freq;
|
||||
|
||||
typedef struct Ipcom_iw_rates_st {
|
||||
Ip_u32 count; /* # rates in this set */
|
||||
Ip_u8 rates[IP_IW_MAX_RATES]; /* rates in 500kbps units w/hi bit set if basic */
|
||||
Ip_u8 mcs[IP_IW_MCSSET_LEN]; /* supported mcs index bit map */
|
||||
} Ipcom_iw_rates;
|
||||
|
||||
typedef struct Ipcom_iw_channels_st {
|
||||
Ip_u32 count; /* # channels in this set */
|
||||
Ip_u8 chan[IP_IW_MAX_CHANNELS]; /* channels */
|
||||
} Ipcom_iw_channels;
|
||||
|
||||
typedef struct Ipcom_iw_nmode_st {
|
||||
Ip_u32 mcs;
|
||||
Ip_u32 std;
|
||||
Ip_u32 legacyrate;
|
||||
Ip_bool legacymode;
|
||||
Ip_u32 status;
|
||||
} Ipcom_iw_nmode;
|
||||
|
||||
typedef struct Ipcom_iw_country_code_st {
|
||||
const char *abbrev;
|
||||
const Ip_u32 code;
|
||||
} Ipcom_iw_country_code;
|
||||
|
||||
typedef struct Ipcom_iw_debug_level_st {
|
||||
const Ip_u32 value;
|
||||
const char *description;
|
||||
} Ipcom_iw_debug_level;
|
||||
|
||||
typedef struct Ipcom_iw_debug_levels_st {
|
||||
Ipcom_iw_debug_level levels[32];
|
||||
} Ipcom_iw_debug_levels;
|
||||
|
||||
typedef struct Ipcom_iw_statistic_st {
|
||||
Ip_u64 value;
|
||||
const char *description;
|
||||
} Ipcom_iw_statistic;
|
||||
|
||||
typedef struct Ipcom_iw_scan_result_st {
|
||||
char *ssid;
|
||||
unsigned char *bssid;
|
||||
int mode;
|
||||
int channel;
|
||||
int level;
|
||||
int noise;
|
||||
} Ipcom_iw_scan_result;
|
||||
|
||||
typedef struct Ipcom_iw_dot1x_port_control_st {
|
||||
Ip_u16 status;
|
||||
Ip_u8 addr[6];
|
||||
} Ipcom_iw_dot1x_port_control;
|
||||
|
||||
typedef struct Ipcom_iw_deauth_req_st {
|
||||
Ip_u32 reason; /* deauth reason */
|
||||
Ip_u8 addr[6];
|
||||
} Ipcom_iw_deauth_req;
|
||||
|
||||
/* standard wmm parameters */
|
||||
typedef struct Ipcom_wmm_edcf_param_st
|
||||
{
|
||||
|
||||
Ip_bool acm; /* admission control mandatory*/
|
||||
Ip_u32 aci; /* access category */
|
||||
Ip_u32 aifsn;/* arbitrate inter frame spacing */
|
||||
Ip_u32 ecwmin; /* contention window min */
|
||||
Ip_u32 ecwmax; /* max */
|
||||
Ip_u32 txop; /* transmit opportunity */
|
||||
}Ipcom_wmm_edcf_param;
|
||||
|
||||
|
||||
typedef struct ipcom_ipwlan_ie_st
|
||||
{
|
||||
Ip_u16 pkt_type; /* packet type i.e. Beacon, ProbeReq ,ProbRes .. */
|
||||
Ip_u8 ie_cmd; /* IE add, del command */
|
||||
Ip_u8 *iebuf;
|
||||
|
||||
}ipcom_ipwlan_ie;
|
||||
|
||||
#include <ipcom_align16.h>
|
||||
typedef IP_PACKED1 struct ipcom_drv_custom_scan_instruction_st
|
||||
{
|
||||
Ip_u16 packet_type;
|
||||
Ip_u8 *data;
|
||||
Ip_s16 no_of_data_or_len;
|
||||
Ip_u8 cmd[8]; /* start, stop, wpsscan */
|
||||
} IP_PACKED2
|
||||
ipcom_drv_custom_scan_instruction;
|
||||
#include <ipcom_align16.h>
|
||||
|
||||
typedef struct ipcom_ipwps_state_st
|
||||
{
|
||||
Ip_u32 wps_mode; /* 1 = on, 0 = off */
|
||||
Ip_u32 rc; /* return code, IPCOM_SUCCESS, IPCOM_ERR_NOT_SUPPORTED, IPCOM_ERR_FAILED */
|
||||
|
||||
}ipcom_ipwps_state;
|
||||
|
||||
typedef struct ipcom_supported_bands_st
|
||||
{
|
||||
Ip_bool is_support_2_4_GHZ;
|
||||
Ip_bool is_support_5_GHZ;
|
||||
}ipcom_supported_bands;
|
||||
|
||||
typedef struct ipcom_join_param_st{
|
||||
Ip_u8 ssid[32+1];
|
||||
Ip_u8 bssid[6];
|
||||
Ip_u8 mode; /*1 = INFRA, ADHOC = 0*/
|
||||
}ipcom_join_param_t;
|
||||
|
||||
|
||||
typedef union Ipcom_iwreq_data_u
|
||||
{
|
||||
Ip_u32 encr_type;
|
||||
Ip_u32 auth_type;
|
||||
Ip_u32 sec_type;
|
||||
Ip_u32 pm;
|
||||
Ip_u32 ps;
|
||||
Ip_u16 channel;
|
||||
Ip_u32 lrl;
|
||||
Ip_u32 srl;
|
||||
Ip_u32 bi;
|
||||
Ip_u32 rate;
|
||||
Ip_u32 mode;
|
||||
Ip_u32 fragthresh;
|
||||
Ip_u32 rtsthresh;
|
||||
Ip_u32 radiomode;
|
||||
Ip_u32 hidessid;
|
||||
Ip_u32 aclmode;
|
||||
Ip_u32 scanmode;
|
||||
Ip_u32 countrycode;
|
||||
Ip_u32 bssindex;
|
||||
Ip_u32 regmode;
|
||||
Ip_u32 value32;
|
||||
Ip_u32 debuglevel;
|
||||
Ip_u32 vlan;
|
||||
Ip_u32 mbss;
|
||||
Ip_u32 mimobw;
|
||||
Ip_u32 wpa_type;
|
||||
Ip_u16 rsn_cap;
|
||||
Ip_u8 wme_ac_queue;
|
||||
Ip_u32 wme;
|
||||
ipcom_supported_bands supported_bands;
|
||||
ipcom_ipwps_state wps_state;
|
||||
Ipcom_wmm_edcf_param edcf[IP_IW_AC_COUNT];
|
||||
Ipcom_iw_key key;
|
||||
Ipcom_iw_key_rsc key_rsc;
|
||||
Ipcom_iw_point essid;
|
||||
Ipcom_iw_point encode;
|
||||
Ipcom_iw_point data;
|
||||
Ipcom_iw_param param;
|
||||
ipcom_drv_custom_scan_instruction custom_scan;
|
||||
ipcom_ipwlan_ie iedata;
|
||||
Ipcom_iw_freq freq;
|
||||
Ipcom_iw_quality quality;
|
||||
Ipcom_iw_rates supprates;
|
||||
Ipcom_iw_channels suppchan;
|
||||
Ipcom_iw_nmode nmode;
|
||||
Ipcom_iw_dot1x_port_control dot1xport;
|
||||
Ipcom_iw_callback callback;
|
||||
ipcom_join_param_t join_param;
|
||||
struct Ip_sockaddr addr;
|
||||
Ip_u8 fixed_size[IWREQ_UNION_SIZE]; /* RIME: make 'iwreq' and 'Ipcom_iwreq' same size */
|
||||
Ip_u8 macAddr[6];
|
||||
Ipcom_iw_deauth_req deauth_req;
|
||||
} Ipcom_iwreq_data;
|
||||
|
||||
typedef struct iwreq_s
|
||||
{
|
||||
char if_name[IP_IFNAMSIZ];
|
||||
Ipcom_iwreq_data u;
|
||||
|
||||
} Ipcom_iwreq;
|
||||
|
||||
|
||||
#define MAX_IWREQ_SMALL_DATA (52)
|
||||
#define MAX_IWREQ_LARGE_DATA (4000)
|
||||
|
||||
typedef struct iwreq_small_data_s
|
||||
{
|
||||
char if_name[IP_IFNAMSIZ];
|
||||
Ipcom_iwreq_data u;
|
||||
char data[MAX_IWREQ_SMALL_DATA];
|
||||
|
||||
} Ipcom_iwreq_small_data;
|
||||
|
||||
typedef struct iwreq_large_data_s
|
||||
{
|
||||
char if_name[IP_IFNAMSIZ];
|
||||
Ipcom_iwreq_data u;
|
||||
char data[MAX_IWREQ_LARGE_DATA];
|
||||
|
||||
} Ipcom_iwreq_large_data;
|
||||
|
||||
|
||||
/* Wireless IOCTL used in Ipcom_iw_event */
|
||||
#define SIOCGIWAP 0x8B15
|
||||
#define SIOCGIWESSID 0x8B1B
|
||||
#define SIOCGIWMODE 0x8B07
|
||||
#define SIOCGIWFREQ 0x8B05
|
||||
#define SIOCGIWENCODE 0x8B2B
|
||||
#define SIOCGIWRATE 0x8B21
|
||||
#define SIOCGIWSPY 0x8B11
|
||||
|
||||
typedef struct iw_event_s
|
||||
{
|
||||
Ip_u16 len; /* Real length of this stuff */
|
||||
Ip_u16 cmd; /* Wireless IOCTL */
|
||||
Ipcom_iwreq_data u; /* IOCTL fixed payload */
|
||||
|
||||
} Ipcom_iw_event;
|
||||
|
||||
|
||||
/* Size of the Event prefix (including padding and alignement junk) */
|
||||
#define IP_IW_EV_LCP_LEN (sizeof(Ipcom_iw_event) - sizeof(Ipcom_iwreq_data))
|
||||
/* Size of the various events */
|
||||
#define IP_IW_EV_CHAR_LEN (IP_IW_EV_LCP_LEN + IFNAMSIZ)
|
||||
#define IP_IW_EV_UINT_LEN (IP_IW_EV_LCP_LEN + sizeof(Ip_u32))
|
||||
#define IP_IW_EV_FREQ_LEN (IP_IW_EV_LCP_LEN + sizeof(Ipcom_iw_freq))
|
||||
#define IP_IW_EV_POINT_LEN (IP_IW_EV_LCP_LEN + sizeof(Ipcom_iw_point))
|
||||
#define IP_IW_EV_PARAM_LEN (IP_IW_EV_LCP_LEN + sizeof(Ipcom_iw_param))
|
||||
#define IP_IW_EV_ADDR_LEN (IP_IW_EV_LCP_LEN + sizeof(struct Ip_sockaddr))
|
||||
#define IP_IW_EV_QUAL_LEN (IP_IW_EV_LCP_LEN + sizeof(Ipcom_iw_quality))
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* END OF FILE
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user