WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
frw_hmac.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2021. All rights reserved.
3 * Description: Header file of dmac public interface.
4 * Author:
5 * Create: 2021-07-01
6 */
7
8#ifndef __FRW_HMAC_H__
9#define __FRW_HMAC_H__
10
11#include "osal_types.h"
12#include "oal_netbuf_ext.h"
13#include "mac_vap_ext.h"
14#include "frw_msg_rom.h"
15#include "frw_common.h"
16#ifdef __cplusplus
17#if __cplusplus
18extern "C" {
19#endif
20#endif
21
22#define TIME_OUT_MS 2000
23
24typedef struct {
25 osal_u32 data; /* 配置消息的输入数据buffer指针,内存由调用者分配, 由frw释放 */
26 osal_u32 rsp; /* 配置消息的同步调用,返回数据的buffer指针,返回数据buffer由接口分配,但需要调用者释放;
27 同步调用时,接口通过此参数向调用者回传rsp地址,异步调用时,接口会将此参数置为NULL。
28 */
29 osal_u16 data_len; /* 配置消息的输入数据buffer长度 */
30 osal_u16 rsp_buf_len; /* hmac下发到dmac时填写;同步调用,返回的数据长度,异步调用时,此参数会被接口置为0 */
31 osal_u16 rsp_len; /* 实际rsp长度,由dmac返回 */
32 osal_u16 sync : 1; /* 同步标志 */
33 osal_u16 type : 7; /* 消息类型 */
34 osal_u16 rsv : 8; /* 保留字段 */
36
47
48typedef osal_s32 (*frw_msg_callback)(hmac_vap_stru *hmac_vap, frw_msg *msg);
49/*
50 约定:对于hmac侧而言:
51 send: wal/hmac -> dmac
52 post: wal/hmac -> wal/hmac
53 rcv : dmac -> wal/hmac
54*/
55
56/* msg_id:配置消息ID;
57 sync: 同步消息标志,true,表示同步消息,此时pri参数被忽略;false,表示异步消息,此时pri参数指定消息优先级
58 pri: 消息/配置的优先级;
59 用于从wal/hmac发起的异步消息/配置,但消息/配置不会被发往device侧
60*/
61/* 用于wal->hmac的同步配置 */
62
67
69osal_s32 frw_msg_host_init(osal_u16 d2d_msgid_begin, osal_u16 w2d_msgid_end, osal_u16 msg_id_max);
70
74
76 osal_s32 dev_cb_ret, frw_msg *msg);
78
79typedef osal_s32 (*frw_d2h_netbuf_callback)(oal_netbuf_stru *netbuf, osal_u32 payload_len, osal_u8 vap_id,
80 osal_u16 netbuf_type, osal_u8 data_type);
83
85 osal_u8 *buf, osal_u32 len, osal_u8 *user_param);
87 osal_u8 *buf, osal_u32 len, osal_u8 *user_param);
88
89#ifdef _PRE_WLAN_FEATURE_CENTRALIZE
90extern osal_s32 is_msgid_in_device_range(osal_u16 msg_id);
91extern osal_s32 dmac_frw_post_async_msg(osal_u16 msg_id, osal_u8 pri, osal_u8 vap_id, frw_msg *msg, osal_u32 seq);
92osal_u32 frw_dmac_rcv_mgnt_data(oal_dmac_netbuf_stru *netbuf);
97extern long frw_get_wifi_frw_task_id(osal_void);
98#endif
105#ifdef __cplusplus
106#if __cplusplus
107}
108#endif
109#endif
110#endif // __FRW_HMAC_H__
osal_s32 dmac_frw_msg_exec_callback(osal_u16 msg_id, osal_u8 vap_id, frw_msg *msg)
osal_s32 dmac_frw_post_async_msg(osal_u16 msg_id, osal_u8 pri, osal_u8 vap_id, frw_msg *msg, osal_u32 seq)
osal_u8 frw_get_devmsg_inqueue_state(osal_void)
osal_s32 frw_msg_hook_register(osal_u16 msg_id, frw_msg_callback msg_cb)
osal_s32(* frw_host_rcv_callback)(osal_u16 msg_id, osal_u8 vap_id, osal_u32 seq, osal_s32 dev_cb_ret, frw_msg *msg)
Definition frw_hmac.h:75
osal_u32 frw_alloc_pbuf(osal_u32 len, oal_netbuf_stru **ret_buf)
osal_u32 frw_hcc_tx_adjust_header(oal_netbuf_stru *netbuf, osal_u8 data_type)
osal_s32 frw_msg_host_init(osal_u16 d2d_msgid_begin, osal_u16 w2d_msgid_end, osal_u16 msg_id_max)
osal_s32(* frw_d2h_netbuf_callback)(oal_netbuf_stru *netbuf, osal_u32 payload_len, osal_u8 vap_id, osal_u16 netbuf_type, osal_u8 data_type)
Definition frw_hmac.h:79
osal_s32(* frw_msg_callback)(hmac_vap_stru *hmac_vap, frw_msg *msg)
Definition frw_hmac.h:48
osal_void frw_event_flush_event_queue(osal_u16 msg_id)
osal_u32 frw_rx_wifi_post_action_function(hcc_queue_type queue_id, osal_u8 stype, osal_u8 *buf, osal_u32 len, osal_u8 *user_param)
osal_s32 frw_netbuf_exec_callback(osal_u16 netbuf_type, osal_u8 vap_id, frw_msg *msg)
osal_s32 frw_asyn_host_post_msg(osal_u16 msg_id, frw_post_pri_enum_uint8 pri, osal_u8 vap_id, frw_msg *msg)
osal_u32 frw_hmac_rcv_netbuf(oal_netbuf_stru *rx_netbuf)
osal_void frw_host_register_rcv_hook(frw_host_rcv_callback rcv_cb)
osal_s32 frw_msg_host_exit(osal_void)
osal_s32 frw_sync_host_post_msg(osal_u16 msg_id, osal_u8 vap_id, osal_u16 time_out, frw_msg *msg)
osal_s32 frw_send_cfg_to_device(osal_u16 msg_id, osal_u8 vap_id, osal_bool sync, osal_u16 time_out, frw_msg *msg)
osal_u32 frw_alloc_netbuf(osal_u32 len, oal_netbuf_stru **ret_buf)
osal_u32 frw_rx_wifi_cfg_function(hcc_queue_type queue_id, osal_u8 stype, osal_u8 *buf, osal_u32 len, osal_u8 *user_param)
osal_s32 frw_netbuf_hook_register(osal_u16 netbuf_type, frw_msg_callback msg_cb)
osal_void frw_msg_hook_unregister(osal_u16 msg_id)
osal_void frw_netbuf_hook_unregister(osal_u16 netbuf_type)
osal_s32 frw_msg_exec_callback(osal_u16 msg_id, osal_u8 vap_id, frw_msg *msg)
osal_u8 frw_post_pri_enum_uint8
Definition frw_msg_rom.h:45
enum _hcc_queue_type hcc_queue_type
osal_void oal_mem_netbuf_free(oal_dmac_netbuf_stru *netbuf)
osal_u8 * oal_dmac_netbuf_payload(const oal_dmac_netbuf_stru *netbuf)
osal_u8 oal_netbuf_priority_enum_uint8
Definition oal_net_pkt_rom.h:56
oal_dmac_netbuf_stru * oal_mem_netbuf_alloc(osal_u8 netbuf_id, osal_u16 len, oal_netbuf_priority_enum_uint8 flag)
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
osal_u8 osal_bool
Definition osal_types.h:27
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 frw_hmac.h:37
frw_msg_host cfg
Definition frw_hmac.h:45
osal_u8 rsv
Definition frw_hmac.h:42
osal_u16 msg_id
Definition frw_hmac.h:38
osal_u8 type
Definition frw_hmac.h:41
osal_u8 sync
Definition frw_hmac.h:40
osal_u32 msg_seq
Definition frw_hmac.h:44
osal_u8 vap_id
Definition frw_hmac.h:39
osal_s32 cb_ret
Definition frw_hmac.h:43
Definition frw_hmac.h:24
osal_u16 rsv
Definition frw_hmac.h:34
osal_u32 data
Definition frw_hmac.h:25
osal_u16 rsp_len
Definition frw_hmac.h:31
osal_u16 data_len
Definition frw_hmac.h:29
osal_u16 rsp_buf_len
Definition frw_hmac.h:30
osal_u16 sync
Definition frw_hmac.h:32
osal_u16 type
Definition frw_hmac.h:33
osal_u32 rsp
Definition frw_hmac.h:26
Definition frw_msg_rom.h:74
Definition mac_vap_ext.h:2019
Definition oal_net_pkt_rom.h:83
Definition oal_skbuff.h:82