cfg80211.h (e200809190fd8472fe525b2527ff1122b37999ac) cfg80211.h (51b461b3db33b7cd7cbc62c9206568321f7298ad)
1/*-
2 * Copyright (c) 2020-2021 The FreeBSD Foundation
1/*-
2 * Copyright (c) 2020-2021 The FreeBSD Foundation
3 * Copyright (c) 2021 Bjoern A. Zeeb
3 * Copyright (c) 2021-2022 Bjoern A. Zeeb
4 *
5 * This software was developed by Björn Zeeb under sponsorship from
6 * the FreeBSD Foundation.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright

--- 105 unchanged lines hidden (view full) ---

117
118struct cfg80211_bitrate_mask {
119 /* TODO FIXME */
120 /* This is so weird but nothing else works out...*/
121 struct {
122 uint64_t legacy; /* XXX? */
123 uint8_t ht_mcs[16]; /* XXX? */
124 uint16_t vht_mcs[16]; /* XXX? */
4 *
5 * This software was developed by Björn Zeeb under sponsorship from
6 * the FreeBSD Foundation.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright

--- 105 unchanged lines hidden (view full) ---

117
118struct cfg80211_bitrate_mask {
119 /* TODO FIXME */
120 /* This is so weird but nothing else works out...*/
121 struct {
122 uint64_t legacy; /* XXX? */
123 uint8_t ht_mcs[16]; /* XXX? */
124 uint16_t vht_mcs[16]; /* XXX? */
125 uint16_t he_mcs[16]; /* XXX? */
125 uint8_t gi; /* NL80211_TXRATE_FORCE_LGI enum? */
126 } control[NUM_NL80211_BANDS];
127};
128
129struct rate_info {
130 /* TODO FIXME */
131 int bw, flags, he_dcm, he_gi, he_ru_alloc, legacy, mcs, nss;
132};

--- 177 unchanged lines hidden (view full) ---

310
311struct cfg80211_pmsr_result {
312 /* XXX TODO */
313 int ap_tsf, ap_tsf_valid, final, host_time, status, type;
314 uint8_t addr[ETH_ALEN];
315 struct cfg80211_pmsr_ftm_result ftm;
316};
317
126 uint8_t gi; /* NL80211_TXRATE_FORCE_LGI enum? */
127 } control[NUM_NL80211_BANDS];
128};
129
130struct rate_info {
131 /* TODO FIXME */
132 int bw, flags, he_dcm, he_gi, he_ru_alloc, legacy, mcs, nss;
133};

--- 177 unchanged lines hidden (view full) ---

