123456789101112131415161718192021222324252627282930313233343536 |
- /*
- * 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
|