GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (c) 2019, Remi Pommarel <repk@triplefau.lt>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
#ifndef SHA_DMA_H
|
||||
#define SHA_DMA_H
|
||||
|
||||
#define SHA256_HASHSZ 32
|
||||
#define SHA256_BLOCKSZ 0x40
|
||||
|
||||
enum ASD_MODE {
|
||||
ASM_INVAL,
|
||||
ASM_SHA256,
|
||||
ASM_SHA224,
|
||||
};
|
||||
|
||||
struct asd_ctx {
|
||||
uint8_t digest[SHA256_HASHSZ];
|
||||
uint8_t block[SHA256_BLOCKSZ];
|
||||
size_t blocksz;
|
||||
enum ASD_MODE mode;
|
||||
uint8_t started;
|
||||
};
|
||||
|
||||
static inline void asd_sha_init(struct asd_ctx *ctx, enum ASD_MODE mode)
|
||||
{
|
||||
ctx->started = 0;
|
||||
ctx->mode = mode;
|
||||
ctx->blocksz = 0;
|
||||
}
|
||||
|
||||
void asd_sha_update(struct asd_ctx *ctx, void *data, size_t len);
|
||||
void asd_sha_finalize(struct asd_ctx *ctx);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user