WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
kapi_symc.c 文件参考
#include "kapi_symc.h"
#include "kapi_inner.h"
#include <securec.h>
#include "fmea.h"
#include "drv_symc.h"
#include "drv_inner.h"
#include "crypto_drv_common.h"
kapi_symc.c 的引用(Include)关系图:

结构体

struct  crypto_kapi_symc_ctx
 
struct  crypto_kapi_symc_process
 

宏定义

#define CRYPTO_KAPI_DMA_SIZE_ONE_PROCESS   (CRYPTO_DRV_AAD_SIZE * CRYPTO_SYMC_VIRT_CHN_NUM)
 
#define CRYPTO_KAPI_TOTAL_DMA_SIZE   (CRYPTO_KAPI_DMA_SIZE_ONE_PROCESS * MAX_PROCESS_NUM)
 
#define CRYPTO_SYMC_INIT_MAX_NUM   256
 
#define kapi_symc_lock()
 
#define kapi_symc_unlock()
 
#define SYMC_COMPAT_ERRNO(err_code)   KAPI_COMPAT_ERRNO(ERROR_MODULE_SYMC, err_code)
 
#define symc_null_ptr_chk(ptr)    crypto_chk_return((ptr) == TD_NULL, SYMC_COMPAT_ERRNO(ERROR_PARAM_IS_NULL), #ptr" is NULL\n")
 

函数

td_s32 kapi_cipher_symc_env_init (td_void)
 
td_s32 kapi_cipher_symc_env_deinit (td_void)
 
td_s32 kapi_cipher_symc_init (td_void)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_init)
 
td_s32 kapi_cipher_symc_deinit (td_void)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_deinit)
 
td_s32 kapi_cipher_symc_create (td_handle *kapi_symc_handle, const crypto_symc_attr *symc_attr)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_create)
 
td_s32 kapi_cipher_symc_destroy (td_handle kapi_symc_handle)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_destroy)
 
td_s32 kapi_cipher_symc_set_config (td_handle kapi_symc_handle, const crypto_symc_ctrl_t *symc_ctrl)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_set_config)
 
td_s32 kapi_cipher_symc_get_config (td_handle kapi_symc_handle, crypto_symc_ctrl_t *symc_ctrl)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_get_config)
 
td_s32 kapi_cipher_symc_attach (td_handle kapi_symc_handle, td_handle keyslot_handle)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_attach)
 
td_s32 kapi_cipher_symc_detach (td_handle kapi_symc_handle, td_handle keyslot_handle)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_detach)
 
td_s32 kapi_cipher_symc_encrypt (td_handle kapi_symc_handle, const crypto_buf_attr *src_buf, const crypto_buf_attr *dst_buf, td_u32 length)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_encrypt)
 
td_s32 kapi_cipher_symc_decrypt (td_handle kapi_symc_handle, const crypto_buf_attr *src_buf, const crypto_buf_attr *dst_buf, td_u32 length)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_decrypt)
 
td_s32 kapi_cipher_symc_get_tag (td_handle kapi_symc_handle, td_u8 *tag, td_u32 tag_length)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_symc_get_tag)
 
td_s32 kapi_cipher_dma_copy (const crypto_buf_attr *src_buf, const crypto_buf_attr *dst_buf, td_u32 length)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_dma_copy)
 
td_s32 kapi_cipher_mac_start (td_handle *kapi_symc_handle, const crypto_symc_mac_attr *mac_attr)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_mac_start)
 
td_s32 kapi_cipher_mac_update (td_handle kapi_symc_handle, const crypto_buf_attr *src_buf, td_u32 length)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_mac_update)
 
td_s32 kapi_cipher_mac_finish (td_handle kapi_symc_handle, td_u8 *mac, td_u32 *mac_length)
 
 CRYPTO_EXPORT_SYMBOL (kapi_cipher_mac_finish)
 

宏定义说明

◆ CRYPTO_KAPI_DMA_SIZE_ONE_PROCESS

#define CRYPTO_KAPI_DMA_SIZE_ONE_PROCESS   (CRYPTO_DRV_AAD_SIZE * CRYPTO_SYMC_VIRT_CHN_NUM)

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved. Description: symmetric algorithm kernel API function implementation.

Create: 2023-05-26

◆ CRYPTO_KAPI_TOTAL_DMA_SIZE

#define CRYPTO_KAPI_TOTAL_DMA_SIZE   (CRYPTO_KAPI_DMA_SIZE_ONE_PROCESS * MAX_PROCESS_NUM)

◆ CRYPTO_SYMC_INIT_MAX_NUM

#define CRYPTO_SYMC_INIT_MAX_NUM   256

◆ kapi_symc_lock

#define kapi_symc_lock ( )
值:
do { \
crypto_mutex_lock(&g_symc_mutex); \
} while (0)

◆ kapi_symc_unlock

#define kapi_symc_unlock ( )
值:
do { \
crypto_mutex_unlock(&g_symc_mutex); \
} while (0)

