+++ /dev/null
-/* -*-c-*-
- *
- * $Id: md5.h,v 1.3 1998/01/12 16:46:13 mdw Exp $
- *
- * MD-5 secure hash routines
- * Based on RSA MD-5 code
- *
- * (c) 1996-1998 Mark Wooding
- */
-
-/*----- Licensing notice --------------------------------------------------*
- *
- * This file is part of `become'
- *
- * `Become' 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 of the License, or
- * (at your option) any later version.
- *
- * `Become' is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with `become'; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: md5.h,v $
- * Revision 1.3 1998/01/12 16:46:13 mdw
- * Fix copyright date.
- *
- * Revision 1.2 1997/08/04 10:24:23 mdw
- * Sources placed under CVS control.
- *
- * Revision 1.1 1997/07/21 13:47:47 mdw
- * Initial revision
- *
- */
-
-#ifndef MD5_H
-#define MD5_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/*----- Required headers --------------------------------------------------*/
-
-#include <stddef.h>
-
-#ifndef CONFIG_H
-# include "config.h"
-#endif
-
-/*----- Useful constants --------------------------------------------------*/
-
-#define MD5_HASHSIZE (16u) /* Size of an MD5 hash */
-
-/*----- Type definitions --------------------------------------------------*/
-
-/* --- MD5 context buffer --- */
-
-typedef struct {
- uint_32 val[4]; /* Result of the hash function */
- unsigned long size; /* Current size of data in bytes */
- unsigned char buf[64]; /* Buffer accumulating next block */
-} md5;
-
-/*----- Functions provided ------------------------------------------------*/
-
-/* --- @md5_trans@ --- *
- *
- * Arguments: @unsigned char *v@ = pointer to chaining block (updated)
- * @const unsigned char *buf@ = pointer to input buffer
- *
- * Returns: ---
- *
- * Use: Performs the MD5 transformation on a chunk of data. This may
- * be useful for using MD5 in MDC-type cipher constructions.
- */
-
-extern void md5_trans(unsigned char */*v*/, const unsigned char */*buf*/);
-
-/* --- @md5_buffer@ --- *
- *
- * Arguments: @md5 *m@ = pointer to an MD5 context
- * @const void *buff@ = pointer to buffer of data
- * @size_t size@ = size of buffer
- *
- * Returns: ---
- *
- * Use: Hashes the buffer of data. You can call md5_buffer
- * lots of times during an MD5 job, to allow big files to be
- * split into little ones.
- *
- * This routine could be improved lots, to compare with the
- * Straylight ARM assembler implementation, although that
- * requires lots of work. Remember that the ARM version
- * doesn't need to do endianness-fiddling.
- */
-
-extern void md5_buffer(md5 */*m*/, const void */*buff*/, size_t /*size*/);
-
-/* --- @md5_key@ --- *
- *
- * Arguments: @md5 *m@ = pointer to an MD5 context
- * @const unsigned char *k@ = pointer to a 4-word `key'
- *
- * Returns: ---
- *
- * Use: Initialises a context buffer, with a chosen initialisation
- * string (instead of the standard MD5 value). This allows you
- * to use NMAC message authentication, should the urge take you.
- */
-
-extern void md5_key(md5 */*m*/, const unsigned char */*k*/);
-
-/* --- @md5_init@ --- *
- *
- * Arguments: @md5 *m@ = pointer to an MD5 context
- *
- * Returns: ---
- *
- * Use: Initialises the context buffer, so that you can do an
- * MD5 job.
- */
-
-extern void md5_init(md5 */*m*/);
-
-/* --- @md5_final@ --- *
- *
- * Arguments: @md5 *m@ = pointer to context buffer
- * @unsigned char *v@ = where to store the value
- *
- * Returns: ---
- *
- * Use: Finalises an MD5 buffer, so that you can use the result.
- */
-
-extern void md5_final(md5 */*m*/, unsigned char */*v*/);
-
-/*----- That's all, folks -------------------------------------------------*/
-
-#ifdef __cplusplus
- }
-#endif
-
-#endif