WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
alg_main_rom.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2022. All rights reserved.
3 * Description: Entry, initialization, and external interface definition of the algorithm module, depending on the DMAC
4 */
5
6#ifndef ALG_MAIN_ROM_H
7#define ALG_MAIN_ROM_H
8
9/******************************************************************************
10 1 其他头文件包含
11******************************************************************************/
12#include "oam_ext_if.h"
13#include "frw_ext_if_rom.h"
14#include "frw_dmac_rom.h"
15#include "frw_msg_rom.h"
16#include "dmac_ext_if_rom.h"
17#include "dmac_alg_if_part_rom.h"
18#include "alg_common_rom.h"
19
20#ifdef __cplusplus
21#if __cplusplus
22extern "C" {
23#endif
24#endif
25
26/******************************************************************************
27 2 宏定义
28******************************************************************************/
29#define ALG_RSSI_MARGIN_DB 4 /* RSSI余量,使用rssi计算时使用 */
30
31#define alg_stru_elem_offset(_stru, _elem) ((osal_u16)((osal_u8 *)(&(((_stru *)0)->_elem)) - (osal_u8 *)0))
32
33/* 遍历VAP/USER操作封装 */
34#define alg_device_foreach_vap(_pst_vap, _pst_device, _uc_vap_index) \
35 for ((_uc_vap_index) = 0, (_pst_vap) = ((_pst_device)->vap_num > 0) ? \
36 ((dmac_vap_stru *)mac_res_get_dmac_vap((_pst_device)->vap_id[0])) : \
37 OSAL_NULL; \
38 (_uc_vap_index) < (_pst_device)->vap_num; \
39 (_uc_vap_index)++, (_pst_vap) = ((_uc_vap_index) < (_pst_device)->vap_num) ? \
40 ((dmac_vap_stru *)mac_res_get_dmac_vap((_pst_device)->vap_id[_uc_vap_index])) : \
41 OSAL_NULL) \
42 if ((_pst_vap) != OSAL_NULL)
43#define alg_vap_foreach_user(_pst_user, _pst_vap, _pst_list_pos) \
44 for ((_pst_list_pos) = (_pst_vap)->mac_user_list_head.next, \
45 (_pst_user) = osal_list_entry((_pst_list_pos), dmac_user_stru, user_dlist); \
46 ((_pst_list_pos) != &((_pst_vap)->mac_user_list_head)) && ((_pst_list_pos) != OSAL_NULL); \
47 (_pst_list_pos) = (_pst_list_pos)->next, \
48 (_pst_user) = osal_list_entry((_pst_list_pos), dmac_user_stru, user_dlist)) \
49 if ((_pst_user) != OSAL_NULL)
50
54
55/******************************************************************************
56 3 枚举定义
57******************************************************************************/
58
59/******************************************************************************
60 4 STRUCT定义
61******************************************************************************/
63 alg_intf_det_notify_info_stru *intf_det_notify);
64
65typedef osal_u32 (*p_alg_dmac_distance_notify_func)(const dmac_user_stru *dmac_user,
66 const dmac_alg_distance_notify_info_stru *distance_info);
67
69
71
73
74/* 钩子函数指针数组结构体 */
80
81typedef osal_void *(*alg_dmac_mem_alloc_cb)(alg_mem_enum_uint8 alg_id, osal_u16 len);
82
83/******************************************************************************
84 5 函数声明
85******************************************************************************/
87/* 距离状态变化钩子类型注册、注销及通知接口 */
91osal_u32 alg_distance_notify(dmac_user_stru *dmac_user, dmac_alg_distance_notify_info_stru *distance_info);
92
96#ifdef _PRE_WLAN_FEATURE_INTRF_MODE
97osal_s32 alg_dmac_anti_intrf(dmac_vap_stru *dmac_vap, frw_msg *msg);
98#endif
99/* 同频干扰状态变化钩子类型注册、注销及通知接口 */
103
105
107 osal_u8 *vap_user_num, osal_u8 *device_user_num);
109 osal_u8 *device_user_num, osal_u8 *first_user_lut_idx);
110
113#ifdef __cplusplus
114#if __cplusplus
115}
116#endif
117#endif
118
119#endif /* end of alg_main_rom.h */
osal_u8 alg_distance_notify_enum_uint8
Definition alg_common_macros_rom.h:439
osal_u8 alg_mem_enum_uint8
Definition alg_common_macros_rom.h:507
@ ALG_DISTANCE_NOTIFY_BUTT
Definition alg_common_macros_rom.h:437
@ ALG_CO_INTF_NOTIFY_BUTT
Definition alg_common_macros_rom.h:477
osal_u8 alg_co_intf_notify_enum_uint8
Definition alg_common_macros_rom.h:479
osal_s32 alg_vap_up_process(dmac_vap_stru *dmac_vap, frw_msg *msg)
osal_u32 alg_dmac_co_intf_notify(hal_to_dmac_device_stru *hal_device, alg_intf_det_notify_info_stru *intf_det_notify)
osal_s32 alg_dmac_config_multi_param(dmac_vap_stru *dmac_vap, frw_msg *msg)
osal_void alg_get_device_user_num_index(hal_to_dmac_device_stru *hal_device, osal_u8 *device_user_num, osal_u8 *first_user_lut_idx)
osal_u32(* p_alg_dmac_co_intf_notify_func)(hal_to_dmac_device_stru *hal_device, alg_intf_det_notify_info_stru *intf_det_notify)
Definition alg_main_rom.h:62
osal_u32(* alg_dmac_config_param_cb)(dmac_vap_stru *dmac_vap, frw_msg *msg)
Definition alg_main_rom.h:53
osal_s32 alg_dmac_config_param(dmac_vap_stru *dmac_vap, frw_msg *msg)
osal_u32 alg_unregister_distance_notify_func(alg_distance_notify_enum_uint8 notify_sub_type)
osal_u32(* p_alg_dmac_param_sync_notify_func)(const alg_param_sync_stru *alg_sync)
Definition alg_main_rom.h:70
osal_u32 alg_dmac_register_dbac_config_func(p_alg_dbac_config_func func)
osal_u32(* p_alg_dmac_distance_notify_func)(const dmac_user_stru *dmac_user, const dmac_alg_distance_notify_info_stru *distance_info)
Definition alg_main_rom.h:65
osal_u32(* p_alg_dbac_config_func)(dmac_vap_stru *dmac_vap, frw_msg *msg)
Definition alg_main_rom.h:72
osal_u32 alg_dmac_register_co_intf_notify_func(alg_co_intf_notify_enum_uint8 notify_sub_type, p_alg_dmac_co_intf_notify_func func)
osal_u32 alg_unregister_dbac_config_func(osal_void)
osal_u32(* alg_dmac_internal_hook_exit_cb)(void)
Definition alg_main_rom.h:52
osal_void alg_register_distance_notify_func(alg_distance_notify_enum_uint8 notify_sub_type, p_alg_dmac_distance_notify_func func)
osal_u32(* p_alg_dmac_intfdet_lossthr_notify_func)(hal_to_dmac_device_stru *hal_device)
Definition alg_main_rom.h:68
osal_u32(* alg_dmac_internal_hook_init_cb)(void)
Definition alg_main_rom.h:51
osal_void * alg_dmac_mem_alloc(alg_mem_enum_uint8 alg_id, osal_u16 len)
osal_void alg_get_vap_and_device_user_num(hal_to_dmac_device_stru *hal_device, const dmac_vap_stru *dmac_vap_cmp, osal_u8 *vap_user_num, osal_u8 *device_user_num)
osal_u32 alg_distance_notify(dmac_user_stru *dmac_user, dmac_alg_distance_notify_info_stru *distance_info)
osal_u32 alg_unregister_co_intf_notify_func(alg_co_intf_notify_enum_uint8 notify_sub_type)
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Definition alg_main_rom.h:75
osal_u8 * rom
Definition alg_main_rom.h:78
Definition alg_common_rom.h:77
Definition alg_common_rom.h:411
Definition dmac_ext_if_rom.h:106
Definition frw_msg_rom.h:74
Definition hal_ops_common_rom.h:529