WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_symc.h
浏览该文件的文档.
1
9#ifndef HAL_SYMC_H
10#define HAL_SYMC_H
11
12#include "hal_common.h"
13#include "crypto_symc_struct.h"
14
15#ifdef __cplusplus
16#if __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19#endif /* __cplusplus */
20
22
24
26
28
30
31td_s32 hal_cipher_symc_attach(td_u32 symc_chn_num, td_u32 keyslot_chn_num);
32
33td_s32 hal_cipher_symc_set_iv(td_u32 chn_num, const td_u8 *iv, td_u32 iv_len);
34
35td_s32 hal_cipher_symc_get_iv(td_u32 chn_num, td_u8 *iv, td_u32 iv_len);
36
37typedef struct {
44 /* iv_mac for ccm, iv_ghash for gcm. */
45 td_u8 iv_mac[16];
46 /* s0 for ccm, j0 for gcm. */
47 td_u8 iv0[16];
48 /* for gcm calculate j0. */
52
53td_s32 hal_cipher_symc_config(td_u32 chn_num, const hal_symc_config_t *symc_config);
54
56
58
60
61td_s32 hal_cipher_symc_add_in_node(td_u32 chn_num, td_phys_addr_t data_phys_addr, td_u32 data_len,
62 in_node_type_e in_node_type);
63
64td_s32 hal_cipher_symc_add_out_node(td_u32 chn_num, td_phys_addr_t data_phys_addr, td_u32 data_len);
65
67 td_u32 c_num, td_u32 e_num, td_u32 offset_len);
68
69td_s32 hal_cipher_symc_get_tag(td_u32 chn_num, td_u8 *tag, td_u32 tag_len);
70
72
74
76
78
80 crypto_wait_timeout_interruptible wait_func, td_u32 timeout_ms);
81
83
85
86td_s32 hal_cipher_symc_set_key(td_u32 chn_num, const td_u8 *key, td_u32 key_len);
87
88td_void hal_cipher_set_chn_secure(td_u32 chn_num, td_bool dest_sec, td_bool src_sec);
89
91
92#ifdef __cplusplus
93#if __cplusplus
94}
95#endif /* __cplusplus */
96#endif /* __cplusplus */
97
98#endif
crypto_symc_work_mode
Definition crypto_symc_struct.h:32
crypto_symc_iv_change_type
Definition crypto_symc_struct.h:71
crypto_symc_alg
Definition crypto_symc_struct.h:22
crypto_symc_bit_width
Definition crypto_symc_struct.h:62
crypto_symc_key_length
Definition crypto_symc_struct.h:46
td_s32(* crypto_wait_timeout_interruptible)(crypto_wait_t *wait, drv_wait_condition_func func, const td_void *param, const td_ulong timeout_ms)
Definition hal_common.h:69
in_node_type_e
Definition hal_common.h:50
td_s32 hal_cipher_symc_wait_func_config(td_u32 chn_num, td_bool is_enable)
Definition hal_symc.c:1744
td_s32 hal_cipher_symc_debug_chn(td_u32 chn_num)
Definition hal_symc.c:1689
td_s32 hal_cipher_symc_register_wait_func(td_u32 chn_num, td_void *wait, crypto_wait_timeout_interruptible wait_func, td_u32 timeout_ms)
Definition hal_symc.c:1626
td_s32 hal_cipher_symc_done_try(td_u32 chn_num)
Definition hal_symc.c:860
td_s32 hal_cipher_symc_start(td_u32 chn_num)
Definition hal_symc.c:803
td_s32 hal_cipher_symc_unlock_chn(td_u32 chn_num)
Definition hal_symc.c:372
td_s32 hal_cipher_symc_get_config(td_u32 chn_num, hal_symc_config_t *symc_config)
Definition hal_symc.c:787
td_s32 hal_cipher_symc_get_proc_info(td_u32 chn_num, crypto_symc_proc_info *proc_symc_info)
td_s32 hal_cipher_symc_enable_cenc_node(td_u32 chn_num, td_u32 is_head, td_u32 c_num, td_u32 e_num, td_u32 offset_len)
Definition hal_symc.c:1561
td_s32 hal_cipher_symc_attach(td_u32 symc_chn_num, td_u32 keyslot_chn_num)
Definition hal_symc.c:405
td_s32 hal_cipher_symc_get_iv(td_u32 chn_num, td_u8 *iv, td_u32 iv_len)
Definition hal_symc.c:454
td_s32 hal_cipher_symc_wait_done(td_u32 chn_num, td_bool is_wait)
Definition hal_symc.c:1176
td_void hal_cipher_set_chn_secure(td_u32 chn_num, td_bool dest_sec, td_bool src_sec)
Definition hal_symc.c:1735
td_s32 hal_cipher_symc_get_tag(td_u32 chn_num, td_u8 *tag, td_u32 tag_len)
Definition hal_symc.c:1573
td_s32 hal_cipher_symc_debug(td_void)
Definition hal_symc.c:1644
td_s32 hal_cipher_symc_deinit(td_void)
Definition hal_symc.c:291
td_s32 hal_cipher_symc_low_power_set(td_bool flag)
td_s32 hal_cipher_symc_init(td_void)
Definition hal_symc.c:260
td_s32 hal_cipher_symc_set_iv(td_u32 chn_num, const td_u8 *iv, td_u32 iv_len)
Definition hal_symc.c:428
td_s32 hal_cipher_symc_add_in_node(td_u32 chn_num, td_phys_addr_t data_phys_addr, td_u32 data_len, in_node_type_e in_node_type)
Definition hal_symc.c:1485
td_s32 hal_cipher_symc_add_out_node(td_u32 chn_num, td_phys_addr_t data_phys_addr, td_u32 data_len)
Definition hal_symc.c:1514
td_s32 hal_cipher_symc_lock_chn(td_u32 chn_num)
Definition hal_symc.c:310
td_s32 hal_cipher_symc_config(td_u32 chn_num, const hal_symc_config_t *symc_config)
Definition hal_symc.c:740
td_s32 hal_cipher_symc_done_notify(td_u32 chn_num)
Definition hal_symc.c:878
td_s32 hal_cipher_symc_set_key(td_u32 chn_num, const td_u8 *key, td_u32 key_len)
Definition hal_symc.c:419
td_s32 hal_cipher_symc_get_module_info(crypto_symc_module_info *module_info)
Definition crypto_symc_struct.h:165
Definition crypto_symc_struct.h:140
Definition hal_symc.h:37
crypto_symc_bit_width symc_bit_width
Definition hal_symc.h:41
crypto_symc_alg symc_alg
Definition hal_symc.h:38
td_bool is_decrypt
Definition hal_symc.h:42
const td_u8 * gcm_iv_ptr
Definition hal_symc.h:49
crypto_symc_key_length symc_key_length
Definition hal_symc.h:40
crypto_symc_work_mode work_mode
Definition hal_symc.h:39
crypto_symc_iv_change_type iv_change_flag
Definition hal_symc.h:43
td_u32 gcm_iv_len
Definition hal_symc.h:50
unsigned char td_u8
Definition td_type.h:36
td_u8 td_bool
Definition td_type.h:50
void td_void
Definition td_type.h:49
unsigned int td_u32
Definition td_type.h:38
int td_s32
Definition td_type.h:44
unsigned int td_phys_addr_t
Definition td_type.h:74