◆ SYMC_COMPAT_ERRNO

#define SYMC_COMPAT_ERRNO (   err_code)    KAPI_COMPAT_ERRNO(ERROR_MODULE_SYMC, err_code)

◆ symc_null_ptr_chk

#define symc_null_ptr_chk (   ptr)     crypto_chk_return((ptr) == TD_NULL, SYMC_COMPAT_ERRNO(ERROR_PARAM_IS_NULL), #ptr" is NULL\n")

函数说明

◆ CRYPTO_EXPORT_SYMBOL() [1/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_dma_copy  )

◆ CRYPTO_EXPORT_SYMBOL() [2/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_mac_finish  )

◆ CRYPTO_EXPORT_SYMBOL() [3/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_mac_start  )

◆ CRYPTO_EXPORT_SYMBOL() [4/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_mac_update  )

◆ CRYPTO_EXPORT_SYMBOL() [5/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_attach  )

◆ CRYPTO_EXPORT_SYMBOL() [6/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_create  )

◆ CRYPTO_EXPORT_SYMBOL() [7/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_decrypt  )

◆ CRYPTO_EXPORT_SYMBOL() [8/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_deinit  )

◆ CRYPTO_EXPORT_SYMBOL() [9/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_destroy  )

◆ CRYPTO_EXPORT_SYMBOL() [10/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_detach  )

◆ CRYPTO_EXPORT_SYMBOL() [11/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_encrypt  )

◆ CRYPTO_EXPORT_SYMBOL() [12/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_get_config  )

◆ CRYPTO_EXPORT_SYMBOL() [13/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_get_tag  )

◆ CRYPTO_EXPORT_SYMBOL() [14/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_init  )

◆ CRYPTO_EXPORT_SYMBOL() [15/15]

CRYPTO_EXPORT_SYMBOL ( kapi_cipher_symc_set_config  )

◆ kapi_cipher_dma_copy()

td_s32 kapi_cipher_dma_copy ( const crypto_buf_attr src_buf,
const crypto_buf_attr dst_buf,
td_u32  length 
)

◆ kapi_cipher_mac_finish()

td_s32 kapi_cipher_mac_finish ( td_handle  kapi_symc_handle,
td_u8 mac,
td_u32 mac_length 
)

◆ kapi_cipher_mac_start()

td_s32 kapi_cipher_mac_start ( td_handle kapi_symc_handle,
const crypto_symc_mac_attr mac_attr 
)

◆ kapi_cipher_mac_update()

td_s32 kapi_cipher_mac_update ( td_handle  kapi_symc_handle,
const crypto_buf_attr src_buf,
td_u32  length 
)

◆ kapi_cipher_symc_attach()

td_s32 kapi_cipher_symc_attach ( td_handle  kapi_symc_handle,
td_handle  keyslot_handle 
)

◆ kapi_cipher_symc_create()

td_s32 kapi_cipher_symc_create ( td_handle kapi_symc_handle,
const crypto_symc_attr symc_attr 
)

◆ kapi_cipher_symc_decrypt()

td_s32 kapi_cipher_symc_decrypt ( td_handle  kapi_symc_handle,
const crypto_buf_attr src_buf,
const crypto_buf_attr dst_buf,
td_u32  length 
)

◆ kapi_cipher_symc_deinit()

td_s32 kapi_cipher_symc_deinit ( td_void  )

◆ kapi_cipher_symc_destroy()

td_s32 kapi_cipher_symc_destroy ( td_handle  kapi_symc_handle)

◆ kapi_cipher_symc_detach()

td_s32 kapi_cipher_symc_detach ( td_handle  kapi_symc_handle,
td_handle  keyslot_handle 
)

◆ kapi_cipher_symc_encrypt()

td_s32 kapi_cipher_symc_encrypt ( td_handle  kapi_symc_handle,
const crypto_buf_attr src_buf,
const crypto_buf_attr dst_buf,
td_u32  length 
)

◆ kapi_cipher_symc_env_deinit()

td_s32 kapi_cipher_symc_env_deinit ( td_void  )

◆ kapi_cipher_symc_env_init()

td_s32 kapi_cipher_symc_env_init ( td_void  )

◆ kapi_cipher_symc_get_config()

td_s32 kapi_cipher_symc_get_config ( td_handle  kapi_symc_handle,
crypto_symc_ctrl_t symc_ctrl 
)

◆ kapi_cipher_symc_get_tag()

td_s32 kapi_cipher_symc_get_tag ( td_handle  kapi_symc_handle,
td_u8 tag,
td_u32  tag_length 
)

◆ kapi_cipher_symc_init()

td_s32 kapi_cipher_symc_init ( td_void  )

◆ kapi_cipher_symc_set_config()

td_s32 kapi_cipher_symc_set_config ( td_handle  kapi_symc_handle,
const crypto_symc_ctrl_t symc_ctrl 
)