📄 oid.h
字号:
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
/** @file oid.h
* @Structure and constant definition for customer OID supported by
* the driver
*
* Copyright (c) Marvell Semiconductor, Inc.
*/
#ifndef _MRVL_OID_H_
#define _MRVL_OID_H_
#ifndef NDIS_OID
typedef ULONG NDIS_OID, *PNDIS_OID;
#endif
//
//
// IEEE 802.11 OIDs
//
#define OID_802_11_BSSID 0x0D010101
#define OID_802_11_SSID 0x0D010102
#define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0D010203
#define OID_802_11_NETWORK_TYPE_IN_USE 0x0D010204
#define OID_802_11_TX_POWER_LEVEL 0x0D010205
#define OID_802_11_RSSI 0x0D010206
#define OID_802_11_RSSI_TRIGGER 0x0D010207
#define OID_802_11_INFRASTRUCTURE_MODE 0x0D010108
#define OID_802_11_FRAGMENTATION_THRESHOLD 0x0D010209
#define OID_802_11_RTS_THRESHOLD 0x0D01020A
#define OID_802_11_NUMBER_OF_ANTENNAS 0x0D01020B
#define OID_802_11_RX_ANTENNA_SELECTED 0x0D01020C
#define OID_802_11_TX_ANTENNA_SELECTED 0x0D01020D
#define OID_802_11_SUPPORTED_RATES 0x0D01020E
#define OID_802_11_DESIRED_RATES 0x0D010210
#define OID_802_11_CONFIGURATION 0x0D010211
#define OID_802_11_STATISTICS 0x0D020212
#define OID_802_11_ADD_WEP 0x0D010113
#define OID_802_11_REMOVE_WEP 0x0D010114
#define OID_802_11_DISASSOCIATE 0x0D010115
#define OID_802_11_POWER_MODE 0x0D010216
#define OID_802_11_BSSID_LIST 0x0D010217
#define OID_802_11_AUTHENTICATION_MODE 0x0D010118
#define OID_802_11_PRIVACY_FILTER 0x0D010119
#define OID_802_11_BSSID_LIST_SCAN 0x0D01011A
#define OID_802_11_WEP_STATUS 0x0D01011B
#define OID_802_11_RELOAD_DEFAULTS 0x0D01011C
// ****************************************************************************
// Marvel specific OIDs
//
#define OID_MRVL_OEM_GET_ULONG 0xff010201
#define OID_MRVL_OEM_SET_ULONG 0xff010202
#define OID_MRVL_OEM_GET_STRING 0xff010203
#define OID_MRVL_OEM_COMMAND 0xff010204
// set the region code
// the setting is permanently written into card's EEPROM
#define OID_MRVL_REGION_CODE 0xff010205
#define OID_MRVL_RADIO_PREAMBLE 0xff010206
#define OID_MRVL_BSSID_SCAN 0xff010207
#define OID_MRVL_SSID_SCAN 0xff010208
// set the RF channel
// can only be accessed when not associated, SET only
// Information buffer should contain the channel number
#define OID_MRVL_RF_CHANNEL 0xff010209
#define OID_MRVL_WIRELESS_MODE 0xff01020a
#define OID_MRVL_CHIP_VERSION 0xff01020b
// access Baseband register
#define OID_MRVL_BBP_REG 0xff01020c
// access MAC register
#define OID_MRVL_MAC_REG 0xff01020d
// access RF register
#define OID_MRVL_RF_REG 0xff01020e
// access flash memory
#define OID_MRVL_EEPROM_ACCESS 0xff01020f
// send manufacture command
//#define OID_MRVL_MFG_COMMAND 0xff010210
// program the MAC address in the EEPROM
// driver and firmware will also update the MAC address
#define OID_MRVL_MAC_ADDRESS 0xFF010210
// put the card into TX mode
// can only be accessed when not associated, SET Only
#define OID_MRVL_TX_MODE 0xFF010211
// put the card into RX mode
// can only be accessed when not associated, SET only
#define OID_MRVL_RX_MODE 0xFF010212
// L2 romaing OID
#define OID_MRVL_L2ROAMING 0XFF010213
// LED control, set only
// Controls the behavior of the LED
#define OID_MRVL_LED_CONTROL 0xFF010214
// Multiple dtim value, set only
// Number of DTIM to sleep
#define OID_MRVL_MULTIPLE_DTIM 0xFF010215
#ifdef MRVL_SET_RF_RADIO
#define OID_MRVL_ENABLE_RADIO 0xFF010217
#define OID_MRVL_DISABLE_RADIO 0xFF010218
#define OID_MRVL_RADIO_CONTROL 0xFF010219
#endif
#ifdef DEEP_SLEEP
#define OID_MRVL_DEEP_SLEEP 0xff010220
#endif
#ifdef ADHOCAES
#define OID_MRVL_REMOVE_ADHOCAES 0xff010221
#define OID_MRVL_SET_ADHOCAES 0xff010222
#define OID_MRVL_GET_ADHOCAES 0xff010223
#endif
#ifdef HOST_WAKEUP
#define OID_MRVL_HOST_SLEEP_CFG 0xff010224
#define OID_MRVL_HOST_SLEEP_STATUS 0xff010242
#endif
#ifdef MRVL_SLEEPPARAMS
#define OID_MRVL_SLEEP_PARAMS 0xff010225
#endif
#define OID_MRVL_FW_WAKE_METHOD 0xff010231
#define OID_MRVL_INACTIVITY_TIMEOUT 0xff010232
#ifdef WMM
#define OID_MRVL_WMM_STATE 0xff010234
#define OID_MRVL_WMM_ACK_POLICY 0xff010235
#define OID_MRVL_WMM_STATUS 0xff010236
#endif
#define OID_MRVL_TPC_CFG 0xff010226
#define OID_MRVL_PWR_CFG 0xff010227
#define OID_MRVL_RATE_ADAPT_RATESET 0xff010233
#define OID_MRVL_CAL_DATA 0xff010228
#define OID_MRVL_CAL_DATA_EXT 0xff010229
#define OID_MRVL_GET_LOG 0xff01022a
#define OID_MRVL_SUBSCRIBE_EVENT 0xff01022b
#define OID_MRVL_EMI_CHANNEL 0xff01023B
#define OID_MRVL_ATIMWINDOW 0xff010241
#ifdef BG_SCAN
#define OID_MRVL_BG_SCAN_CONFIG 0xff010239
#define OID_MRVL_BG_SCAN_QUERY 0xff010240
#endif
////////////////////////////////////////////////////////////////
// Information buffer should point to one of the following
// data structure
////////////////////////////////////////////////////////////////
typedef struct _OID_MRVL_DS_BBP_REGISTER_ACCESS
{
NDIS_OID Oid;
USHORT usOffset;
ULONG ulValue;
} OID_MRVL_DS_BBP_REGISTER_ACCESS, *POID_MRVL_DS_BBP_REGISTER_ACCESS;
typedef struct _OID_MRVL_DS_RF_REGISTER_ACCESS
{
NDIS_OID Oid;
USHORT usOffset;
ULONG ulValue;
} OID_MRVL_DS_RF_REGISTER_ACCESS, *POID_MRVL_DS_RF_REGISTER_ACCESS;
typedef struct _OID_MRVL_DS_MAC_REGISTER_ACCESS
{
NDIS_OID Oid;
USHORT usOffset;
ULONG ulValue;
} OID_MRVL_DS_MAC_REGISTER_ACCESS, *POID_MRVL_DS_MAC_REGISTER_ACCESS;
typedef struct _OID_MRVL_DS_EEPROM_ACCESS
{
NDIS_OID Oid;
USHORT usDataLength;
ULONG ulAddress;
UCHAR pData[0];
} OID_MRVL_DS_EEPROM_ACCESS, *POID_MRVL_DS_EEPROM_ACCESS;
#ifndef ENABLE_802_11D
typedef struct _OID_MRVL_DS_REGION_CODE
{
USHORT ulRegionCode; // country code
USHORT usBand; // b:
} OID_MRVL_DS_REGION_CODE, *POID_MRVL_DS_REGION_CODE;
#endif
typedef struct _OID_MRVL_DS_MAC_ADDRESS
{
NDIS_OID Oid;
UCHAR EthAddr[6];
} OID_MRVL_DS_MAC_ADDRESS, *POID_MRVL_DS_MAC_ADDRESS;
typedef struct _OID_DS_MRVL_RF_CHANNEL
{
NDIS_OID Oid;
ULONG ulChannelNumber;
} OID_MRVL_DS_RF_CHANNEL, *POID_MRVL_DS_RF_CHANNEL;
#ifdef MRVL_SET_OID_POWERMODE
typedef struct _OID_DS_MRVL_POWER_SAVE_MODE
{
NDIS_OID Oid;
ULONG pPowerSaveMode[1];
} OID_MRVL_DS_POWER_SAVE_MODE, *POID_MRVL_DS_POWER_SAVE_MODE;
#endif
#ifdef MRVL_SET_RF_RADIO
typedef struct _OID_DS_MRVL_RF_RADIO
{
NDIS_OID Oid;
UCHAR RADIO;
} OID_DS_MRVL_RF_RADIO, * POID_DS_MRVL_RF_RADIO;
#endif
// OID_MRVL_TX_Mode Mode values
#define TX_MODE_NORMAL 0
#define TX_MODE_CONT 1
#define TX_MODE_CW 2
#define TX_MODE_MAX 3 // not a valid value, used as a upper limit
typedef struct _OID_MRVL_DS_TX_MODE
{
NDIS_OID Oid;
ULONG ulMode;
} OID_MRVL_DS_TX_MODE, *POID_MRVL_DS_TX_MODE;
// OID_MRVL_RX_Mode Mode values
#define RX_MODE_NORMAL 0
#define RX_MODE_RDONLY 1
#define RX_MODE_MAX 2 // not a valid value, used as a upper limit
typedef struct _OID_DS_MRVL_RX_MODE
{
NDIS_OID Oid;
ULONG ulMode;
} OID_MRVL_DS_RX_MODE, *POID_MRVL_DS_RX_MODE;
// L2 Roaming data structure
typedef struct _OID_MRVL_DS_L2ROAMING
{
NDIS_OID Oid;
UCHAR Mode; // Off, Fixed level roaming, or auto level roaming
UCHAR Delta; // Delta from the original AP RSSI used for switching
// between 0-100. For example if 80% is desired, use 80
ULONG Period; // number of seconds between each period
} OID_MRVL_DS_L2ROAMING, *POID_MRVL_DS_L2ROAMING;
// Mode definition for OID_MRVL_DS_L2ROAMING
#define MRVL_L2ROAMING_MODE_OFF 0
#define MRVL_L2ROAMING_MODE_FIXED 1 // user picks the delta
#define MRVL_L2ROAMING_MODE_AUTO 2 // driver picks the delta
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -