Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
sha2xx_common.h
Go to the documentation of this file.
1
/*-
2
* Copyright 2005 Colin Percival
3
* Copyright 2013 Christian Mehlis & René Kijewski
4
* Copyright 2016 Martin Landsmann <martin.landsmann@haw-hamburg.de>
5
* Copyright 2016 OTA keys S.A.
6
* Copyright 2020 HAW Hamburg
7
* All rights reserved.
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions
11
* are met:
12
* 1. Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* 2. Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the distribution.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28
* SUCH DAMAGE.
29
*
30
* $FreeBSD: src/lib/libmd/sha256.h,v 1.1.2.1 2005/06/24 13:32:25 cperciva Exp $
31
*/
32
49
#ifndef HASHES_SHA2XX_COMMON_H
50
#define HASHES_SHA2XX_COMMON_H
51
52
#include <string.h>
53
#include <stdint.h>
54
55
#ifdef __cplusplus
56
extern
"C"
{
57
#endif
58
62
typedef
struct
{
64
uint32_t state[8];
66
uint32_t count[2];
68
unsigned
char
buf[64];
69
}
sha2xx_context_t
;
70
76
void
sha2xx_pad
(
sha2xx_context_t
*ctx);
77
85
void
sha2xx_update
(
sha2xx_context_t
*ctx,
const
void
*data,
size_t
len);
86
95
void
sha2xx_final
(
sha2xx_context_t
*ctx,
void
*digest,
size_t
dig_len);
96
97
#ifdef __cplusplus
98
}
99
#endif
100
102
#endif
/* HASHES_SHA2XX_COMMON_H */
sha2xx_pad
void sha2xx_pad(sha2xx_context_t *ctx)
SHA-2XX initialization.
sha2xx_final
void sha2xx_final(sha2xx_context_t *ctx, void *digest, size_t dig_len)
SHA-2XX finalization.
sha2xx_update
void sha2xx_update(sha2xx_context_t *ctx, const void *data, size_t len)
Add bytes into the hash.
sha2xx_context_t
Structure to hold the SHA-2XX context.
Definition
sha2xx_common.h:62
Generated on Sat Nov 23 2024 16:31:10 by
1.9.8