258 lines
3.9 KiB
C
Raw Normal View History

2025-10-10 16:07:00 +08:00
#ifndef __REG_DOMAIN_H
#define __REG_DOMAIN_H
typedef enum {
PW_LMT_REGU_NULL = 0,
PW_LMT_REGU_FCC = 1,
PW_LMT_REGU_ETSI = 2,
PW_LMT_REGU_MKK = 3,
PW_LMT_REGU_EXT = 4,
}PW_LMT_REGULATION_TYPE;
typedef enum {
PW_LMT_RS_NULL =0,
PW_LMT_RS_CCK =1,
PW_LMT_RS_OFDM =2,
PW_LMT_RS_HT =3,
PW_LMT_RS_VHT =4,
PW_LMT_RS_HE =5,
}PW_LMT_RATESECTION_TYPE;
typedef enum {
PW_LMT_PH_NULL =0,
PW_LMT_PH_1T =1,
PW_LMT_PH_2T =2,
PW_LMT_PH_3T =3,
PW_LMT_PH_4T =4,
}PW_LMT_RFPATH_TYPE;
typedef enum {
PW_LMT_BAND_NULL =0,
PW_LMT_BAND_2_4G =1,
PW_LMT_BAND_5G =2,
}PW_LMT_BAND_TYPE;
typedef enum _ODM_PW_LMT_BW_TYPE{
PW_LMT_BW_NULL =0,
PW_LMT_BW_20M =1,
PW_LMT_BW_40M =2,
}PW_LMT_BW_TYPE;
typedef enum {
/* CHANNEL PLAN */
COUNTRY_WORLD1, // 0x20
COUNTRY_ETSI1, // 0x21
COUNTRY_FCC1, // 0x22
COUNTRY_MKK1, // 0x23
COUNTRY_ETSI2, // 0x24
COUNTRY_FCC2, // 0x2A
COUNTRY_WORLD2, // 0x47
COUNTRY_MKK2, // 0x58
COUNTRY_GLOBAL, // 0x41
/* SPECIAL */
COUNTRY_WORLD, // WORLD1
COUNTRY_EU, // ETSI1
/* JAPANESE */
COUNTRY_JP, // MKK1 11
/* FCC , 19 countries*/
COUNTRY_AS, // FCC2 12
COUNTRY_BM,
COUNTRY_CA,
COUNTRY_DM,
COUNTRY_DO,
COUNTRY_FM,
COUNTRY_GD,
COUNTRY_GT,
COUNTRY_GU,
COUNTRY_HT,
COUNTRY_MH,
COUNTRY_MP,
COUNTRY_NI,
COUNTRY_PA,
COUNTRY_PR,
COUNTRY_PW,
COUNTRY_TW,
COUNTRY_US,
COUNTRY_VI,
/* others, ETSI */
COUNTRY_AD, // ETSI1
COUNTRY_AE,
COUNTRY_AF,
COUNTRY_AI,
COUNTRY_AL,
COUNTRY_AM,
COUNTRY_AN,
COUNTRY_AR,
COUNTRY_AT,
COUNTRY_AU,
COUNTRY_AW,
COUNTRY_AZ,
COUNTRY_BA,
COUNTRY_BB,
COUNTRY_BD,
COUNTRY_BE,
COUNTRY_BF,
COUNTRY_BG,
COUNTRY_BH,
COUNTRY_BL,
COUNTRY_BN,
COUNTRY_BO,
COUNTRY_BR,
COUNTRY_BS,
COUNTRY_BT,
COUNTRY_BY,
COUNTRY_BZ,
COUNTRY_CF,
COUNTRY_CH,
COUNTRY_CI,
COUNTRY_CL,
COUNTRY_CN,
COUNTRY_CO,
COUNTRY_CR,
COUNTRY_CX,
COUNTRY_CY,
COUNTRY_CZ,
COUNTRY_DE,
COUNTRY_DK,
COUNTRY_DZ,
COUNTRY_EC,
COUNTRY_EE,
COUNTRY_EG,
COUNTRY_ES,
COUNTRY_ET,
COUNTRY_FI,
COUNTRY_FR,
COUNTRY_GB,
COUNTRY_GE,
COUNTRY_GF,
COUNTRY_GH,
COUNTRY_GL,
COUNTRY_GP,
COUNTRY_GR,
COUNTRY_GY,
COUNTRY_HK,
COUNTRY_HN,
COUNTRY_HR,
COUNTRY_HU,
COUNTRY_ID,
COUNTRY_IE,
COUNTRY_IL,
COUNTRY_IN,
COUNTRY_IQ,
COUNTRY_IR,
COUNTRY_IS,
COUNTRY_IT,
COUNTRY_JM,
COUNTRY_JO,
COUNTRY_KE,
COUNTRY_KH,
COUNTRY_KN,
COUNTRY_KP,
COUNTRY_KR,
COUNTRY_KW,
COUNTRY_KY,
COUNTRY_KZ,
COUNTRY_LA,
COUNTRY_LB,
COUNTRY_LC,
COUNTRY_LI,
COUNTRY_LK,
COUNTRY_LR,
COUNTRY_LS,
COUNTRY_LT,
COUNTRY_LU,
COUNTRY_LV,
COUNTRY_MA,
COUNTRY_MC,
COUNTRY_MD,
COUNTRY_ME,
COUNTRY_MF,
COUNTRY_MK,
COUNTRY_MN,
COUNTRY_MO,
COUNTRY_MQ,
COUNTRY_MR,
COUNTRY_MT,
COUNTRY_MU,
COUNTRY_MV,
COUNTRY_MW,
COUNTRY_MX,
COUNTRY_MY,
COUNTRY_NG,
COUNTRY_NL,
COUNTRY_NO,
COUNTRY_NP,
COUNTRY_NZ,
COUNTRY_OM,
COUNTRY_PE,
COUNTRY_PF,
COUNTRY_PG,
COUNTRY_PH,
COUNTRY_PK,
COUNTRY_PL,
COUNTRY_PM,
COUNTRY_PT,
COUNTRY_PY,
COUNTRY_QA,
COUNTRY_RS,
COUNTRY_RU,
COUNTRY_RW,
COUNTRY_SA,
COUNTRY_SE,
COUNTRY_SG,
COUNTRY_SI,
COUNTRY_SK,
COUNTRY_SN,
COUNTRY_SR,
COUNTRY_SV,
COUNTRY_SY,
COUNTRY_TC,
COUNTRY_TD,
COUNTRY_TG,
COUNTRY_TH,
COUNTRY_TN,
COUNTRY_TR,
COUNTRY_TT,
COUNTRY_TZ,
COUNTRY_UA,
COUNTRY_UG,
COUNTRY_UY,
COUNTRY_UZ,
COUNTRY_VC,
COUNTRY_VE,
COUNTRY_VN,
COUNTRY_VU,
COUNTRY_WF,
COUNTRY_WS,
COUNTRY_YE,
COUNTRY_YT,
COUNTRY_ZA,
COUNTRY_ZW,
COUNTRY_MAX
} country_code_t;
typedef struct {
char countrycode[3];
country_code_t country_code;
PW_LMT_REGULATION_TYPE regulation;
} Countryregulations;
extern Countryregulations country_regulation_table[];
extern uint8_t txpwr_lmt_tbl[];
uint32 bk_get_txpwr_lmt_tbl_size();
uint32 bk_get_txpwr_lmt_tbl_entry_size();
uint32 bk_get_txpwr_lmt_tbl_entry_power(uint32 chan_idx,uint32 regulation);
uint32 bk_get_country_regulation_table_size();
int pwr_tbl_set_chan_pwr(uint8_t channel, uint16_t pwr_11b,uint16_t pwr_11g, uint16_t pwr_ht20, uint16_t pwr_ht40);
#endif // __REG_DOMAIN_H