X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/03e8a3a945b60fac8e7b750625d2927519a0a21b..15950a617ef9b9952534c1a18c1b0fcd5d2d46f2:/package/libertas/src/hostcmd.h diff --git a/package/libertas/src/hostcmd.h b/package/libertas/src/hostcmd.h index be325eda6..71d9a554e 100644 --- a/package/libertas/src/hostcmd.h +++ b/package/libertas/src/hostcmd.h @@ -136,8 +136,8 @@ struct cmd_ds_get_hw_spec { /* Number of antenna used */ __le16 nr_antenna; - /* FW release number, example 1,2,3,4 = 3.2.1p4 */ - u8 fwreleasenumber[4]; + /* FW release number, example 0x01030304 = 2.3.4p1 */ + __le32 fwrelease; /* Base Address of TxPD queue */ __le32 wcb_base; @@ -174,9 +174,11 @@ struct cmd_ds_802_11_subscribe_event { * Define data structure for CMD_802_11_SCAN */ struct cmd_ds_802_11_scan { - u8 bsstype; - u8 bssid[ETH_ALEN]; - u8 tlvbuffer[1]; + struct cmd_header hdr; + + uint8_t bsstype; + uint8_t bssid[ETH_ALEN]; + uint8_t tlvbuffer[0]; #if 0 mrvlietypes_ssidparamset_t ssidParamSet; mrvlietypes_chanlistparamset_t ChanListParamSet; @@ -185,12 +187,16 @@ struct cmd_ds_802_11_scan { }; struct cmd_ds_802_11_scan_rsp { + struct cmd_header hdr; + __le16 bssdescriptsize; - u8 nr_sets; - u8 bssdesc_and_tlvbuffer[1]; + uint8_t nr_sets; + uint8_t bssdesc_and_tlvbuffer[0]; }; struct cmd_ds_802_11_get_log { + struct cmd_header hdr; + __le32 mcasttxframe; __le32 failed; __le32 retry; @@ -207,8 +213,9 @@ struct cmd_ds_802_11_get_log { }; struct cmd_ds_mac_control { + struct cmd_header hdr; __le16 action; - __le16 reserved; + u16 reserved; }; struct cmd_ds_mac_multicast_adr { @@ -420,6 +427,8 @@ struct cmd_ds_802_11_rssi_rsp { }; struct cmd_ds_802_11_mac_address { + struct cmd_header hdr; + __le16 action; u8 macadd[ETH_ALEN]; }; @@ -471,14 +480,11 @@ struct cmd_ds_802_11_ps_mode { __le16 locallisteninterval; }; -struct PS_CMD_ConfirmSleep { - __le16 command; - __le16 size; - __le16 seqnum; - __le16 result; +struct cmd_confirm_sleep { + struct cmd_header hdr; __le16 action; - __le16 reserved1; + __le16 nullpktinterval; __le16 multipledtim; __le16 reserved; __le16 locallisteninterval; @@ -572,17 +578,20 @@ struct cmd_ds_host_sleep { } __attribute__ ((packed)); struct cmd_ds_802_11_key_material { + struct cmd_header hdr; + __le16 action; struct MrvlIEtype_keyParamSet keyParamSet[2]; } __attribute__ ((packed)); struct cmd_ds_802_11_eeprom_access { + struct cmd_header hdr; __le16 action; - - /* multiple 4 */ __le16 offset; - __le16 bytecount; - u8 value; + __le16 len; + /* firmware says it returns a maximum of 20 bytes */ +#define LBS_EEPROM_READ_LEN 20 + u8 value[LBS_EEPROM_READ_LEN]; } __attribute__ ((packed)); struct cmd_ds_802_11_tpc_cfg { @@ -597,15 +606,7 @@ struct cmd_ds_802_11_tpc_cfg { struct cmd_ds_802_11_led_ctrl { __le16 action; __le16 numled; - u8 data[256]; -} __attribute__ ((packed)); - -struct cmd_ds_802_11_pwr_cfg { - __le16 action; - u8 enable; - s8 PA_P0; - s8 PA_P1; - s8 PA_P2; + u8 data[288]; } __attribute__ ((packed)); struct cmd_ds_802_11_afc { @@ -689,15 +690,11 @@ struct cmd_ds_command { /* command Body */ union { struct cmd_ds_802_11_ps_mode psmode; - struct cmd_ds_802_11_scan scan; - struct cmd_ds_802_11_scan_rsp scanresp; - struct cmd_ds_mac_control macctrl; struct cmd_ds_802_11_associate associate; struct cmd_ds_802_11_deauthenticate deauth; struct cmd_ds_802_11_ad_hoc_start ads; struct cmd_ds_802_11_reset reset; struct cmd_ds_802_11_ad_hoc_result result; - struct cmd_ds_802_11_get_log glog; struct cmd_ds_802_11_authenticate auth; struct cmd_ds_802_11_get_stat gstat; struct cmd_ds_802_3_get_stat gstat_8023; @@ -711,18 +708,14 @@ struct cmd_ds_command { struct cmd_ds_802_11_rssi rssi; struct cmd_ds_802_11_rssi_rsp rssirsp; struct cmd_ds_802_11_disassociate dassociate; - struct cmd_ds_802_11_mac_address macadd; - struct cmd_ds_802_11_key_material keymaterial; struct cmd_ds_mac_reg_access macreg; struct cmd_ds_bbp_reg_access bbpreg; struct cmd_ds_rf_reg_access rfreg; - struct cmd_ds_802_11_eeprom_access rdeeprom; struct cmd_ds_802_11d_domain_info domaininfo; struct cmd_ds_802_11d_domain_info domaininforesp; struct cmd_ds_802_11_tpc_cfg tpccfg; - struct cmd_ds_802_11_pwr_cfg pwrcfg; struct cmd_ds_802_11_afc afc; struct cmd_ds_802_11_led_ctrl ledgpio;