HPM SDK
HPMicro Software Development Kit
sdp_driver_interface_t Struct Reference

SDP API interface. More...

#include <hpm_romapi.h>

Data Fields

uint32_t version
 
hpm_stat_t(* sdp_ip_init )(void)
 
hpm_stat_t(* sdp_ip_deinit )(void)
 
hpm_stat_t(* aes_set_key )(sdp_aes_ctx_t *aes_ctx, const uint8_t *key, sdp_aes_key_bits_t keybits, uint32_t key_idx)
 
hpm_stat_t(* aes_crypt_ecb )(sdp_aes_ctx_t *aes_ctx, sdp_aes_op_t op, uint32_t len, const uint8_t *in, uint8_t *out)
 
hpm_stat_t(* aes_crypt_cbc )(sdp_aes_ctx_t *aes_ctx, sdp_aes_op_t op, uint32_t length, uint8_t iv[16], const uint8_t *input, uint8_t *output)
 
hpm_stat_t(* aes_crypt_ctr )(sdp_aes_ctx_t *aes_ctx, uint8_t *nonce_ctr, uint8_t *input, uint8_t *output, uint32_t length)
 
hpm_stat_t(* aes_ccm_gen_enc )(sdp_aes_ctx_t *aes_ctx, uint32_t input_len, const uint8_t *nonce, uint32_t nonce_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, uint8_t *tag, uint32_t tag_len)
 
hpm_stat_t(* aes_ccm_dec_verify )(sdp_aes_ctx_t *aes_ctx, uint32_t input_len, const uint8_t *nonce, uint32_t nonce_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, const uint8_t *tag, uint32_t tag_len)
 
hpm_stat_t(* memcpy )(sdp_dma_ctx_t *dma_ctx, void *dst, const void *src, uint32_t length)
 
hpm_stat_t(* memset )(sdp_dma_ctx_t *dma_ctx, void *dst, uint8_t pattern, uint32_t length)
 
hpm_stat_t(* hash_init )(sdp_hash_ctx_t *hash_ctx, sdp_hash_alg_t alg)
 
hpm_stat_t(* hash_update )(sdp_hash_ctx_t *hash_ctx, const uint8_t *data, uint32_t length)
 
hpm_stat_t(* hash_finish )(sdp_hash_ctx_t *hash_ctx, uint8_t *digest)
 
hpm_stat_t(* sm4_set_key )(sdp_sm4_ctx_t *sm4_ctx, const uint8_t *key, sdp_sm4_key_bits_t keybits, uint32_t key_idx)
 
hpm_stat_t(* sm4_crypt_ecb )(sdp_sm4_ctx_t *sm4_ctx, sdp_sm4_op_t op, uint32_t len, const uint8_t *in, uint8_t *out)
 
hpm_stat_t(* sm4_crypt_cbc )(sdp_sm4_ctx_t *sm4_ctx, sdp_sm4_op_t op, uint32_t length, uint8_t iv[16], const uint8_t *input, uint8_t *output)
 
hpm_stat_t(* sm4_crypt_ctr )(sdp_sm4_ctx_t *sm4_ctx, uint8_t *nonce_ctr, uint8_t *input, uint8_t *output, uint32_t length)
 
hpm_stat_t(* sm4_ccm_gen_enc )(sdp_sm4_ctx_t *sm4_ctx, uint32_t input_len, const uint8_t *nonce, uint32_t nonce_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, uint8_t *tag, uint32_t tag_len)
 
hpm_stat_t(* sm4_ccm_dec_verify )(sdp_sm4_ctx_t *sm4_ctx, uint32_t input_len, const uint8_t *nonce, uint32_t nonce_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, const uint8_t *tag, uint32_t tag_len)
 

Detailed Description

SDP API interface.

Field Documentation

◆ aes_ccm_dec_verify

hpm_stat_t(* sdp_driver_interface_t::aes_ccm_dec_verify)(sdp_aes_ctx_t *aes_ctx, uint32_t input_len, const uint8_t *nonce, uint32_t nonce_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, const uint8_t *tag, uint32_t tag_len)

SDP API interface: memcpy

◆ aes_ccm_gen_enc

hpm_stat_t(* sdp_driver_interface_t::aes_ccm_gen_enc)(sdp_aes_ctx_t *aes_ctx, uint32_t input_len, const uint8_t *nonce, uint32_t nonce_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, uint8_t *tag, uint32_t tag_len)

SDP API interface: AES CCM Decrypt and verify

◆ aes_crypt_cbc

hpm_stat_t(* sdp_driver_interface_t::aes_crypt_cbc)(sdp_aes_ctx_t *aes_ctx, sdp_aes_op_t op, uint32_t length, uint8_t iv[16], const uint8_t *input, uint8_t *output)