311
312struct cfg80211_pmsr_result {
313 /* XXX TODO */
314 int ap_tsf, ap_tsf_valid, final, host_time, status, type;
315 uint8_t addr[ETH_ALEN];
316 struct cfg80211_pmsr_ftm_result ftm;
317};
318
319struct cfg80211_sar_freq_ranges {
320 uint32_t start_freq;
321 uint32_t end_freq;
322};
323
324struct cfg80211_sar_sub_specs {
325 uint32_t freq_range_index;
326 int power;
327};
328
329struct cfg80211_sar_specs {
330 enum nl80211_sar_type type;
331 uint32_t num_sub_specs;
332 struct cfg80211_sar_sub_specs sub_specs[];
333};
334
335struct cfg80211_sar_capa {
336 enum nl80211_sar_type type;
337 uint32_t num_freq_ranges;
338 const struct cfg80211_sar_freq_ranges *freq_ranges;
339};
340
318struct cfg80211_ssid {
319 int ssid_len;
320 uint8_t ssid[IEEE80211_MAX_SSID_LEN];
321};
322
323struct cfg80211_scan_6ghz_params {
324 /* XXX TODO */
325 uint8_t *bssid;

--- 269 unchanged lines hidden (view full) ---

595#define IEEE80211_HE_MAC_CAP1_MULTI_TID_AGG_RX_QOS_8 0x2
596#define IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_16US 0x4
597
598#define IEEE80211_HE_MAC_CAP2_32BIT_BA_BITMAP 0x1
599#define IEEE80211_HE_MAC_CAP2_ACK_EN 0x2
600#define IEEE80211_HE_MAC_CAP2_BSR 0x4
601#define IEEE80211_HE_MAC_CAP2_LINK_ADAPTATION 0x8
602#define IEEE80211_HE_MAC_CAP2_BCAST_TWT 0x10
341struct cfg80211_ssid {
342 int ssid_len;
343 uint8_t ssid[IEEE80211_MAX_SSID_LEN];
344};
345
346struct cfg80211_scan_6ghz_params {
347 /* XXX TODO */
348 uint8_t *bssid;

--- 269 unchanged lines hidden (view full) ---

618#define IEEE80211_HE_MAC_CAP1_MULTI_TID_AGG_RX_QOS_8 0x2
619#define IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_16US 0x4
620
621#define IEEE80211_HE_MAC_CAP2_32BIT_BA_BITMAP 0x1
622#define IEEE80211_HE_MAC_CAP2_ACK_EN 0x2
623#define IEEE80211_HE_MAC_CAP2_BSR 0x4
624#define IEEE80211_HE_MAC_CAP2_LINK_ADAPTATION 0x8
625#define IEEE80211_HE_MAC_CAP2_BCAST_TWT 0x10
626#define IEEE80211_HE_MAC_CAP2_ALL_ACK 0x20
603
604#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2 0x1
605#define IEEE80211_HE_MAC_CAP3_OMI_CONTROL 0x2
606#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_1 0x10
627
628#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2 0x1
629#define IEEE80211_HE_MAC_CAP3_OMI_CONTROL 0x2
630#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_1 0x10
607#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3 0x20
608#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK 0x30
631#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2 0x20
632#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3 0x40
633#define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK 0x70
609#define IEEE80211_HE_MAC_CAP3_RX_CTRL_FRAME_TO_MULTIBSS 0x80
610
611#define IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU 0x1
612#define IEEE80211_HE_MAC_CAP4_BQR 0x2
613#define IEEE80211_HE_MAC_CAP4_MULTI_TID_AGG_TX_QOS_B39 0x4
614#define IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU 0x8
634#define IEEE80211_HE_MAC_CAP3_RX_CTRL_FRAME_TO_MULTIBSS 0x80
635
636#define IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU 0x1
637#define IEEE80211_HE_MAC_CAP4_BQR 0x2
638#define IEEE80211_HE_MAC_CAP4_MULTI_TID_AGG_TX_QOS_B39 0x4
639#define IEEE80211_HE_MAC_CAP4_AMSDU_IN_AMPDU 0x8
640#define IEEE80211_HE_MAC_CAP4_OPS 0x10
615
616#define IEEE80211_HE_MAC_CAP5_HE_DYNAMIC_SM_PS 0x1
617#define IEEE80211_HE_MAC_CAP5_HT_VHT_TRIG_FRAME_RX 0x2
618#define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B40 0x4
619#define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B41 0x8
620#define IEEE80211_HE_MAC_CAP5_UL_2x996_TONE_RU 0x10
621
622#define IEEE80211_HE_MCS_NOT_SUPPORTED 0x0

--- 5 unchanged lines hidden (view full) ---

628#define IEEE80211_HE_6GHZ_CAP_RX_ANTPAT_CONS 0x02
629#define IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START 0x04
630#define IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN 0x08
631#define IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP 0x10
632
633#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G 0x1
634#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G 0x2
635#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G 0x4
641
642#define IEEE80211_HE_MAC_CAP5_HE_DYNAMIC_SM_PS 0x1
643#define IEEE80211_HE_MAC_CAP5_HT_VHT_TRIG_FRAME_RX 0x2
644#define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B40 0x4
645#define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B41 0x8
646#define IEEE80211_HE_MAC_CAP5_UL_2x996_TONE_RU 0x10
647
648#define IEEE80211_HE_MCS_NOT_SUPPORTED 0x0

--- 5 unchanged lines hidden (view full) ---

654#define IEEE80211_HE_6GHZ_CAP_RX_ANTPAT_CONS 0x02
655#define IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START 0x04
656#define IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN 0x08
657#define IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP 0x10
658
659#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G 0x1
660#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G 0x2
661#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G 0x4
662#define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G 0x8
636
637#define IEEE80211_HE_PHY_CAP1_DEVICE_CLASS_A 0x1
638#define IEEE80211_HE_PHY_CAP1_LDPC_CODING_IN_PAYLOAD 0x2
639#define IEEE80211_HE_PHY_CAP1_MIDAMBLE_RX_TX_MAX_NSTS 0x4
640#define IEEE80211_HE_PHY_CAP1_PREAMBLE_PUNC_RX_MASK 0x8
663
664#define IEEE80211_HE_PHY_CAP1_DEVICE_CLASS_A 0x1
665#define IEEE80211_HE_PHY_CAP1_LDPC_CODING_IN_PAYLOAD 0x2
666#define IEEE80211_HE_PHY_CAP1_MIDAMBLE_RX_TX_MAX_NSTS 0x4
667#define IEEE80211_HE_PHY_CAP1_PREAMBLE_PUNC_RX_MASK 0x8
668#define IEEE80211_HE_PHY_CAP1_HE_LTF_AND_GI_FOR_HE_PPDUS_0_8US 0x10
641
642#define IEEE80211_HE_PHY_CAP2_MIDAMBLE_RX_TX_MAX_NSTS 0x1
643#define IEEE80211_HE_PHY_CAP2_NDP_4x_LTF_AND_3_2US 0x2
644#define IEEE80211_HE_PHY_CAP2_STBC_TX_UNDER_80MHZ 0x4
645#define IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ 0x8
669
670#define IEEE80211_HE_PHY_CAP2_MIDAMBLE_RX_TX_MAX_NSTS 0x1
671#define IEEE80211_HE_PHY_CAP2_NDP_4x_LTF_AND_3_2US 0x2
672#define IEEE80211_HE_PHY_CAP2_STBC_TX_UNDER_80MHZ 0x4
673#define IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ 0x8
674#define IEEE80211_HE_PHY_CAP2_DOPPLER_TX 0x10
646
647#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK 0x1
648#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_NO_DCM 0x2
649#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_NO_DCM 0x4
650#define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 0x8
651#define IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_1 0x10
675
676#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK 0x1
677#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_NO_DCM 0x2
678#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_NO_DCM 0x4
679#define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 0x8
680#define IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_1 0x10
681#define IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER 0x20
682#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM 0x40
683#define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_16_QAM 0x80
684#define IEEE80211_HE_PHY_CAP3_DCM_MAX_TX_NSS_2 0x100
685#define IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU 0x200
652
653#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_8 0x1
654#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_8 0x2
655#define IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE 0x4
686
687#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_8 0x1
688#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_ABOVE_80MHZ_8 0x2
689#define IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE 0x4
690#define IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER 0x8
691#define IEEE80211_HE_PHY_CAP4_BEAMFORMEE_MAX_STS_UNDER_80MHZ_4 0x10
656
657#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_2 0x1
658#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_2 0x2
692
693#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_2 0x1
694#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_2 0x2
695#define IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_MASK 0x4
696#define IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK 0x8
697#define IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK 0x10
659
660#define IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT 0x1
661#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB 0x2
662#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB 0x4
698
699#define IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT 0x1
700#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB 0x2
701#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB 0x4
663#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB 0x10
702#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB 0x8
664#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB 0x20
703#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB 0x20
704#define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU 0x40
705#define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU 0x80
706#define IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE 0x80
665
666#define IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI 0x1
667#define IEEE80211_HE_PHY_CAP7_MAX_NC_1 0x2
668#define IEEE80211_HE_PHY_CAP7_MAX_NC_2 0x4
669#define IEEE80211_HE_PHY_CAP7_MAX_NC_MASK 0x6
670#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR 0x8
671#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP 0x10
672#define IEEE80211_HE_PHY_CAP7_STBC_RX_ABOVE_80MHZ 0x20
673
674#define IEEE80211_HE_PHY_CAP8_20MHZ_IN_160MHZ_HE_PPDU 0x1
675#define IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G 0x2
676#define IEEE80211_HE_PHY_CAP8_80MHZ_IN_160MHZ_HE_PPDU 0x4
677#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_2x996 0x8
678#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_242 0x10
679#define IEEE80211_HE_PHY_CAP8_HE_ER_SU_PPDU_4XLTF_AND_08_US_GI 0x20
707
708#define IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI 0x1
709#define IEEE80211_HE_PHY_CAP7_MAX_NC_1 0x2
710#define IEEE80211_HE_PHY_CAP7_MAX_NC_2 0x4
711#define IEEE80211_HE_PHY_CAP7_MAX_NC_MASK 0x6
712#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR 0x8
713#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP 0x10
714#define IEEE80211_HE_PHY_CAP7_STBC_RX_ABOVE_80MHZ 0x20
715
716#define IEEE80211_HE_PHY_CAP8_20MHZ_IN_160MHZ_HE_PPDU 0x1
717#define IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G 0x2
718#define IEEE80211_HE_PHY_CAP8_80MHZ_IN_160MHZ_HE_PPDU 0x4
719#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_2x996 0x8
720#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_242 0x10
721#define IEEE80211_HE_PHY_CAP8_HE_ER_SU_PPDU_4XLTF_AND_08_US_GI 0x20
722#define IEEE80211_HE_PHY_CAP8_DCM_MAX_RU_996 0x40
723#define IEEE80211_HE_PHY_CAP8_HE_ER_SU_1XLTF_AND_08_US_GI 0x80
680
681#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_0US 0x1
682#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US 0x2
683#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_8US 0x4
684#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK 0x8
685#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED 0x10
686#define IEEE80211_HE_PHY_CAP9_NON_TRIGGERED_CQI_FEEDBACK 0x20
687#define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB 0x40
688#define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB 0x80
689#define IEEE80211_HE_PHY_CAP9_RX_1024_QAM_LESS_THAN_242_TONE_RU 0x100
690#define IEEE80211_HE_PHY_CAP9_TX_1024_QAM_LESS_THAN_242_TONE_RU 0x200
724
725#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_0US 0x1
726#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US 0x2
727#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_8US 0x4
728#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_MASK 0x8
729#define IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_RESERVED 0x10
730#define IEEE80211_HE_PHY_CAP9_NON_TRIGGERED_CQI_FEEDBACK 0x20
731#define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB 0x40
732#define IEEE80211_HE_PHY_CAP9_RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB 0x80
733#define IEEE80211_HE_PHY_CAP9_RX_1024_QAM_LESS_THAN_242_TONE_RU 0x100
734#define IEEE80211_HE_PHY_CAP9_TX_1024_QAM_LESS_THAN_242_TONE_RU 0x200
735#define IEEE80211_HE_PHY_CAP9_LONGER_THAN_16_SIGB_OFDM_SYM 0x400
691
692#define IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF 0x1
693
694#define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT)
695
696struct ieee80211_he_cap_elem {
697 u8 mac_cap_info[6];
698 u8 phy_cap_info[11];

--- 146 unchanged lines hidden (view full) ---

845 struct mac_address *addresses;
846 int n_addresses;
847 uint32_t flags;
848 struct ieee80211_supported_band *bands[NUM_NL80211_BANDS];
849 uint8_t perm_addr[ETH_ALEN];
850
851 /* XXX TODO */
852 const struct cfg80211_pmsr_capabilities *pmsr_capa;
736
737#define IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF 0x1
738
739#define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT)
740
741struct ieee80211_he_cap_elem {
742 u8 mac_cap_info[6];
743 u8 phy_cap_info[11];

--- 146 unchanged lines hidden (view full) ---

890 struct mac_address *addresses;
891 int n_addresses;
892 uint32_t flags;
893 struct ieee80211_supported_band *bands[NUM_NL80211_BANDS];
894 uint8_t perm_addr[ETH_ALEN];
895
896 /* XXX TODO */
897 const struct cfg80211_pmsr_capabilities *pmsr_capa;
898 const struct cfg80211_sar_capa *sar_capa;
853 const struct wiphy_iftype_ext_capab *iftype_ext_capab;
854 const struct linuxkpi_ieee80211_regdomain *regd;
855 char fw_version[64]; /* XXX TODO */
856 const struct ieee80211_iface_combination *iface_combinations;
857 const uint32_t *cipher_suites;
858 int n_iface_combinations;
859 int n_cipher_suites;
860 void(*reg_notifier)(struct wiphy *, struct regulatory_request *);

--- 278 unchanged lines hidden (view full) ---

1139 else
1140 return (EPERM);
1141
1142 /* XXX FIXME, do we have to do anything with reg_notifier? */
1143 return (0);
1144}
1145
1146static __inline int
899 const struct wiphy_iftype_ext_capab *iftype_ext_capab;
900 const struct linuxkpi_ieee80211_regdomain *regd;
901 char fw_version[64]; /* XXX TODO */
902 const struct ieee80211_iface_combination *iface_combinations;
903 const uint32_t *cipher_suites;
904 int n_iface_combinations;
905 int n_cipher_suites;
906 void(*reg_notifier)(struct wiphy *, struct regulatory_request *);

--- 278 unchanged lines hidden (view full) ---

1185 else
1186 return (EPERM);
1187
1188 /* XXX FIXME, do we have to do anything with reg_notifier? */
1189 return (0);
1190}
1191
1192static __inline int
1147regulatory_hint(struct wiphy *wiphy, uint8_t *alpha2)
1193regulatory_hint(struct wiphy *wiphy, const uint8_t *alpha2)
1148{
1149 TODO();
1150 return (-ENXIO);
1151}
1152
1153static __inline struct linuxkpi_ieee80211_regdomain *
1154rtnl_dereference(const struct linuxkpi_ieee80211_regdomain *regd)
1155{

--- 334 unchanged lines hidden ---
1194{
1195 TODO();
1196 return (-ENXIO);
1197}
1198
1199static __inline struct linuxkpi_ieee80211_regdomain *
1200rtnl_dereference(const struct linuxkpi_ieee80211_regdomain *regd)
1201{

--- 334 unchanged lines hidden ---