1 /** @file mlan_action.h
2  *
3  *  @brief Interface for the mlan_action module implemented in mlan_action.c
4  *
5  *  Driver interface functions and type declarations for the process action frame
6  *    module implemented in mlan_action.c.
7  *
8  *  Copyright 2022-2024 NXP
9  *
10  *  SPDX-License-Identifier: BSD-3-Clause
11  *
12  */
13 
14 /********************************************************
15 Change log:
16     08/11/2022: initial version
17 ********************************************************/
18 
19 #ifndef _MLAN_ACTION_H_
20 #define _MLAN_ACTION_H_
21 
22 #include "mlan_fw.h"
23 
24 /** process rx action frame */
25 mlan_status wlan_process_mgmt_action(t_u8 *payload, t_u32 payload_len, RxPD *rxpd);
26 
27 #if CONFIG_1AS
28 /* frame body for timing measurement action frame */
29 typedef PACK_START struct _wifi_wnm_timing_msmt_t
30 {
31     t_u8 action; /* 1 */
32     t_u8 dialog_token;
33     t_u8 follow_up_dialog_token;
34     t_u32 tod;
35     t_u32 toa;
36     t_u8 max_tod_err;
37     t_u8 max_toa_err;
38 } PACK_END wifi_wnm_timing_msmt_t;
39 
40 void wlan_process_timing_measurement_frame(t_u8 *payload, t_u32 payload_len, RxPD *rxpd);
41 void wlan_send_timing_measurement_req_frame(mlan_private *pmpriv, t_u8 *ta, t_u8 trigger);
42 mlan_status wlan_send_timing_measurement_frame(mlan_private *pmpriv);
43 #endif
44 #endif /* !_MLAN_ACTION_H_ */
45