summaryrefslogtreecommitdiff
path: root/arm9/lib/NitroSDK/include/MATH_dgt.h
blob: 140b4f98b099456d27d7c76c32490c023def557f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef GUARD_MATH_DGT_H
#define GUARD_MATH_DGT_H

#include "dgt.h"
#include "nitro/types.h"

typedef struct DGTHash1Context MATHMD5Context;
typedef struct DGTHash2Context MATHSHA1Context;

static inline void MATH_MD5Init(MATHMD5Context *context) {
    DGT_Hash1Reset(context);
}

static inline void MATH_MD5Update(MATHMD5Context *context, const void *input, u32 length) {
    DGT_Hash1SetSource(context, (u8*)input, length);
}

static inline void MATH_MD5GetHash(MATHMD5Context *context, void *digest) {
    DGT_Hash1GetDigest_R((u8*)digest, context);
}

static inline void MATH_MD5GetDigest(MATHMD5Context *context, void *digest) {
    MATH_MD5GetHash(context, digest);
}

static inline void MATH_SHA1Init(MATHSHA1Context *context) {
    DGT_Hash2Reset(context);
}

static inline void MATH_SHA1Update(MATHSHA1Context *context, const void *input, u32 length) {
    DGT_Hash2SetSource(context, (u8*)input, length);
}

static inline void MATH_SHA1GetHash(MATHSHA1Context *context, void *digest) {
    DGT_Hash2GetDigest(context, (u8*)digest);
}

static inline void MATH_SHA1GetDigest(MATHSHA1Context *context, void *digest) {
    MATH_SHA1GetHash(context, digest);
}

void MATH_CalcMD5(void *digest, const void *data, u32 dataLength);
void MATH_CalcSHA1(void *digest, const void *data, u32 dataLength);

#endif