summaryrefslogtreecommitdiffstats
path: root/libopkg/sha256.h
diff options
context:
space:
mode:
authorpaul.betafive@gmail.com <paul.betafive@gmail.com@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2013-08-05 15:36:25 (EDT)
committer paul.betafive@gmail.com <paul.betafive@gmail.com@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2013-08-05 15:36:25 (EDT)
commit0918d07224f5939f74c4c9cb30365c0d5904e34f (patch)
tree509a7cacc672696a54db3e1690e7677a7353a0ff /libopkg/sha256.h
parent029004e93315105e7a8f84cf25c7109c6cb6bbc6 (diff)
sha256: Switch to GPLv2+ code
There's no need to use a GPLv3+ licensed sha256 implementation when a GPLv2+ licensed implementation exists in coreutils-6.9. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/trunk@652 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'libopkg/sha256.h')
-rw-r--r--libopkg/sha256.h35
1 files changed, 16 insertions, 19 deletions
diff --git a/libopkg/sha256.h b/libopkg/sha256.h
index 6a9aed4..ccbe6cf 100644
--- a/libopkg/sha256.h
+++ b/libopkg/sha256.h
@@ -1,11 +1,11 @@
/* Declarations of functions and data types used for SHA256 and SHA224 sum
library functions.
- Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -13,7 +13,8 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef SHA256_H
# define SHA256_H 1
@@ -21,22 +22,16 @@
# include <stdio.h>
# include <stdint.h>
-# ifdef __cplusplus
-extern "C" {
-# endif
-
/* Structure to save state of computation between the single steps. */
struct sha256_ctx
{
uint32_t state[8];
uint32_t total[2];
- size_t buflen;
+ uint32_t buflen;
uint32_t buffer[32];
};
-enum { SHA224_DIGEST_SIZE = 224 / 8 };
-enum { SHA256_DIGEST_SIZE = 256 / 8 };
/* Initialize structure containing state of computation. */
extern void sha256_init_ctx (struct sha256_ctx *ctx);
@@ -59,14 +54,20 @@ extern void sha256_process_bytes (const void *buffer, size_t len,
/* Process the remaining bytes in the buffer and put result from CTX
in first 32 (28) bytes following RESBUF. The result is always in little
endian byte order, so that a byte-wise output yields to the wanted
- ASCII representation of the message digest. */
+ ASCII representation of the message digest.
+
+ IMPORTANT: On some systems it is required that RESBUF be correctly
+ aligned for a 32 bits value. */
extern void *sha256_finish_ctx (struct sha256_ctx *ctx, void *resbuf);
extern void *sha224_finish_ctx (struct sha256_ctx *ctx, void *resbuf);
/* Put result from CTX in first 32 (28) bytes following RESBUF. The result is
always in little endian byte order, so that a byte-wise output yields
- to the wanted ASCII representation of the message digest. */
+ to the wanted ASCII representation of the message digest.
+
+ IMPORTANT: On some systems it is required that RESBUF is correctly
+ aligned for a 32 bits value. */
extern void *sha256_read_ctx (const struct sha256_ctx *ctx, void *resbuf);
extern void *sha224_read_ctx (const struct sha256_ctx *ctx, void *resbuf);
@@ -84,8 +85,4 @@ extern int sha224_stream (FILE *stream, void *resblock);
extern void *sha256_buffer (const char *buffer, size_t len, void *resblock);
extern void *sha224_buffer (const char *buffer, size_t len, void *resblock);
-# ifdef __cplusplus
-}
-# endif
-
#endif