📄 hostcmd.h
字号:
typedef struct _HostCmd_DS_802_11_PAIRWISE_TSC {
u16 CmdCode;
u16 Size;
u16 SeqNum;
u16 Result;
u16 Action;
u32 Txlv32;
u16 Txlv16;
}__ATTRIB_PACK__ HostCmd_DS_802_11_PAIRWISE_TSC,
*PHostCmd_DS_802_11_PAIRWISE_TSC;
typedef struct _HostCmd_DS_802_11_GROUP_TSC {
u16 CmdCode;
u16 Size;
u16 SeqNum;
u16 Result;
u16 Action;
u32 Txlv32;
u16 Txlv16;
}__ATTRIB_PACK__ HostCmd_DS_802_11_GROUP_TSC,
*PHostCmd_DS_802_11_GROUP_TSC;
#ifdef WPA2
typedef union _KeyInfo_WEP_t {
u8 Reserved; /* bits 5-15: Reserved */
u8 WepKeyIndex; /* bits 1-4: Specifies the index of key */
u8 isWepDefaultKey; /* bit 0: Specifies that this key is to be used as the default for TX data packets */
} __ATTRIB_PACK__ KeyInfo_WEP_t;
typedef union _KeyInfo_TKIP_t {
u8 Reserved; /* bits 3-15: Reserved */
u8 isKeyEnabled; /* bit 2: Specifies that this key is enabled and valid to use */
u8 isUnicastKey; /* bit 1: Specifies that this key is to be used as the unicast key */
u8 isMulticastKey; /* bit 0: Specifies that this key is to be used as the multicast key */
} __ATTRIB_PACK__ KeyInfo_TKIP_t;
typedef union _KeyInfo_AES_t {
u8 Reserved; /* bits 3-15: Reserved */
u8 isKeyEnabled; /* bit 2: Specifies that this key is enabled and valid to use */
u8 isUnicastKey; /* bit 1: Specifies that this key is to be used as the unicast key */
u8 isMulticastKey; /* bit 0: Specifies that this key is to be used as the multicast key */
} __ATTRIB_PACK__ KeyInfo_AES_t;
typedef struct _KeyMaterial_TKIP_t {
u8 TkipKey[16]; /* TKIP encryption/decryption key */
u8 TkipTxMicKey[16]; /* TKIP TX MIC Key */
u8 TkipRxMicKey[16]; /* TKIP RX MIC Key */
} __ATTRIB_PACK__ KeyMaterial_TKIP_t,
*PKeyMaterial_TKIP_t;
typedef struct _KeyMaterial_AES_t {
u8 AesKey[16]; /* AES encryption/decryption key */
} __ATTRIB_PACK__ KeyMaterial_AES_t,
*PKeyMaterial_AES_t;
typedef struct _MrvlIEtype_KeyParamSet_t {
u16 Type; /* Type ID */
u16 Length; /* Length of Payload */
u16 KeyTypeId; /* Type of Key: WEP=0, TKIP=1, AES=2 */
u16 KeyInfo; /* Key Control Info specific to a KeyTypeId */
u16 KeyLen; /* Length of key */
u8 Key[32]; /* Key material of size KeyLen */
} __ATTRIB_PACK__ MrvlIEtype_KeyParamSet_t,
*PMrvlIEtype_KeyParamSet_t;
typedef struct _HostCmd_DS_802_11_KEY_MATERIAL {
u16 Action; /* ACT_SET
ACT_GET: return all the available keys
*/
MrvlIEtype_KeyParamSet_t KeyParamSet; /* Request:
Specified only with ACT_SET,
as many key parameter set as needed.
Response:
Return valid only for ACT_GET,
return as many as needed.
*/
} __ATTRIB_PACK__ HostCmd_DS_802_11_KEY_MATERIAL,
*PHostCmd_DS_802_11_KEY_MATERIAL;
#endif /* WPA2 */
#endif /* WPA */
#ifdef HOST_WAKEUP
typedef struct _HostCmd_DS_HOST_802_11_WAKE_UP_CFG {
u32 conditions; /* bit0=1: non-unicast data
bit1=1: unicast data
bit2=1: mac events
bit3=1: magic packet */
u8 gpio; /* 0xff if not uesed */
u8 gap; /* in milliseconds */
} __ATTRIB_PACK__ HostCmd_DS_802_11_HOST_WAKE_UP_CFG;
#endif
#ifdef CAL_DATA
typedef struct _HostCmd_DS_802_11_CAL_DATA {
u16 Action;
u8 Reserved1[9];
u8 PAOption; /* PA calibration options */
u8 ExtPA; /* type of external PA */
u8 Ant; /* Antenna selection */
u16 IntPA[14]; /* channel calibration */
u8 PAConfig[4]; /* RF register calibration */
u8 Reserved2[4];
u16 Domain; /* Regulatory Domain */
u8 ECO; /* ECO present or not */
u8 LCT_cal; /* VGA capacitor calibration */
u8 Reserved3[12];
} __ATTRIB_PACK__ HostCmd_DS_802_11_CAL_DATA,
*pHostCmd_DS_802_11_CAL_DATA;
typedef struct _HostCmd_DS_802_11_CAL_DATA_EXT {
u16 Action;
u16 Revision;
u16 CalDataLen;
u8 CalData[1024];
} __ATTRIB_PACK__ HostCmd_DS_802_11_CAL_DATA_EXT,
*pHostCmd_DS_802_11_CAL_DATA_EXT;
#endif /* CAL_DATA */
#ifdef MULTI_BANDS
typedef struct _HostCmd_DS_802_11_BAND_CONFIG {
u16 Action; /* 0: GET;
1: SET */
u16 BandSelection; /* Select 802.11b = 0 (2.4GHz) */
/* Select 802.11g = 1 (2.4GHz) */
/* Select 802.11a = 2 (5 GHz ) */
u16 Channel;
} __ATTRIB_PACK__ HostCmd_DS_802_11_BAND_CONFIG,
*pHostCmd_DS_802_11_BAND_CONFIG;
#endif
typedef struct _HostCmd_DS_802_11_EEPROM_ACCESS {
u16 Action; /* ACT_GET / ACT_SET */
u16 Offset; /* Multiple of 4. Example: 0, 4, 8 ... */
u16 ByteCount; /* Multiple of 4. Example: 4, 8, 12 ... */
u8 Value; /* The caller must provide a buffer of atleast
byte count size starting from here */
} __ATTRIB_PACK__ HostCmd_DS_802_11_EEPROM_ACCESS,
*pHostCmd_DS_802_11_EEPROM_ACCESS;
#ifdef GSPI8385
typedef struct _HostCmd_DS_CMD_GSPI_BUS_CONFIG {
u16 Action; /* ACT_GET / ACT_SET */
u16 BusDelayMode; /* Data format Bit[1:0], Delay method Bit[2] */
u16 HostTimeDelayToReadPort; /* Number of dummy clocks
to wait for read r/w port */
u16 HostTimeDelayToReadregister; /* Number of dummy
clocks to wait for read reg */
} __ATTRIB_PACK__ HostCmd_DS_CMD_GSPI_BUS_CONFIG,
*pHostCmd_DS_CMD_GSPI_BUS_CONFIG;
#endif /* GSPI8385 */
#ifdef BG_SCAN
typedef struct _HostCmd_DS_802_11_BG_SCAN_CONFIG {
u16 Action;
u8 Enable; /* 0 - Disable
1 - Enable */
u8 BssType; /* 1 - Infrastructure
2 - IBSS
3 - any */
u8 ChannelsPerScan; /* No of channels to scan at
one scan */
u8 DiscardWhenFull; /* 0 - Discard old scan results
1 - Discard new scan
results */
u16 ScanInternal; /* Interval b/w consecutive
scan */
u32 StoreCondition; /* - SSID Match
- Exceed RSSI threshold
- SSID Match & Exceed RSSI
Threshold
- Always */
u32 ReportConditions; /* - SSID Match
- Exceed RSSI threshold
- SSID Match & Exceed RSSI
Threshold
- Exceed MaxScanResults
- Entire channel list
scanned once
- Domain Mismatch in
country IE */
u16 MaxScanResults; /* Max scan results that will
trigger a scn completion
event */
// attach TLV based parameters as needed, e.g.
// MrvlIEtypes_SsIdParamSet_t SsIdParamSet;
// MrvlIEtypes_ChanListParamSet_t ChanListParamSet;
/* List Channel of in TLV scan
format */
// MrvlIEtypes_NumProbes_t NumProbes;
} __ATTRIB_PACK__ HostCmd_DS_802_11_BG_SCAN_CONFIG,
*pHostCmd_DS_802_11_BG_SCAN_CONFIG;
typedef struct _HostCmd_DS_802_11_BG_SCAN_QUERY {
u8 Flush;
} __ATTRIB_PACK__ HostCmd_DS_802_11_BG_SCAN_QUERY,
*pHostCmd_DS_802_11_BG_SCAN_QUERY;
typedef struct _HostCmd_DS_802_11_BG_SCAN_QUERY_RSP {
u32 ReportCondition;
HostCmd_DS_802_11_SCAN_RSP scanresp;
} __ATTRIB_PACK__ HostCmd_DS_802_11_BG_SCAN_QUERY_RSP,
*PHostCmd_DS_802_11_BG_SCAN_QUERY_RSP;
#endif /* BG_SCAN */
typedef struct _HostCmd_DS_802_11_GENERATE_ATIM {
u16 Action;
u16 Enable;
} __ATTRIB_PACK__ HostCmd_DS_802_11_GENERATE_ATIM,
*PHostCmd_DS_802_11_GENERATE_ATIM;
typedef struct _HostCmd_DS_802_11_TPC_CFG {
u16 Action;
u8 Enable;
char P0;
char P1;
char P2;
u8 UseSNR;
} __ATTRIB_PACK__ HostCmd_DS_802_11_TPC_CFG;
#ifdef LED_GPIO_CTRL
typedef struct _HostCmd_DS_802_11_LED_CTRL {
u16 Action;
u16 NumLed;
u8 data[256];
} __ATTRIB_PACK__ HostCmd_DS_802_11_LED_CTRL;
#endif
typedef struct _HostCmd_DS_802_11_PWR_CFG {
u16 Action;
u8 Enable;
char PA_P0;
char PA_P1;
char PA_P2;
} __ATTRIB_PACK__ HostCmd_DS_802_11_PWR_CFG;
#ifdef AUTO_FREQ_CTRL
typedef struct _HostCmd_DS_802_11_AFC {
u16 afc_auto;
union {
struct {
u16 threshold;
u16 period;
} auto_mode;
struct {
s16 timing_offset;
s16 carrier_offset;
} manual_mode;
} b;
} __ATTRIB_PACK__ HostCmd_DS_802_11_AFC;
#define afc_data b.data
#define afc_thre b.auto_mode.threshold
#define afc_period b.auto_mode.period
#define afc_toff b.manual_mode.timing_offset
#define afc_foff b.manual_mode.carrier_offset
#endif /* AUTO_FREQ_CTRL */
struct _HostCmd_DS_COMMAND {
u16 Command;
u16 Size;
u16 SeqNum;
u16 Result;
union {
HostCmd_DS_GET_HW_SPEC hwspec;
#ifdef PS_REQUIRED
HostCmd_DS_802_11_PS_MODE psmode;
#endif
HostCmd_DS_802_11_SCAN scan;
HostCmd_DS_802_11_SCAN_RSP scanresp;
HostCmd_DS_MAC_CONTROL macctrl;
HostCmd_DS_802_11_ASSOCIATE associate;
HostCmd_DS_802_11_ASSOCIATE_RSP associatersp;
HostCmd_DS_802_11_DEAUTHENTICATE deauth;
HostCmd_DS_802_11_SET_WEP wep;
HostCmd_DS_802_11_AD_HOC_START ads;
HostCmd_DS_802_11_RESET reset;
HostCmd_DS_802_11_QUERY_TRAFFIC traffic;
HostCmd_DS_802_11_QUERY_STATUS qstatus;
HostCmd_DS_802_11_AD_HOC_RESULT result;
HostCmd_DS_802_11_GET_LOG glog;
HostCmd_DS_802_11_AUTHENTICATE auth;
HostCmd_DS_802_11_AUTHENTICATE_RSP rauth;
HostCmd_DS_802_11_GET_STAT gstat;
HostCmd_DS_802_3_GET_STAT gstat_8023;
HostCmd_DS_802_11_SNMP_MIB smib;
HostCmd_DS_802_11_RF_TX_POWER txp;
HostCmd_DS_802_11_RF_ANTENNA rant;
HostCmd_DS_802_11_DATA_RATE drate;
HostCmd_DS_802_11_RATE_ADAPT_RATESET rateset;
HostCmd_DS_MAC_MULTICAST_ADR madr;
HostCmd_DS_802_11_AD_HOC_JOIN adj;
HostCmd_DS_802_11_RADIO_CONTROL radio;
HostCmd_DS_802_11_RF_CHANNEL rfchannel;
HostCmd_DS_802_11_RSSI rssi;
HostCmd_DS_802_11_RSSI_RSP rssirsp;
HostCmd_DS_802_11_DISASSOCIATE dassociate;
HostCmd_DS_802_11_AD_HOC_STOP adhoc_stop;
HostCmd_802_11_RFI rfi;
HostCmd_DS_802_11_PRE_TBTT pretbtt;
HostCmd_DS_802_11_MAC_ADDRESS macadd;
#ifdef BCA
HostCmd_DS_BCA_CONFIG bca_config;
#endif
#ifdef WPA
HostCmd_DS_802_11_QUERY_RSN_OPTION qryrsn;
HostCmd_DS_802_11_ENABLE_RSN enbrsn;
#ifndef WPA2
HostCmd_DS_802_11_UNICAST_CIPHER cipher;
HostCmd_DS_802_11_RSN_AUTH_SUITES rsnauth;
#endif
#ifdef WPA2
HostCmd_DS_802_11_KEY_MATERIAL keymaterial;
#endif //WPA2
HostCmd_DS_802_11_PWK_KEY pwkkey;
#ifndef WPA2
HostCmd_DS_802_11_GRP_KEY grpkey;
HostCmd_DS_802_11_CONFIG_RSN rsn;
#endif
#endif //WPA
#ifdef DTIM_PERIOD
HostCmd_DS_802_11_SET_DTIM_MULTIPLE mdtim;
#endif
HostCmd_DS_MAC_REG_ACCESS macreg;
HostCmd_DS_BBP_REG_ACCESS bbpreg;
HostCmd_DS_RF_REG_ACCESS rfreg;
#ifdef PASSTHROUGH_MODE
HostCmd_DS_802_11_PASSTHROUGH passthrough;
#endif
HostCmd_DS_802_11_BEACON_STOP beacon_stop;
#ifdef CAL_DATA
HostCmd_DS_802_11_CAL_DATA caldata;
HostCmd_DS_802_11_CAL_DATA_EXT caldataext;
#endif
#ifdef HOST_WAKEUP
HostCmd_DS_802_11_HOST_WAKE_UP_CFG hostwakeupcfg;
#endif
#ifdef MULTI_BANDS
HostCmd_DS_802_11_BAND_CONFIG band;
#endif
HostCmd_DS_802_11_EEPROM_ACCESS rdeeprom;
#ifdef GSPI8385
HostCmd_DS_CMD_GSPI_BUS_CONFIG gspicfg;
#endif /* GSPI8385 */
HostCmd_DS_802_11_GENERATE_ATIM genatim;
#ifdef ENABLE_802_11D
HostCmd_DS_802_11D_DOMAIN_INFO domaininfo;
HostCmd_DS_802_11D_DOMAIN_INFO_RSP domaininforesp;
#endif
#ifdef ENABLE_802_11H_TPC
HostCmd_DS_802_11H_TPC_REQUEST tpcrequest;
HostCmd_DS_802_11H_TPC_REQUEST_RSP tpcrequestresp;
HostCmd_DS_802_11H_TPC_INFO tpcinfo;
HostCmd_DS_802_11H_TPC_INFO_RSP tpcinforesp;
#endif
#ifdef BG_SCAN
HostCmd_DS_802_11_BG_SCAN_CONFIG bgscancfg;
HostCmd_DS_802_11_BG_SCAN_QUERY bgscanquery;
HostCmd_DS_802_11_BG_SCAN_QUERY_RSP bgscanqueryresp;
#endif /* BG_SCAN */
#ifdef WMM
HostCmd_DS_802_11_WMM_TSPEC tspec;
HostCmd_DS_802_11_WMM_ACK_POLICY ackpolicy;
HostCmd_DS_802_11_WMM_GET_STATUS getstatus;
HostCmd_DS_802_11_WMM_PRIO_PKT_AVAIL priopktavail;
#endif /* WMM */
HostCmd_DS_802_11_SLEEP_PARAMS sleep_params;
HostCmd_DS_802_11_BCA_TIMESHARE bca_timeshare;
HostCmd_DS_802_11_INACTIVITY_TIMEOUT inactivity_timeout;
HostCmd_DS_802_11_SLEEP_PERIOD ps_sleeppd;
HostCmd_DS_802_11_TPC_CFG tpccfg;
HostCmd_DS_802_11_PWR_CFG pwrcfg;
#ifdef AUTO_FREQ_CTRL
HostCmd_DS_802_11_AFC afc;
#endif
#ifdef LED_GPIO_CTRL
HostCmd_DS_802_11_LED_CTRL ledgpio;
#endif
#ifdef PS_REQUIRED
#ifdef FW_WAKEUP_METHOD
HostCmd_DS_802_11_FW_WAKEUP_METHOD fwwakeupmethod;
#endif
#endif
#ifdef SUBSCRIBE_EVENT_CTRL
HostCmd_DS_802_11_SUBSCRIBE_EVENT events;
#endif
} params;
} __ATTRIB_PACK__;
#define S_DS_GEN sizeof(HostCmd_DS_GEN)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -