old mode 100644new mode 100755| .. | .. |
|---|
| 713 | 713 | |
|---|
| 714 | 714 | #define WL_SCAN_PARAMS_SSID_MAX 10 |
|---|
| 715 | 715 | |
|---|
| 716 | | -typedef struct wl_scan_params_v1 { |
|---|
| 716 | +struct wl_scan_params { |
|---|
| 717 | 717 | wlc_ssid_t ssid; /**< default: {0, ""} */ |
|---|
| 718 | 718 | struct ether_addr bssid; /**< default: bcast */ |
|---|
| 719 | 719 | int8 bss_type; /**< default: any, |
|---|
| .. | .. |
|---|
| 744 | 744 | * parameter portion is assumed, otherwise ssid in |
|---|
| 745 | 745 | * the fixed portion is ignored |
|---|
| 746 | 746 | */ |
|---|
| 747 | | - uint16 channel_list[BCM_FLEX_ARRAY]; |
|---|
| 748 | | -} wl_scan_params_v1_t; |
|---|
| 749 | | - |
|---|
| 750 | | -/** size of wl_scan_params_v1 not including variable length array */ |
|---|
| 751 | | -#define WL_SCAN_PARAMS_V1_FIXED_SIZE (OFFSETOF(wl_scan_params_v1_t, channel_list)) |
|---|
| 752 | | -#define WL_MAX_ROAMSCAN_V1_DATSZ \ |
|---|
| 753 | | - (WL_SCAN_PARAMS_V1_FIXED_SIZE + (WL_NUMCHANNELS * sizeof(uint16))) |
|---|
| 747 | + uint16 channel_list[1]; /**< list of chanspecs */ |
|---|
| 748 | +}; |
|---|
| 754 | 749 | |
|---|
| 755 | 750 | /* changes in wl_scan_params_v2 as comapred to wl_scan_params (v1) |
|---|
| 756 | 751 | * unit8 scantype to uint32 |
|---|
| .. | .. |
|---|
| 862 | 857 | #define WL_MAX_ROAMSCAN_V3_DATSZ \ |
|---|
| 863 | 858 | (WL_SCAN_PARAMS_V3_FIXED_SIZE + (WL_NUMCHANNELS * sizeof(uint16))) |
|---|
| 864 | 859 | |
|---|
| 865 | | -#define ISCAN_REQ_VERSION_V1 1 |
|---|
| 860 | +#define ISCAN_REQ_VERSION 1 |
|---|
| 866 | 861 | #define ISCAN_REQ_VERSION_V2 2 |
|---|
| 867 | 862 | |
|---|
| 868 | 863 | /** incremental scan struct */ |
|---|
| 869 | | -typedef struct wl_iscan_params_v1 { |
|---|
| 864 | +struct wl_iscan_params { |
|---|
| 870 | 865 | uint32 version; |
|---|
| 871 | 866 | uint16 action; |
|---|
| 872 | 867 | uint16 scan_duration; |
|---|
| 873 | | - struct wl_scan_params_v1 params; |
|---|
| 874 | | -} wl_iscan_params_v1_t; |
|---|
| 868 | + struct wl_scan_params params; |
|---|
| 869 | +}; |
|---|
| 875 | 870 | |
|---|
| 876 | 871 | /** incremental scan struct */ |
|---|
| 877 | 872 | typedef struct wl_iscan_params_v2 { |
|---|
| .. | .. |
|---|
| 900 | 895 | uint32 buflen; |
|---|
| 901 | 896 | uint32 version; |
|---|
| 902 | 897 | uint32 count; |
|---|
| 903 | | - wl_bss_info_v109_t bss_info[BCM_FLEX_ARRAY]; |
|---|
| 898 | + wl_bss_info_v109_t bss_info[1]; |
|---|
| 904 | 899 | } wl_scan_results_v109_t; |
|---|
| 905 | | -#define WL_SCAN_RESULTS_V109_FIXED_SIZE (OFFSETOF(wl_scan_results_v109_t, bss_info)) |
|---|
| 906 | 900 | |
|---|
| 907 | 901 | typedef struct wl_scan_results_v2 { |
|---|
| 908 | 902 | uint32 buflen; |
|---|
| .. | .. |
|---|
| 926 | 920 | } iscan_buf_t; |
|---|
| 927 | 921 | #endif /* SIMPLE_ISCAN */ |
|---|
| 928 | 922 | #define ESCAN_REQ_VERSION 1 |
|---|
| 929 | | -#define ESCAN_REQ_VERSION_V1 1 |
|---|
| 930 | 923 | #define ESCAN_REQ_VERSION_V2 2 |
|---|
| 931 | 924 | |
|---|
| 932 | | -typedef struct wl_escan_params_v1 { |
|---|
| 925 | +/** event scan reduces amount of SOC memory needed to store scan results */ |
|---|
| 926 | +struct wl_escan_params { |
|---|
| 933 | 927 | uint32 version; |
|---|
| 934 | 928 | uint16 action; |
|---|
| 935 | 929 | uint16 sync_id; |
|---|
| 936 | | - struct wl_scan_params_v1 params; |
|---|
| 937 | | -} wl_escan_params_v1_t; |
|---|
| 930 | + struct wl_scan_params params; |
|---|
| 931 | +}; |
|---|
| 938 | 932 | |
|---|
| 939 | 933 | typedef struct wl_escan_params_v2 { |
|---|
| 940 | 934 | uint32 version; |
|---|
| .. | .. |
|---|
| 950 | 944 | wl_scan_params_v3_t params; |
|---|
| 951 | 945 | } wl_escan_params_v3_t; |
|---|
| 952 | 946 | |
|---|
| 953 | | -#define WL_ESCAN_PARAMS_V1_FIXED_SIZE (OFFSETOF(wl_escan_params_v1_t, params) + sizeof(wlc_ssid_t)) |
|---|
| 947 | +#define WL_ESCAN_PARAMS_FIXED_SIZE (OFFSETOF(wl_escan_params_t, params) + sizeof(wlc_ssid_t)) |
|---|
| 954 | 948 | #define WL_ESCAN_PARAMS_V2_FIXED_SIZE (OFFSETOF(wl_escan_params_v2_t, params) + sizeof(wlc_ssid_t)) |
|---|
| 955 | 949 | #define WL_ESCAN_PARAMS_V3_FIXED_SIZE (OFFSETOF(wl_escan_params_v3_t, params) + sizeof(wlc_ssid_t)) |
|---|
| 956 | 950 | /* New scan version is defined then change old version of scan to |
|---|
| .. | .. |
|---|
| 973 | 967 | typedef struct wl_iscan_params_v2 wl_iscan_params_t; |
|---|
| 974 | 968 | #define WL_SCAN_PARAMS_FIXED_SIZE (OFFSETOF(wl_scan_params_t, channel_list)) |
|---|
| 975 | 969 | #else |
|---|
| 976 | | -typedef struct wl_scan_params_v1 wl_scan_params_t; |
|---|
| 977 | | -typedef struct wl_escan_params_v1 wl_escan_params_t; |
|---|
| 978 | | -typedef struct wl_iscan_params_v1 wl_iscan_params_t; |
|---|
| 970 | +typedef struct wl_scan_params wl_scan_params_t; |
|---|
| 971 | +typedef struct wl_escan_params wl_escan_params_t; |
|---|
| 972 | +typedef struct wl_iscan_params wl_iscan_params_t; |
|---|
| 979 | 973 | #define WL_SCAN_PARAMS_FIXED_SIZE 64 |
|---|
| 980 | 974 | #endif /* WL_SCAN_PARAMS_V3 */ |
|---|
| 981 | 975 | |
|---|
| .. | .. |
|---|
| 985 | 979 | uint32 version; |
|---|
| 986 | 980 | uint16 sync_id; |
|---|
| 987 | 981 | uint16 bss_count; |
|---|
| 988 | | - wl_bss_info_v109_t bss_info[BCM_FLEX_ARRAY]; |
|---|
| 982 | + wl_bss_info_v109_t bss_info[1]; |
|---|
| 989 | 983 | } wl_escan_result_v109_t; |
|---|
| 990 | | -#define WL_ESCAN_RESULTS_V109_FIXED_SIZE (OFFSETOF(wl_escan_result_v109_t, bss_info)) |
|---|
| 991 | 984 | |
|---|
| 992 | 985 | /** event scan reduces amount of SOC memory needed to store scan results */ |
|---|
| 993 | 986 | typedef struct wl_escan_result_v2 { |
|---|
| .. | .. |
|---|
| 2313 | 2306 | |
|---|
| 2314 | 2307 | #define WL_STA_VER_4 4 |
|---|
| 2315 | 2308 | #define WL_STA_VER_5 5 |
|---|
| 2316 | | -#define WL_STA_VER_6 6u |
|---|
| 2317 | 2309 | /* FIXME: the user/branch should make the selection! */ |
|---|
| 2318 | 2310 | #define WL_STA_VER WL_STA_VER_4 |
|---|
| 2319 | 2311 | |
|---|
| .. | .. |
|---|
| 6238 | 6230 | #define WL_ICMP_CFG_IPV6_LEN(count) (WL_ICMP_CFG_IPV6_FIXED_LEN + \ |
|---|
| 6239 | 6231 | ((count) * sizeof(struct ipv6_addr))) |
|---|
| 6240 | 6232 | |
|---|
| 6241 | | -typedef struct wl_mkeep_alive_pkt_v1 { |
|---|
| 6242 | | - uint16 version; /* Version for mkeep_alive */ |
|---|
| 6243 | | - uint16 length; /* length of fixed parameters in the structure */ |
|---|
| 6244 | | - uint32 period_msec; /* high bit on means immediate send */ |
|---|
| 6245 | | - uint16 len_bytes; |
|---|
| 6246 | | - uint8 keep_alive_id; /* 0 - 3 for N = 4 */ |
|---|
| 6247 | | - uint8 data[BCM_FLEX_ARRAY]; |
|---|
| 6248 | | -} wl_mkeep_alive_pkt_v1_t; |
|---|
| 6249 | | - |
|---|
| 6250 | 6233 | typedef struct wl_mkeep_alive_pkt { |
|---|
| 6251 | 6234 | uint16 version; /* Version for mkeep_alive */ |
|---|
| 6252 | 6235 | uint16 length; /* length of fixed parameters in the structure */ |
|---|
| .. | .. |
|---|
| 6256 | 6239 | uint8 data[1]; |
|---|
| 6257 | 6240 | } wl_mkeep_alive_pkt_t; |
|---|
| 6258 | 6241 | |
|---|
| 6259 | | -#define WL_MKEEP_ALIVE_VERSION_1 1u |
|---|
| 6260 | 6242 | #define WL_MKEEP_ALIVE_VERSION 1 |
|---|
| 6261 | 6243 | #define WL_MKEEP_ALIVE_FIXED_LEN OFFSETOF(wl_mkeep_alive_pkt_t, data) |
|---|
| 6262 | 6244 | /* 1/2 second precision since idle time is a seconds counter anyway */ |
|---|
| .. | .. |
|---|
| 21245 | 21227 | */ |
|---|
| 21246 | 21228 | |
|---|
| 21247 | 21229 | /* TWT Setup descriptor */ |
|---|
| 21248 | | - |
|---|
| 21249 | | -/* Any change to wl_twt_sdesc is not possible without affecting this ROMed structure |
|---|
| 21250 | | - * in various current branches. Hence to use new updated structure wl_twt_sdesc_v1 |
|---|
| 21251 | | - * typecast it to wl_twt_sdesc_t and define WL_TWT_SDESC_TYPEDEF_HAS_ALIAS |
|---|
| 21252 | | - * in required branches |
|---|
| 21253 | | - */ |
|---|
| 21254 | | -#ifndef WL_TWT_SDESC_TYPEDEF_HAS_ALIAS |
|---|
| 21255 | 21230 | typedef struct wl_twt_sdesc { |
|---|
| 21256 | 21231 | /* Setup Command. */ |
|---|
| 21257 | 21232 | uint8 setup_cmd; /* See TWT_SETUP_CMD_XXXX in 802.11ah.h */ |
|---|
| .. | .. |
|---|
| 21273 | 21248 | /* deprecated - to be removed */ |
|---|
| 21274 | 21249 | uint16 li; |
|---|
| 21275 | 21250 | } wl_twt_sdesc_t; |
|---|
| 21276 | | -#endif /* WL_TWT_SDESC_TYPEDEF_HAS_ALIAS */ |
|---|
| 21277 | 21251 | |
|---|
| 21278 | 21252 | #define WL_TWT_SETUP_DESC_VER 1u |
|---|
| 21279 | 21253 | |
|---|
| .. | .. |
|---|
| 21309 | 21283 | uint16 version; /* structure version */ |
|---|
| 21310 | 21284 | uint16 length; /* data length (starting after this field) */ |
|---|
| 21311 | 21285 | uint8 negotiation_type; /* Negotiation Type: See macros TWT_NEGO_TYPE_X */ |
|---|
| 21312 | | - uint8 configID; /* TWT Configuration ID */ |
|---|
| 21313 | | - uint8 flow_flags; /* Flow Flags Configuration. See WL_TWT_FLOW_FLAG_XXXX */ |
|---|
| 21314 | | - uint8 PAD; |
|---|
| 21286 | + uint8 PAD[3]; |
|---|
| 21315 | 21287 | uint32 wake_time_h; /* target wake time - BSS TSF (us) */ |
|---|
| 21316 | 21288 | uint32 wake_time_l; |
|---|
| 21317 | 21289 | uint32 wake_dur; /* target wake duration in unit of microseconds */ |
|---|
| .. | .. |
|---|
| 21321 | 21293 | uint32 wake_dur_min; /* Min. wake duration allowed for TWT Setup */ |
|---|
| 21322 | 21294 | uint32 wake_dur_max; /* Max. wake duration allowed for TWT Setup */ |
|---|
| 21323 | 21295 | uint32 avg_pkt_num; /* Average Number of Packets per interval */ |
|---|
| 21324 | | - uint32 avg_pkt_size; /* Average packet size for TWT SP */ |
|---|
| 21325 | 21296 | } wl_twt_cdesc_t; |
|---|
| 21326 | 21297 | |
|---|
| 21327 | 21298 | /* Flow flags */ |
|---|
| .. | .. |
|---|
| 21345 | 21316 | |
|---|
| 21346 | 21317 | #define WL_TWT_INV_BCAST_ID 0xFFu |
|---|
| 21347 | 21318 | #define WL_TWT_INV_FLOW_ID 0xFFu |
|---|
| 21348 | | -#define WL_TWT_INV_CONFIG_ID 0xFFu |
|---|
| 21349 | | -#define WL_TWT_ALL_TWT_CONFIG_ID 0u /* ConfigID 0 corresponds to All TWT */ |
|---|
| 21350 | | - |
|---|
| 21351 | | -#define WL_TWT_INV_WAKE_DUR 0xFFFFFFFFu |
|---|
| 21352 | | -#define WL_TWT_INV_WAKE_INT 0xFFFFFFFFu |
|---|
| 21353 | | -#define WL_TWT_INV_PKT_NUM 0xFFFFFFFFu |
|---|
| 21354 | | -#define WL_TWT_INV_PKT_SIZE 0xFFFFFFFFu |
|---|
| 21355 | | -#define WL_TWT_INV_WAKE_TIME 0xFFFFFFFFu |
|---|
| 21356 | 21319 | |
|---|
| 21357 | 21320 | /* auto flow_id */ |
|---|
| 21358 | 21321 | #define WL_TWT_SETUP_FLOW_ID_AUTO 0xFFu |
|---|
| .. | .. |
|---|
| 21369 | 21332 | #define WL_TWT_STATS_MAX_BTWT WL_TWT_MAX_BTWT |
|---|
| 21370 | 21333 | #define WL_TWT_STATS_MAX_ITWT WL_TWT_MAX_ITWT |
|---|
| 21371 | 21334 | |
|---|
| 21372 | | -/* TWT States */ |
|---|
| 21373 | 21335 | #define WL_TWT_INACTIVE 0u /* Resource is not allotted */ |
|---|
| 21374 | | -#define WL_TWT_ACTIVE 1u /* Resource is allotted and HEB is programmed */ |
|---|
| 21375 | | -#define WL_TWT_SUSPEND 2u /* Resource is suspended and HEB released */ |
|---|
| 21376 | | -#define WL_TWT_RESERVED 3u /* Resource is allotted but HEB is not yet programmed */ |
|---|
| 21336 | +#define WL_TWT_RESERVED 1u /* Resource is allotted but HEB is not yet programmed */ |
|---|
| 21337 | +#define WL_TWT_ACTIVE 2u /* Resource is allotted and HEB is programmed */ |
|---|
| 21338 | +#define WL_TWT_SUSPEND 3u /* Resource is suspended and HEB released */ |
|---|
| 21377 | 21339 | |
|---|
| 21378 | 21340 | /* Wake type */ |
|---|
| 21379 | 21341 | /* TODO: not yet finalized */ |
|---|
| .. | .. |
|---|
| 21394 | 21356 | uint16 length; /* data length (starting after this field) */ |
|---|
| 21395 | 21357 | struct ether_addr peer; /* Peer address - leave it all 0s' for AP */ |
|---|
| 21396 | 21358 | uint8 pad[2]; |
|---|
| 21397 | | -#ifndef WL_TWT_SDESC_TYPEDEF_HAS_ALIAS /* Use either legacy structure or |
|---|
| 21398 | | - * the new versioned structure |
|---|
| 21399 | | - */ |
|---|
| 21400 | 21359 | wl_twt_sdesc_t desc; /* Setup Descriptor */ |
|---|
| 21401 | | -#else |
|---|
| 21402 | | - struct wl_twt_sdesc_v1 desc; |
|---|
| 21403 | | -#endif /* WL_TWT_SDESC_TYPEDEF_HAS_ALIAS */ |
|---|
| 21404 | 21360 | uint16 dialog; /* Deprecated - to be removed */ |
|---|
| 21405 | 21361 | uint8 pad1[2]; |
|---|
| 21406 | 21362 | } wl_twt_setup_t; |
|---|
| .. | .. |
|---|
| 21436 | 21392 | struct ether_addr peer; /* leave it all 0s' for AP */ |
|---|
| 21437 | 21393 | wl_twt_teardesc_t teardesc; /* Teardown descriptor */ |
|---|
| 21438 | 21394 | |
|---|
| 21439 | | - /* deprecated - to be removed - Start here */ |
|---|
| 21395 | + /* deprecated - to be removed */ |
|---|
| 21440 | 21396 | uint8 flow_flags; |
|---|
| 21441 | 21397 | uint8 flow_id; |
|---|
| 21442 | 21398 | uint8 bid; |
|---|
| 21443 | | - /* deprecated - to be removed - End here */ |
|---|
| 21444 | | - |
|---|
| 21445 | | - uint8 configID; /* TWT Configuration ID */ |
|---|
| 21399 | + uint8 pad; |
|---|
| 21446 | 21400 | } wl_twt_teardown_t; |
|---|
| 21447 | 21401 | |
|---|
| 21448 | 21402 | /* twt information descriptor */ |
|---|
| .. | .. |
|---|
| 21476 | 21430 | uint16 length; /* data length (starting after this field) */ |
|---|
| 21477 | 21431 | /* peer address */ |
|---|
| 21478 | 21432 | struct ether_addr peer; /* leave it all 0s' for AP */ |
|---|
| 21479 | | - uint8 configID; /* TWT Configuration ID */ |
|---|
| 21480 | | - uint8 pad[1]; |
|---|
| 21433 | + uint8 pad[2]; |
|---|
| 21481 | 21434 | wl_twt_infodesc_t infodesc; /* information descriptor */ |
|---|
| 21482 | 21435 | /* deprecated - to be removed */ |
|---|
| 21483 | 21436 | wl_twt_idesc_t desc; |
|---|
| .. | .. |
|---|
| 21493 | 21446 | typedef struct wl_twt_status { |
|---|
| 21494 | 21447 | uint8 state; /* TWT State */ |
|---|
| 21495 | 21448 | uint8 heb_id; /* HEB ID */ |
|---|
| 21496 | | - uint8 configID; /* TWT Configuration ID */ |
|---|
| 21497 | | - uint8 PAD[1]; |
|---|
| 21449 | + uint8 PAD[2]; |
|---|
| 21498 | 21450 | struct ether_addr peer; |
|---|
| 21499 | 21451 | uint8 PAD[2]; |
|---|
| 21500 | | - uint32 avg_pkt_num; /* Average Packet number per TWT SP Interval */ |
|---|
| 21501 | | - uint32 avg_pkt_size; /* Average Packet size for TWT SP */ |
|---|
| 21502 | | -#ifndef WL_TWT_SDESC_TYPEDEF_HAS_ALIAS /* Use either legacy structure or |
|---|
| 21503 | | - * the new versioned structure |
|---|
| 21504 | | - */ |
|---|
| 21505 | | - wl_twt_sdesc_t desc; /* Setup Descriptor */ |
|---|
| 21506 | | -#else |
|---|
| 21507 | | - struct wl_twt_sdesc_v1 desc; |
|---|
| 21508 | | -#endif /* WL_TWT_SDESC_TYPEDEF_HAS_ALIAS */ |
|---|
| 21452 | + wl_twt_sdesc_t desc; /* TWT Descriptor */ |
|---|
| 21509 | 21453 | } wl_twt_status_t; |
|---|
| 21510 | 21454 | |
|---|
| 21511 | 21455 | /* wl twt status output */ |
|---|
| .. | .. |
|---|
| 21524 | 21468 | uint16 version; |
|---|
| 21525 | 21469 | uint16 length; |
|---|
| 21526 | 21470 | struct ether_addr peer; |
|---|
| 21527 | | - uint8 configID; |
|---|
| 21528 | | - uint8 PAD; |
|---|
| 21471 | + uint8 PAD[2]; |
|---|
| 21529 | 21472 | } wl_twt_status_cmd_v1_t; |
|---|
| 21530 | 21473 | |
|---|
| 21531 | 21474 | #define WL_TWT_PEER_STATS_VERSION_1 1u |
|---|
| .. | .. |
|---|
| 21558 | 21501 | wl_twt_peer_stats_v1_t peer_stats_list[]; |
|---|
| 21559 | 21502 | } wl_twt_stats_v1_t; |
|---|
| 21560 | 21503 | |
|---|
| 21561 | | -#define WL_TWT_PEER_STATS_VERSION_2 2u |
|---|
| 21562 | | -typedef struct wl_twt_peer_stats_v2 { |
|---|
| 21563 | | - uint16 version; |
|---|
| 21564 | | - uint16 length; |
|---|
| 21565 | | - struct ether_addr peer; |
|---|
| 21566 | | - uint8 id; /* TWT session ID */ |
|---|
| 21567 | | - uint8 flow_flags; |
|---|
| 21568 | | - uint8 configID; /* TWT Configuration ID */ |
|---|
| 21569 | | - uint8 PAD[3]; |
|---|
| 21570 | | - uint32 sp_seq; /* sequence number of the service period */ |
|---|
| 21571 | | - uint32 tx_ucast_pkts; /* Number of unicast Tx packets in TWT SPs */ |
|---|
| 21572 | | - uint32 tx_pkts_min; /* Minimum number of Tx packets in a TWT SP */ |
|---|
| 21573 | | - uint32 tx_pkts_max; /* Maximum number of Tx packets in a TWT SP */ |
|---|
| 21574 | | - uint32 tx_pkts_avg; /* Average number of Tx packets in each TWT SP */ |
|---|
| 21575 | | - uint32 tx_failures; /* Tx packets failure count */ |
|---|
| 21576 | | - uint32 rx_ucast_pkts; /* Number of unicast Rx packets in TWT SPs */ |
|---|
| 21577 | | - uint32 rx_pkts_min; /* Minimum number of Rx packets in a TWT SP */ |
|---|
| 21578 | | - uint32 rx_pkts_max; /* Maximum number of Rx packets in a TWT SP */ |
|---|
| 21579 | | - uint32 rx_pkts_avg; /* Average number of Rx packets in each TWT SP */ |
|---|
| 21580 | | - uint32 rx_pkts_retried; /* retried Rx packets count */ |
|---|
| 21581 | | - uint32 tx_pkt_sz_avg; /* Average Tx packet size in TWT SPs */ |
|---|
| 21582 | | - uint32 rx_pkt_sz_avg; /* Average Rx Packet size in TWT SPs */ |
|---|
| 21583 | | - uint32 eosp_dur_avg; /* Average Wake duration in SPs ended due to EOSP */ |
|---|
| 21584 | | - uint32 eosp_count; /* Count of TWT SPs ended due to EOSP */ |
|---|
| 21585 | | -} wl_twt_peer_stats_v2_t; |
|---|
| 21586 | | - |
|---|
| 21587 | | -#define WL_TWT_STATS_VERSION_2 2u |
|---|
| 21588 | | -typedef struct wl_twt_stats_v2 { |
|---|
| 21589 | | - uint16 version; |
|---|
| 21590 | | - uint16 length; |
|---|
| 21591 | | - uint32 num_stats; /* number of peer stats in the peer_stats_list */ |
|---|
| 21592 | | - wl_twt_peer_stats_v2_t peer_stats_list[]; |
|---|
| 21593 | | -} wl_twt_stats_v2_t; |
|---|
| 21594 | | - |
|---|
| 21595 | 21504 | #define WL_TWT_STATS_CMD_VERSION_1 1 |
|---|
| 21596 | 21505 | #define WL_TWT_STATS_CMD_FLAGS_RESET (1u << 0u) |
|---|
| 21597 | 21506 | /* HE TWT stats command */ |
|---|
| .. | .. |
|---|
| 21599 | 21508 | uint16 version; |
|---|
| 21600 | 21509 | uint16 length; |
|---|
| 21601 | 21510 | struct ether_addr peer; |
|---|
| 21602 | | - uint8 configID; /* TWT Configuration ID */ |
|---|
| 21603 | | - uint8 PAD; |
|---|
| 21511 | + uint8 PAD[2]; |
|---|
| 21604 | 21512 | uint16 flags; /* see WL_TWT_STATS_CMD_FLAGS */ |
|---|
| 21605 | 21513 | uint8 num_fid; |
|---|
| 21606 | 21514 | uint8 num_bid; |
|---|