SDP API interface: AES CTR crypto operation

◆ aes_crypt_ctr

hpm_stat_t(* sdp_driver_interface_t::aes_crypt_ctr)(sdp_aes_ctx_t *aes_ctx, uint8_t *nonce_ctr, uint8_t *input, uint8_t *output, uint32_t length)

SDP API interface: AES CCM encryption

◆ aes_crypt_ecb

hpm_stat_t(* sdp_driver_interface_t::aes_crypt_ecb)(sdp_aes_ctx_t *aes_ctx, sdp_aes_op_t op, uint32_t len, const uint8_t *in, uint8_t *out)

SDP API interface: AES CBC crypto operation

◆ aes_set_key

hpm_stat_t(* sdp_driver_interface_t::aes_set_key)(sdp_aes_ctx_t *aes_ctx, const uint8_t *key, sdp_aes_key_bits_t keybits, uint32_t key_idx)

SDP API interface: AES ECB crypto operation

◆ hash_finish

hpm_stat_t(* sdp_driver_interface_t::hash_finish)(sdp_hash_ctx_t *hash_ctx, uint8_t *digest)

SDP API interface: Set SM4 Key

◆ hash_init

hpm_stat_t(* sdp_driver_interface_t::hash_init)(sdp_hash_ctx_t *hash_ctx, sdp_hash_alg_t alg)

SDP API interface: HASH update

◆ hash_update

hpm_stat_t(* sdp_driver_interface_t::hash_update)(sdp_hash_ctx_t *hash_ctx, const uint8_t *data, uint32_t length)

SDP API interface: HASH finish

◆ memcpy

hpm_stat_t(* sdp_driver_interface_t::memcpy)(sdp_dma_ctx_t *dma_ctx, void *dst, const void *src, uint32_t length)

SDP API interface: memset

◆ memset

hpm_stat_t(* sdp_driver_interface_t::memset)(sdp_dma_ctx_t *dma_ctx, void *dst, uint8_t pattern, uint32_t length)

SDP API interface: HASH initialization

◆ sdp_ip_deinit

hpm_stat_t(* sdp_driver_interface_t::sdp_ip_deinit)(void) ( void  )

SDP API interface: Set AES key

◆ sdp_ip_init

hpm_stat_t(* sdp_driver_interface_t::sdp_ip_init)(void) ( void  )

SDP API interface: Deinitialize IP

◆ sm4_ccm_dec_verify

hpm_stat_t(* sdp_driver_interface_t::sm4_ccm_dec_verify)(sdp_sm4_ctx_t *sm4_ctx, uint32_t input_len, const uint8_t *nonce, uint32_t nonce_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, const uint8_t *tag, uint32_t tag_len)

◆ sm4_ccm_gen_enc

hpm_stat_t(* sdp_driver_interface_t::sm4_ccm_gen_enc)(sdp_sm4_ctx_t *sm4_ctx, uint32_t input_len, const uint8_t *nonce, uint32_t nonce_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, uint8_t *tag, uint32_t tag_len)

SDP API Interface: SM4 CCM Decrypt and Verify

◆ sm4_crypt_cbc

hpm_stat_t(* sdp_driver_interface_t::sm4_crypt_cbc)(sdp_sm4_ctx_t *sm4_ctx, sdp_sm4_op_t op, uint32_t length, uint8_t iv[16], const uint8_t *input, uint8_t *output)

SDP API Interface: SM4 CTR mode

◆ sm4_crypt_ctr

hpm_stat_t(* sdp_driver_interface_t::sm4_crypt_ctr)(sdp_sm4_ctx_t *sm4_ctx, uint8_t *nonce_ctr, uint8_t *input, uint8_t *output, uint32_t length)

SDP API Interface: SM4 CCM Encryption

◆ sm4_crypt_ecb

hpm_stat_t(* sdp_driver_interface_t::sm4_crypt_ecb)(sdp_sm4_ctx_t *sm4_ctx, sdp_sm4_op_t op, uint32_t len, const uint8_t *in, uint8_t *out)

SDP API Interface: SM4 Crypto CBC mode

◆ sm4_set_key

hpm_stat_t(* sdp_driver_interface_t::sm4_set_key)(sdp_sm4_ctx_t *sm4_ctx, const uint8_t *key, sdp_sm4_key_bits_t keybits, uint32_t key_idx)

SDP API interface: SM4 Crypto ECB mode

◆ version

uint32_t sdp_driver_interface_t::version

< SDP API interface: API version SDP API interface: Initialize IP


The documentation for this struct was generated from the following file: