📄 oid.h
字号:
/******************* ?Marvell Semiconductor, Inc., 2004 ********************
*
* Purpose:
*
* Structure and constant definition for custome OID supported by
* the driver
*
* Notes:
*
* $Author: schiu $
*
* $Date: 2004/10/21 $
*
* $Revision: #3 $
*
*****************************************************************************/
#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
///#ifdef CCX
#ifdef FUNK_CCX
typedef enum
{
OID_FSW_CCX_CONFIGURATION = 0xFFCCA000,
OID_FSW_CCX_NETWORK_EAP,
OID_FSW_CCX_ROGUE_AP_DETECTED,
OID_FSW_CCX_REPORT_ROGUE_APS,
OID_FSW_CCX_AUTH_SUCCESS,
OID_FSW_CCX_CCKM_START, /* not an OID - Status message */
OID_FSW_CCX_CCKM_REQUEST, /* new one */
OID_FSW_CCX_CCKM_RESULT
} FUNK_CCX_OID;
#endif
// ****************************************************************************
// 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_SLEEP
#define OID_MRVL_HOST_SLEEP_CFG 0xff010224
#define OID_MRVL_WAKEUP_DEVICE 0xff01023A
#endif //HOST_WAKEUP
#define OID_MRVL_SLEEP_PARAMS 0xff010225
#ifdef WMM
#define OID_MRVL_WMM_STATE 0xff010234
#define OID_MRVL_WMM_ACK_POLICY 0xff010235
#define OID_MRVL_WMM_STATUS 0xff010236
#endif //WMM
#define OID_MRVL_SLEEP_PERIOD 0xff010237
#ifdef HOST_SLEEP_SYNC_PS
#define OID_MRVL_HOST_WAKE_UP_SYNC_PS 0xff010230
#endif
#define OID_MRVL_FW_WAKE_METHOD 0xff010231
#define OID_MRVL_INACTIVITY_TIMEOUT 0xff010232
#ifdef NEW_RSSI
#define OID_MRVL_RSSI_BCNAVG 0xff01023C
#define OID_MRVL_RSSI_DATAAVG 0xff01023D
#define OID_MRVL_RSSI_THRESHOLDTIMER 0xff01023E
#endif
//ahan, [2005-12-13] ++dralee_20060217
#define OID_MRVL_SUBSCRIBE_EVENT 0xff01023F
#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 /* BG_SCAN */
#ifdef CIPHER_TEST
#define OID_MRVL_KEY_ENCRYPT 0xff010244
#define OID_MRVL_CRYPTO 0xff010245
#endif
#define OID_MRVL_802_11D_ENABLE 0xff010246
//dralee_20060509
#define OID_MRVL_802_11_GET_LOG 0xff010247
#define OID_MRVL_802_11_BAND_CFG 0xff01024B
#ifdef GET_TX_RATE
#define OID_MRVL_GET_TX_RATE 0xff010248
#endif
#define OID_MRVL_GET_RX_INFO 0xff010249
#ifdef PA_CFG_EXT
#define OID_MRVL_POWER_ADAPT_CFG_EXT 0xff01024A
#endif
//dralee_20060515
#define OID_MRVL_LOCAL_LISTEN_INTERVAL 0xff010260
//dralee_20060601
#ifdef IBSS_COALESCE
#define OID_MRVL_IBSS_COALESCING_CFG 0xff010261
#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[1];
} OID_MRVL_DS_EEPROM_ACCESS, *POID_MRVL_DS_EEPROM_ACCESS;
#ifdef ENABLE_802_11D
typedef struct _OID_MRVL_DS_REGION_CODE
{
//dralee 081005, V4
//NDIS_OID Oid;
//ULONG ulRegionCode;
ULONG bIsEnable;
USHORT usRegionCode; // 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
// minmum roaming period is 30 seconds
#define MRVL_L2ROAMING_MIN_PERIOD 30
#if 0 //tt ++ v5 firmware
typedef struct _OID_MRVL_DS_LED_CONTROL
{
NDIS_OID Oid;
ULONG GpioNum; // GPIO number for LED(=0, 0-7)
ULONG LedCycle; // LED Cycle: 0-5, or ON/OFF
ULONG DutyCycle; // LED Duty Cycle: 0-4
} OID_MRVL_DS_LED_CONTROL, *POID_MRVL_DS_LED_CONTROL;
#endif //0 //tt -- firmware
// Define LED cycles
#define MRVL_LED_CONTROL_LED_CYCLE_37MS 0x0
#define MRVL_LED_CONTROL_LED_CYCLE_74MS 0x1
#define MRVL_LED_CONTROL_LED_CYCLE_149MS 0x2
#define MRVL_LED_CONTROL_LED_CYCLE_298MS 0x3
#define MRVL_LED_CONTROL_LED_CYCLE_596MS 0x4
#define MRVL_LED_CONTROL_LED_CYCLE_1192MS 0x5
#define MRVL_LED_CONTROL_LED_ON 0xfffd /* LED ON */
#define MRVL_LED_CONTROL_LED_OFF 0xffff /* LED OFF */
/*
Define LED duty cycles
*/
#define MRVL_LED_CONTROL_LED_DUTY_CYCLE_2 0x0 /* 1/2 */
#define MRVL_LED_CONTROL_LED_DUTY_CYCLE_4 0x1 /* 1/4 */
#define MRVL_LED_CONTROL_LED_DUTY_CYCLE_8 0x2 /* 1/8 */
#define MRVL_LED_CONTROL_LED_DUTY_CYCLE_16 0x3 /* 1/16 */
#define MRVL_LED_CONTROL_LED_DUTY_CYCLE_32 0x4 /* 1/32 */
typedef struct _OID_MRVL_DS_MULTIPLE_DTIM
{
NDIS_OID Oid;
#ifdef MRVL_USE_MULTIPLE_DTIM
USHORT DtimNum;
#else
UCHAR DtimNum; /* multiple of DTIM from AP */
#endif
} OID_MRVL_DS_MULTIPLE_DTIM, *POID_MRVL_DS_MULTIPLE_DTIM;
#ifdef DEEP_SLEEP
typedef struct _OID_MRVL_DS_DEEP_SLEEP
{
ULONG ulEnterDeepSleep;
} OID_MRVL_DS_DEEP_SLEEP, *POID_MRVL_DS_DEEP_SLEEP;
#endif
#ifdef HOST_SLEEP
#pragma pack(1)
typedef struct _OID_DS_WakeUpFilterEntry
{
USHORT AddressType;
USHORT EthType;
ULONG Ipv4Addr;
} OID_DS_WakeUpFilterEntry, *POID_DS_WakeUpFilterEntry;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -