WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hmac_hook.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2020. All rights reserved.
3 * Description: hmac_hook.c 的头文件
4 * Date: 2020-07-07
5 */
6
7#ifndef __HMAC_HOOK_H__
8#define __HMAC_HOOK_H__
9
10/*****************************************************************************
11 1 其他头文件包吿
12*****************************************************************************/
13#include "hmac_main.h"
14
15#ifdef __cplusplus
16#if __cplusplus
17extern "C" {
18#endif
19#endif
20
21/*****************************************************************************
22 Hook机制对外API接口以及结构体定义
23*****************************************************************************/
24/* Hook点定义 */
26 /* HMAC侧数据帧和管理帧转发Hook点定义 */
30 HMAC_FRAME_DATA_RX_EVENT_D2H, /* DMAC to HAMC DRX事件处理入口 */
31 HMAC_FRAME_DATA_RX_EVENT_H2O, /* HMAC to OS 交操作系统接收入口 */
32 HMAC_FRAME_DATA_TX_BRIDGE_IN, /* 报文处理入口 */
33 HMAC_FRAME_DATA_TX_EVENT_H2D, /* HMAC to DMAC DTX事件发送前 */
35};
36
44
45typedef osal_u32 (*hmac_hookfn)(oal_netbuf_stru **netbuf, hmac_vap_stru *hmac_vap);
46
53
54/*
55 Hook函数参数定义如下
56 Hook函数的合法返回值只有以下三个,返回其他值会造成异常
57 OAL_CONTINUE: 当前Hook执行完成,判定报文正常处理,并继续后续Hook执行, Hook机制最终返回OAL_CONTINUE
58 OAL_SUCC: Hook判定执行完当前Hook之后,跳过后续Hook执行返回主流程,Hook机制最终返回OAL_CONTINUE
59 OAL_FAIL: Hook判定需要异常返回,Hook机制最终返回OAL_FAIL
60*/
62
63/*
64 功能: 注册netbuf类型的Hook函数
65 参数: hooknum -- HMAC_HOOK_NUM, priority -- HMAC_HOOK_PRI, hook -- Hook函数
66 返回值:成功返回OAL_SUCC, 失败返回OAL_FAIL
67*/
69/*
70 功能: 注销netbuf类型的Hook函数
71 参数: hooknum -- HMAC_HOOK_NUM, priority -- HMAC_HOOK_PRI
72 返回值:无
73*/
75/*
76 功能: 按注册优先级执行指定Hook点已注册的Hook函数
77 参数: netbuf - 指向待处理报文缓存的2级指针 hmac_vap - dmac vap指针 hooknum - Hook点
78 返回值:OAL_CONTINUE - Hook执行成功并需要继续主流程处理; OAL_SUCC - 执行成功并退出主流程; OAL_FAIL - 需要异常返回
79*/
81
84
85#ifdef __cplusplus
86#if __cplusplus
87}
88#endif
89#endif
90
91#endif /* end of hmac_hook.h */
#define list_entry(cur, type, member)
Definition list.h:74
osal_void hmac_hook_exit(osal_void)
osal_u32(* hmac_hookfn)(oal_netbuf_stru **netbuf, hmac_vap_stru *hmac_vap)
Definition hmac_hook.h:45
osal_u32 hmac_register_netbuf_hook(hmac_netbuf_hook_stru *netbuf_hook_new)
osal_void hmac_unregister_netbuf_hook(hmac_netbuf_hook_stru *netbuf_hook)
osal_u32 hmac_call_netbuf_hooks(oal_netbuf_stru **netbuf, hmac_vap_stru *hmac_vap, osal_u8 hooknum)
osal_u32 hmac_netbuf_hookfn(oal_netbuf_stru **netbuf, hmac_vap_stru *hmac_vap)
Definition hmac_hook.h:61
HMAC_HOOK_PRI
Definition hmac_hook.h:37
@ HMAC_HOOK_PRI_MIDDLE
Definition hmac_hook.h:40
@ HMAC_HOOK_PRI_HIGHEST
Definition hmac_hook.h:38
@ HMAC_HOOK_PRI_NUM
Definition hmac_hook.h:42
@ HMAC_HOOK_PRI_LOW
Definition hmac_hook.h:41
@ HMAC_HOOK_PRI_HIGH
Definition hmac_hook.h:39
osal_void hmac_hook_init(osal_void)
HMAC_HOOK_NUM
Definition hmac_hook.h:25
@ HMAC_FRAME_HOOK_END
Definition hmac_hook.h:34
@ HMAC_FRAME_DATA_TX_EVENT_H2D
Definition hmac_hook.h:33
@ HMAC_FRAME_DATA_RX_EVENT_H2O
Definition hmac_hook.h:31
@ HMAC_FRAME_DATA_TX_BRIDGE_IN
Definition hmac_hook.h:32
@ HMAC_FRAME_DATA_RX_EVENT_D2H
Definition hmac_hook.h:30
@ HMAC_FRAME_MGMT_RX_EVENT_FEATURE
Definition hmac_hook.h:29
@ HMAC_FRAME_MGMT_RX_EVENT_D2H
Definition hmac_hook.h:28
@ HMAC_FRAME_HOOK_START
Definition hmac_hook.h:27
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 hmac_hook.h:47
osal_u16 priority
Definition hmac_hook.h:50
hmac_hookfn hook_func
Definition hmac_hook.h:51
osal_u16 hooknum
Definition hmac_hook.h:49
Definition mac_vap_ext.h:2019
Definition osal_list.h:39
Definition oal_skbuff.h:82