• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  * Description: Header files shared by wlan_types.h and wlan_types_rom.h.
15  * Author:
16  */
17 
18 #ifndef __WLAN_TYPES_BASE_ROM_H__
19 #define __WLAN_TYPES_BASE_ROM_H__
20 
21 #include "td_base.h"
22 #include "wlan_custom_type.h"
23 
24 #ifdef __cplusplus
25 #if __cplusplus
26 extern "C" {
27 #endif
28 #endif
29 
30 /*****************************************************************************
31     枚举定义
32 *****************************************************************************/
33 /*****************************************************************************
34   3.1 基本枚举类型
35 *****************************************************************************/
36 /* 管理帧子类型 */
37 typedef enum {
38     WLAN_ASSOC_REQ              = 0,    /* 0000 */
39     WLAN_ASSOC_RSP              = 1,    /* 0001 */
40     WLAN_REASSOC_REQ            = 2,    /* 0010 */
41     WLAN_REASSOC_RSP            = 3,    /* 0011 */
42     WLAN_PROBE_REQ              = 4,    /* 0100 */
43     WLAN_PROBE_RSP              = 5,    /* 0101 */
44     WLAN_TIMING_AD              = 6,    /* 0110 */
45     WLAN_MGMT_SUBTYPE_RESV1     = 7,    /* 0111 */
46     WLAN_BEACON                 = 8,    /* 1000 */
47     WLAN_ATIM                   = 9,    /* 1001 */
48     WLAN_DISASOC                = 10,   /* 1010 */
49     WLAN_AUTH                   = 11,   /* 1011 */
50     WLAN_DEAUTH                 = 12,   /* 1100 */
51     WLAN_ACTION                 = 13,   /* 1101 */
52     WLAN_ACTION_NO_ACK          = 14,   /* 1110 */
53     WLAN_MGMT_SUBTYPE_RESV2     = 15,   /* 1111 */
54 
55     WLAN_MGMT_SUBTYPE_BUTT      = 16    /* 一共16种管理帧子类型 */
56 } wlan_frame_mgmt_subtype_enum;
57 
58 /* 不应该BUTT后续存在枚举 */
59 typedef enum {
60     WLAN_WME_AC_BE = 0,    /* best effort */
61     WLAN_WME_AC_BK = 1,    /* background */
62     WLAN_WME_AC_VI = 2,    /* video */
63     WLAN_WME_AC_VO = 3,    /* voice */
64 
65     WLAN_WME_AC_BUTT = 4,
66     WLAN_WME_AC_MGMT = WLAN_WME_AC_BUTT,   /* 管理AC,协议没有,对应硬件高优先级队列 */
67 
68     WLAN_WME_AC_PSM = 5,    /* 节能AC, 协议没有,对应硬件组播队列 */
69 } wlan_wme_ac_type_enum;
70 typedef osal_u8 wlan_wme_ac_type_enum_uint8;
71 
72 /* TID编号类别 */
73 typedef enum {
74     WLAN_TIDNO_BEST_EFFORT              = 0, /* BE业务 */
75     WLAN_TIDNO_BACKGROUND               = 1, /* BK业务 */
76     WLAN_TIDNO_UAPSD                    = 2, /* U-APSD */
77     WLAN_TIDNO_ANT_TRAINING_LOW_PRIO    = 3, /* 智能天线低优先级训练帧 */
78     WLAN_TIDNO_ANT_TRAINING_HIGH_PRIO   = 4, /* 智能天线高优先级训练帧 */
79     WLAN_TIDNO_VIDEO                    = 5, /* VI业务 */
80     WLAN_TIDNO_VOICE                    = 6, /* VO业务 */
81     WLAN_TIDNO_BCAST                    = 7, /* 广播用户的广播或者组播报文 */
82 
83     WLAN_TIDNO_BUTT
84 } wlan_tidno_enum;
85 typedef osal_u8 wlan_tidno_enum_uint8;
86 
87 /* TID编号类别放入平台 */
88 
89 /* VAP的工作模式 */
90 typedef enum {
91     WLAN_VAP_MODE_CONFIG,        /* 配置模式 */
92     WLAN_VAP_MODE_BSS_STA,       /* BSS STA模式 */
93     WLAN_VAP_MODE_BSS_AP,        /* BSS AP模式 */
94     WLAN_VAP_MODE_WDS,           /* WDS模式 */
95     WLAN_VAP_MODE_MONITOER,      /* 侦听模式 */
96     WLAN_VAP_HW_TEST,
97 
98     WLAN_VAP_MODE_BUTT
99 } wlan_vap_mode_enum;
100 typedef osal_u8 wlan_vap_mode_enum_uint8;
101 
102 typedef enum {
103     WLAN_BAND_2G,
104     WLAN_BAND_5G,
105 
106     WLAN_BAND_BUTT
107 } wlan_channel_band_enum;
108 typedef osal_u8 wlan_channel_band_enum_uint8;
109 
110 /* 认证算法 */
111 typedef enum {
112     WLAN_WITP_AUTH_OPEN_SYSTEM = 0,
113     WLAN_WITP_AUTH_SHARED_KEY,
114     WLAN_WITP_AUTH_FT,
115     WLAN_WITP_AUTH_SAE, /* 802.11-2016协议查得认证帧中Auth Alg mode 字段3为SAE认证 */
116     WLAN_WITP_AUTH_NETWORK_EAP,
117     WLAN_WITP_AUTH_AUTOMATIC,
118 
119     WLAN_WITP_AUTH_BUTT
120 } wlan_auth_alg_mode_enum;
121 typedef osal_u8 wlan_auth_alg_mode_enum_uint8;
122 
123 typedef enum {
124     /* 注意: wlan_cipher_key_type_enum和hal_key_type_enum 值一致, 如果硬件有改变,则应该在HAL 层封装 */
125     /* 此处保持和协议规定额秘钥类型一致 */
126     WLAN_KEY_TYPE_TX_GTK              = 0,  /* TX GTK */
127     WLAN_KEY_TYPE_PTK                 = 1,  /* PTK */
128     WLAN_KEY_TYPE_RX_GTK              = 2,  /* RX GTK */
129     WLAN_KEY_TYPE_RX_GTK2             = 3,  /* RX GTK2 51不用 */
130     WLAN_KEY_TYPE_BUTT
131 } wlan_cipher_key_type_enum;
132 typedef osal_u8 wlan_cipher_key_type_enum_uint8;
133 
134 typedef enum {
135     /* 注意: wlan_key_origin_enum_uint8和hal_key_origin_enum_uint8 值一致, 如果硬件有改变,则应该在HAL 层封装 */
136     WLAN_AUTH_KEY = 0,      /* Indicates that for this key, this STA is the authenticator */
137     WLAN_SUPP_KEY = 1,      /* Indicates that for this key, this STA is the supplicant */
138 
139     WLAN_KEY_ORIGIN_BUTT
140 } wlan_key_origin_enum;
141 typedef osal_u8 wlan_key_origin_enum_uint8;
142 
143 typedef enum {
144     /* 按照80211-2012/ 11ac-2013 协议 Table 8-99 Cipher suite selectors 定义 */
145     WLAN_80211_CIPHER_SUITE_GROUP_CIPHER = 0,
146     WLAN_80211_CIPHER_SUITE_WEP_40       = 1,
147     WLAN_80211_CIPHER_SUITE_TKIP         = 2,
148     WLAN_80211_CIPHER_SUITE_RSV          = 3,
149     WLAN_80211_CIPHER_SUITE_NO_ENCRYP    = WLAN_80211_CIPHER_SUITE_RSV, /* 采用协议定义的保留值做不加密类型 */
150     WLAN_80211_CIPHER_SUITE_CCMP         = 4,
151     WLAN_80211_CIPHER_SUITE_WEP_104      = 5,
152     WLAN_80211_CIPHER_SUITE_BIP          = 6,
153     WLAN_80211_CIPHER_SUITE_GROUP_DENYD  = 7,
154     WLAN_80211_CIPHER_SUITE_GCMP         = 8,             /* GCMP-128 default for a DMG STA */
155     WLAN_80211_CIPHER_SUITE_GCMP_256     = 9,
156     WLAN_80211_CIPHER_SUITE_CCMP_256     = 10,
157     WLAN_80211_CIPHER_SUITE_BIP_GMAC_128 = 11,           /* BIP GMAC 128 */
158     WLAN_80211_CIPHER_SUITE_BIP_GMAC_256 = 12,           /* BIP GMAC 256 */
159     WLAN_80211_CIPHER_SUITE_BIP_CMAC_256 = 13,           /* BIP CMAC 256 */
160 
161     WLAN_80211_CIPHER_SUITE_WAPI         = 14            /* 随意定,不影响11i即可 */
162 } wlan_ciper_protocol_type_enum;
163 typedef osal_u8 wlan_ciper_protocol_type_enum_uint8;
164 
165 typedef osal_u8 witp_wpa_versions_enum_uint8;
166 
167 typedef struct {
168     wlan_cipher_key_type_enum_uint8          cipher_key_type;      /* 密钥ID/类型 */
169     wlan_ciper_protocol_type_enum_uint8      cipher_protocol_type;
170     osal_u8                                  cipher_key_id;
171     osal_u8                                  auc_resv[1];
172 } wlan_security_txop_params_stru;
173 
174 /* 调制方式枚举 */
175 typedef enum {
176     WLAN_MOD_DSSS,
177     WLAN_MOD_OFDM,
178 
179     WLAN_MOD_BUTT
180 } wlan_mod_enum;
181 typedef osal_u8 wlan_mod_enum_uint8;
182 
183 /*****************************************************************************
184   3.4 VHT枚举类型
185 *****************************************************************************/
186 typedef enum {
187     WLAN_VHT_MCS0,
188     WLAN_VHT_MCS1,
189     WLAN_VHT_MCS2,
190     WLAN_VHT_MCS3,
191     WLAN_VHT_MCS4,
192     WLAN_VHT_MCS5,
193     WLAN_VHT_MCS6,
194     WLAN_VHT_MCS7,
195     WLAN_VHT_MCS8,
196     WLAN_VHT_MCS9,
197 #ifdef _PRE_WLAN_FEATURE_1024QAM
198     WLAN_VHT_MCS10,
199     WLAN_VHT_MCS11,
200 #endif
201 
202     WLAN_VHT_MCS_BUTT
203 } wlan_vht_mcs_enum;
204 typedef osal_u8 wlan_vht_mcs_enum_uint8;
205 
206 typedef enum {
207     WLAN_LEGACY_11B_RESERVED1       = 0,
208     WLAN_SHORT_11B_2M_BPS           = 1,
209     WLAN_SHORT_11B_5M5_BPS          = 2,
210     WLAN_SHORT_11B_11M_BPS          = 3,
211 
212     WLAN_LONG_11B_1M_BPS            = 4,
213     WLAN_LONG_11B_2M_BPS            = 5,
214     WLAN_LONG_11B_5M5_BPS           = 6,
215     WLAN_LONG_11B_11M_BPS           = 7,
216 
217     WLAN_LEGACY_OFDM_48M_BPS        = 8,
218     WLAN_LEGACY_OFDM_24M_BPS        = 9,
219     WLAN_LEGACY_OFDM_12M_BPS        = 10,
220     WLAN_LEGACY_OFDM_6M_BPS         = 11,
221     WLAN_LEGACY_OFDM_54M_BPS        = 12,
222     WLAN_LEGACY_OFDM_36M_BPS        = 13,
223     WLAN_LEGACY_OFDM_18M_BPS        = 14,
224     WLAN_LEGACY_OFDM_9M_BPS         = 15,
225 
226     WLAN_LEGACY_RATE_VALUE_BUTT
227 } wlan_legacy_rate_value_enum;
228 typedef osal_u8 wlan_legacy_rate_value_enum_uint8;
229 
230 /*****************************************************************************
231   3.3 HT枚举类型
232 *****************************************************************************/
233 // 扩展或者删除字段时,务必同步调整 g_phy_bandwidth_sec_offset_table \ mac_vap_bw_mode_to_bw \ hal_mac_change_bw_mode_to_bw_index
234 typedef enum {
235     WLAN_BAND_WIDTH_20M,
236     WLAN_BAND_WIDTH_40PLUS,                     /* 从20信道+1 */
237     WLAN_BAND_WIDTH_40MINUS,                    /* 从20信道-1 */
238     WLAN_BAND_WIDTH_80PLUSPLUS,                 /* 从20信道+1, 从40信道+1 */
239     WLAN_BAND_WIDTH_80PLUSMINUS,                /* 从20信道+1, 从40信道-1 */
240     WLAN_BAND_WIDTH_80MINUSPLUS,                /* 从20信道-1, 从40信道+1 */
241     WLAN_BAND_WIDTH_80MINUSMINUS,               /* 从20信道-1, 从40信道-1 */
242     WLAN_BAND_WIDTH_5M,
243     WLAN_BAND_WIDTH_10M,
244     WLAN_BAND_WIDTH_40M,
245     WLAN_BAND_WIDTH_80M,
246     WLAN_BAND_WIDTH_BUTT
247 } wlan_channel_bandwidth_enum;
248 typedef osal_u8 wlan_channel_bandwidth_enum_uint8;
249 
250 /* 因为要用作预编译,所以由枚举改成宏,为了便于理解,下面的类型转义先不变 */
251 typedef osal_u8 wlan_nss_enum_uint8;
252 
253 typedef enum {
254     WLAN_HT_NON_STBC                   = 0,
255     WLAN_HT_ADD_ONE_NTS                = 1,
256     WLAN_HT_ADD_TWO_NTS                = 2,
257 
258     WLAN_HT_STBC_BUTT
259 } wlan_ht_stbc_enum;
260 typedef osal_u8 wlan_ht_stbc_enum_uint8;
261 
262 typedef struct {
263     osal_u8                               group_id;      /* group_id   */
264     osal_u8                               txop_ps_not_allowed;
265     osal_u16                              partial_aid;   /* partial_aid */
266 } wlan_groupid_partial_aid_stru;
267 
268 /* channel结构体 */
269 typedef struct {
270     osal_u8                             chan_number;     /* 主20MHz信道号 */
271     wlan_channel_band_enum_uint8        band;            /* 频段 */
272     wlan_channel_bandwidth_enum_uint8   en_bandwidth;    /* 带宽模式 */
273     osal_u8                             chan_idx;        /* 信道索引号 */
274 } mac_channel_stru;
275 
276 /* channel switch结构体 */
277 typedef struct {
278     mac_channel_stru                    mac_channel;
279     osal_bool                           clear_fifo;
280     osal_u8 resv[3]; /* 保留3字节对齐 */
281 } mac_switch_channel_stru;
282 
283 /*****************************************************************************
284   3.4 算法宏,枚举类型
285 *****************************************************************************/
286 
287 /* TPC工作模式 */
288 typedef enum {
289     WLAN_TPC_WORK_MODE_DISABLE        = 0,   /* 禁用TPC动态调整功率模式: 直接采用固定功率模式,数据帧的Data0采用配置的, Data1~3以及管理帧、控制帧都用最大功率 */
290     WLAN_TPC_WORK_MODE_ENABLE         = 1,   /* 自适应功率模式: 数据帧的Data0采用自适应功率, Data1~3以及管理帧、控制帧都用最大功率 */
291 
292     WLAN_TPC_WORK_MODE_BUTT
293 } wlan_tpc_work_mode_enum;
294 typedef osal_u8 wlan_tpc_mode_enum_uint8;
295 
296 /*****************************************************************************
297   3.5 WME枚举类型
298 *****************************************************************************/
299 
300 /* WMM枚举类型放入平台 */
301 
302 /* 帧类型 (2-bit) */
303 typedef enum {
304     WLAN_MANAGEMENT            = 0,
305     WLAN_CONTROL               = 1,
306     WLAN_DATA_BASICTYPE        = 2,
307     WLAN_RESERVED              = 3,
308 
309     WLAN_FRAME_TYPE_BUTT
310 } wlan_frame_type_enum;
311 typedef osal_u8 wlan_frame_type_enum_uint8;
312 
313 /* 帧子类型 (4-bit) */
314 /* 管理帧子类型放入平台SPEC */
315 
316 /* 控制帧帧子类型 */
317 typedef enum {
318     /* 0~6 reserved */
319     WLAN_HE_TRIG_FRAME          = 2,     /* 0010 */
320     WLAN_VHT_NDPA               = 5,     /* 0101 */
321     WLAN_CONTROL_WRAPPER        = 7,
322     WLAN_BLOCKACK_REQ           = 8,
323     WLAN_BLOCKACK               = 9,
324     WLAN_PS_POLL                = 10,
325     WLAN_RTS                    = 11,
326     WLAN_CTS                    = 12,
327     WLAN_ACK                    = 13,
328     WLAN_CF_END                 = 14,
329     WLAN_CF_END_CF_ACK          = 15,
330 
331     WLAN_CONTROL_SUBTYPE_BUTT   = 16,
332 } wlan_frame_control_subtype_enum;
333 
334 /* 数据帧子类型 */
335 typedef enum {
336     WLAN_DATA                   = 0,
337     WLAN_DATA_CF_ACK            = 1,
338     WLAN_DATA_CF_POLL           = 2,
339     WLAN_DATA_CF_ACK_POLL       = 3,
340     WLAN_NULL_FRAME             = 4,
341     WLAN_CF_ACK                 = 5,
342     WLAN_CF_POLL                = 6,
343     WLAN_CF_ACK_POLL            = 7,
344     WLAN_QOS_DATA               = 8,
345     WLAN_QOS_DATA_CF_ACK        = 9,
346     WLAN_QOS_DATA_CF_POLL       = 10,
347     WLAN_QOS_DATA_CF_ACK_POLL   = 11,
348     WLAN_QOS_NULL_FRAME         = 12,
349     WLAN_DATA_SUBTYPE_RESV1     = 13,
350     WLAN_QOS_CF_POLL            = 14,
351     WLAN_QOS_CF_ACK_POLL        = 15,
352 
353     WLAN_DATA_SUBTYPE_MGMT      = 16,
354 } wlan_frame_data_subtype_enum;
355 
356 /* ACK类型定义 */
357 typedef enum {
358     WLAN_TX_NORMAL_ACK = 0,
359     WLAN_TX_NO_ACK,
360     WLAN_TX_NO_EXPLICIT_ACK,
361     WLAN_TX_BLOCK_ACK,
362 
363     WLAN_TX_NUM_ACK_BUTT
364 } wlan_tx_ack_policy_enum;
365 typedef osal_u8   wlan_tx_ack_policy_enum_uint8;
366 
367 /*****************************************************************************
368   3.6 信道枚举
369 *****************************************************************************/
370 
371 /* 信道编码方式 */
372 typedef enum {
373     WLAN_BCC_CODE                   = 0,
374     WLAN_LDPC_CODE                  = 1,
375     WLAN_CHANNEL_CODE_BUTT
376 } wlan_channel_code_enum;
377 typedef osal_u8 wlan_channel_code_enum_uint8;
378 
379 /* 扫描类型 */
380 typedef enum {
381     WLAN_SCAN_TYPE_PASSIVE       = 0,
382     WLAN_SCAN_TYPE_ACTIVE        = 1,
383 
384     WLAN_SCAN_TYPE_BUTT
385 } wlan_scan_type_enum;
386 typedef osal_u8 wlan_scan_type_enum_uint8;
387 
388 /* 扫描模式 */
389 typedef enum {
390     WLAN_SCAN_MODE_FOREGROUND     = 0,          /* 前景扫描不分AP/STA(即初始扫描,连续式) */
391     WLAN_SCAN_MODE_BACKGROUND_STA = 1,      /* STA背景扫描 */
392     WLAN_SCAN_MODE_BACKGROUND_AP  = 2,       /* AP背景扫描(间隔式) */
393     WLAN_SCAN_MODE_BACKGROUND_OBSS = 3,     /* 20/40MHz共存的obss扫描 */
394     WLAN_SCAN_MODE_BACKGROUND_ALG_INTF_DET  = 4,
395     WLAN_SCAN_MODE_BACKGROUND_PNO  = 5,      /* PNO调度扫描 */
396     WLAN_SCAN_MODE_RRM_BEACON_REQ  = 6,
397     WLAN_SCAN_MODE_BACKGROUND_CSA  = 7,      /* 信道切换扫描 */
398     WLAN_SCAN_MODE_BACKGROUND_HILINK = 8,   /* hilink扫描未关联用户 */
399     WLAN_SCAN_MODE_FTM_REQ      = 9,
400     WLAN_SCAN_MODE_GNSS_SCAN    = 10,
401     WLAN_SCAN_MODE_ROAM_SCAN    = 11,
402     WLAN_SCAN_MODE_BACKGROUND_SDP = 12,
403 
404     WLAN_SCAN_MODE_BUTT
405 } wlan_scan_mode_enum;
406 typedef osal_u8 wlan_scan_mode_enum_uint8;
407 
408 typedef enum {
409     WLAN_LEGACY_VAP_MODE     = 0,    /* 非P2P设备 */
410     WLAN_P2P_GO_MODE         = 1,    /* P2P_GO */
411     WLAN_P2P_DEV_MODE        = 2,    /* P2P_Device */
412     WLAN_P2P_CL_MODE         = 3,    /* P2P_CL */
413 
414     WLAN_P2P_BUTT
415 } wlan_p2p_mode_enum;
416 typedef osal_u8 wlan_p2p_mode_enum_uint8;
417 
418 /*****************************************************************************
419   3.7 加密枚举
420 *****************************************************************************/
421 
422 /* 用户距离状态 */
423 typedef enum {
424     WLAN_DISTANCE_NEAR       = 0,
425     WLAN_DISTANCE_NORMAL     = 1,
426     WLAN_DISTANCE_FAR        = 2,
427 
428     WLAN_DISTANCE_BUTT
429 } wlan_user_distance_enum;
430 typedef osal_u8 wlan_user_distance_enum_uint8;
431 
432 /*****************************************************************************
433   3.8 linkloss场景枚举
434 *****************************************************************************/
435 
436 
437 /*****************************************************************************
438   3.9 roc场景枚举
439 *****************************************************************************/
440 
441 /*****************************************************************************
442   3.10 roam场景枚举
443 *****************************************************************************/
444 
445 /*****************************************************************************
446   3.10 m2s切换枚举
447 *****************************************************************************/
448 /* mimo-siso切换tpye */
449 typedef enum {
450     WLAN_M2S_TYPE_SW = 0,
451     WLAN_M2S_TYPE_HW = 1,
452 
453     WLAN_M2S_TYPE_BUTT
454 } wlan_m2s_tpye_enum;
455 typedef osal_u8 wlan_m2s_type_enum_uint8;
456 
457 /* mimo-siso切换tpye */
458 typedef enum {
459     WLAN_M2S_TRIGGER_MODE_DBDC      = BIT0,
460     WLAN_M2S_TRIGGER_MODE_FAST_SCAN = BIT1,
461     WLAN_M2S_TRIGGER_MODE_RSSI      = BIT2,
462     WLAN_M2S_TRIGGER_MODE_BTCOEX    = BIT3,
463     WLAN_M2S_TRIGGER_MODE_COMMAND   = BIT4,
464     WLAN_M2S_TRIGGER_MODE_TEST      = BIT5,
465     WLAN_M2S_TRIGGER_MODE_CUSTOM    = BIT6,   /* 定制化优先级高,只能被蓝牙打断 */
466     WLAN_M2S_TRIGGER_MODE_SPEC      = BIT7,   /* spec优先级最高,不允许打断 */
467 
468     WLAN_M2S_TRIGGER_MODE_BUTT
469 } wlan_m2s_trigger_mode_enum;
470 typedef osal_u8 wlan_m2s_trigger_mode_enum_uint8;
471 
472 /*****************************************************************************
473   3.11 m2s切换枚举
474 *****************************************************************************/
475 
476 /*****************************************************************************
477     STRUCT定义
478 *****************************************************************************/
479 /* m2s触发条件 */
480 typedef struct {
481     osal_u8   dbdc         : 1,        /* dbdc触发 */
482               fast_on      : 1,        /* 并发扫描触发 */
483               rssi_snr     : 1,        /* rssi/snr触发 */
484               btcoex       : 1,        /* btcoex触发 */
485               command      : 1,        /* 上层命令触发 */
486               test         : 1,        /* 测试命令触发 */
487               custom       : 1,        /* 定制化触发 */
488               spec         : 1;        /* RF规格触发 */
489 } wlan_m2s_mode_stru;
490 
491 /* action帧发送类型枚举 */
492 typedef enum {
493     WLAN_M2S_ACTION_TYPE_SMPS      = 0,         /* action采用smps */
494     WLAN_M2S_ACTION_TYPE_OPMODE    = 1,         /* action采用opmode */
495     WLAN_M2S_ACTION_TYPE_NONE      = 2,         /* 切换不发action帧 */
496 
497     WLAN_M2S_ACTION_TYPE_BUTT
498 } wlan_m2s_action_type_enum;
499 typedef osal_u8 wlan_m2s_action_type_enum_uint8;
500 
501 #ifdef __cplusplus
502 #if __cplusplus
503 }
504 #endif
505 #endif
506 
507 #endif /* end of wlan_types.h */
508