summaryrefslogtreecommitdiff
path: root/lib/md5.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2006-01-10 17:47:56 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2006-01-10 17:47:56 +0000
commitd11af4159eb8836696ef29f1e1ac9ad4db348d47 (patch)
tree87dc9cf5d37eebdd601ef33b9925bfb955ff87ff /lib/md5.h
parent71520b31c09c843d37c84abd12694e06428cdd47 (diff)
downloadcoreutils-d11af4159eb8836696ef29f1e1ac9ad4db348d47.tar.xz
Sync from gnulib.
Diffstat (limited to 'lib/md5.h')
-rw-r--r--lib/md5.h46
1 files changed, 20 insertions, 26 deletions
diff --git a/lib/md5.h b/lib/md5.h
index 1c29e67b4..68dfcf89a 100644
--- a/lib/md5.h
+++ b/lib/md5.h
@@ -1,9 +1,8 @@
/* Declaration of functions and data types used for MD5 sum computing
library functions.
- Copyright (C) 1995-1997,1999-2005 Free Software Foundation, Inc.
-
- NOTE: The canonical source of this file is maintained with the GNU C
- Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
+ Copyright (C) 1995-1997,1999,2000,2001,2004,2005
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
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
@@ -23,18 +22,15 @@
#define _MD5_H 1
#include <stdio.h>
+#include <stdint.h>
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#if HAVE_STDINT_H || _LIBC
-# include <stdint.h>
-#endif
+#define MD5_DIGEST_SIZE 16
+#define MD5_BLOCK_SIZE 64
#ifndef __GNUC_PREREQ
# if defined __GNUC__ && defined __GNUC_MINOR__
-# define __GNUC_PREREQ(maj, min) \
- ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# define __GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
# else
# define __GNUC_PREREQ(maj, min) 0
# endif
@@ -64,19 +60,17 @@
# define __md5_stream md5_stream
#endif
-typedef uint32_t md5_uint32;
-
/* Structure to save state of computation between the single steps. */
struct md5_ctx
{
- md5_uint32 A;
- md5_uint32 B;
- md5_uint32 C;
- md5_uint32 D;
-
- md5_uint32 total[2];
- md5_uint32 buflen;
- char buffer[128] __attribute__ ((__aligned__ (__alignof__ (md5_uint32))));
+ uint32_t A;
+ uint32_t B;
+ uint32_t C;
+ uint32_t D;
+
+ uint32_t total[2];
+ uint32_t buflen;
+ uint32_t buffer[32];
};
/*
@@ -107,8 +101,8 @@ extern void __md5_process_bytes (const void *buffer, size_t len,
endian byte order, so that a byte-wise output yields to the wanted
ASCII representation of the message digest.
- IMPORTANT: On some systems it is required that RESBUF be correctly
- aligned for a 32 bits value. */
+ IMPORTANT: On some systems, RESBUF must be aligned to a 32-bit
+ boundary. */
extern void *__md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) __THROW;
@@ -116,8 +110,8 @@ extern void *__md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) __THROW;
always in little endian byte order, so that a byte-wise output yields
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. */
+ IMPORTANT: On some systems, RESBUF must be aligned to a 32-bit
+ boundary. */
extern void *__md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) __THROW;