libyggdrasil
v1.0.0
|
Hash abstraction implementation for Midgard. More...
#include <yggdrasil.h>
#include <cpp/common/registers.hpp>
#include <cpp/common/attributes.hpp>
#include <cpp/common/types.hpp>
#include <cpp/common/utils.hpp>
#include <c/midgard/driver/hash.h>
#include <math.h>
Typedefs | |
using | DR = bsp::Register< 0x4002 '3000, RegisterMap::DR, u32 > |
using | IDR = bsp::Register< 0x4002 '3000, RegisterMap::IDR, u32 > |
using | CR = bsp::Register< 0x4002 '3000, RegisterMap::CR, u32 > |
using | INIT = bsp::Register< 0x4002 '3000, RegisterMap::INIT, u32 > |
using | POL = bsp::Register< 0x4002 '3000, RegisterMap::POL, u32 > |
Enumerations | |
enum | RegisterMap : u8 { RegisterMap::DR = 0x00, RegisterMap::IDR = 0x04, RegisterMap::CR = 0x08, RegisterMap::INIT = 0x10, RegisterMap::POL = 0x14 } |
Register map. More... | |
Functions | |
C_LINKAGE bool | yggdrasil_HASH_Init (void) |
Hash initialization. More... | |
C_LINKAGE bool | yggdrasil_HASH_Deinit (void) |
Hash deinitialization. More... | |
C_LINKAGE u8 | yggdrasil_HASH_getCRC8 (void *data, size_t size, u8 initValue, u8 polynomial, u8 xorOut) |
Hardware accelerated CRC8 caluclation. More... | |
C_LINKAGE u16 | yggdrasil_HASH_getCRC16 (void *data, size_t size, u16 initValue, u16 polynomial, u16 xorOut) |
Hardware accelerated CRC16 caluclation. More... | |
C_LINKAGE u32 | yggdrasil_HASH_getCRC32 (void *data, size_t size, u32 initValue, u32 polynomial, u32 xorOut) |
Hardware accelerated CRC32 caluclation. More... | |
Hash abstraction implementation for Midgard.
using CR = bsp::Register<0x4002'3000, RegisterMap::CR, u32> |
using DR = bsp::Register<0x4002'3000, RegisterMap::DR, u32> |
using IDR = bsp::Register<0x4002'3000, RegisterMap::IDR, u32> |
using INIT = bsp::Register<0x4002'3000, RegisterMap::INIT, u32> |
using POL = bsp::Register<0x4002'3000, RegisterMap::POL, u32> |
|
strong |
C_LINKAGE bool yggdrasil_HASH_Deinit | ( | void | ) |
Hash deinitialization.
C_LINKAGE u16 yggdrasil_HASH_getCRC16 | ( | void * | data, |
size_t | size, | ||
u16 | initValue, | ||
u16 | polynomial, | ||
u16 | xorOut | ||
) |
Hardware accelerated CRC16 caluclation.
data | Data to calculate CRC of |
size | Size of the data |
initValue | Start value |
polynomial | Used polynomial |
xorOut | Value to xor result value with |
C_LINKAGE u32 yggdrasil_HASH_getCRC32 | ( | void * | data, |
size_t | size, | ||
u32 | initValue, | ||
u32 | polynomial, | ||
u32 | xorOut | ||
) |
Hardware accelerated CRC32 caluclation.
data | Data to calculate CRC of |
size | Size of the data |
initValue | Start value |
polynomial | Used polynomial |
xorOut | Value to xor result value with |
C_LINKAGE u8 yggdrasil_HASH_getCRC8 | ( | void * | data, |
size_t | size, | ||
u8 | initValue, | ||
u8 | polynomial, | ||
u8 | xorOut | ||
) |
Hardware accelerated CRC8 caluclation.
data | Data to calculate CRC of |
size | Size of the data |
initValue | Start value |
polynomial | Used polynomial |
xorOut | Value to xor result value with |
C_LINKAGE bool yggdrasil_HASH_Init | ( | void | ) |
Hash initialization.