mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-27 03:49:03 +08:00
df79080e5f
2002-02-06 Adam Megacz <adam@xwt.org> * shs.h, shs.cc, natSimpleSHSStream.cc: use uint<n>_t instead of LONG and BYTE From-SVN: r49565
58 lines
1.2 KiB
C
58 lines
1.2 KiB
C
/* --------------------------------- SHS.H ------------------------------- */
|
|
|
|
/*
|
|
* NIST proposed Secure Hash Standard.
|
|
*
|
|
* Written 2 September 1992, Peter C. Gutmann.
|
|
* This implementation placed in the public domain.
|
|
*
|
|
* Comments to pgut1@cs.aukuni.ac.nz
|
|
*/
|
|
|
|
/* Useful defines/typedefs */
|
|
|
|
#ifndef SHS_H
|
|
#define SHS_H
|
|
|
|
#include<config.h>
|
|
#if HAVE_INTTYPES_H
|
|
# include <inttypes.h>
|
|
#else
|
|
# if HAVE_STDINT_H
|
|
# include <stdint.h>
|
|
# endif
|
|
#endif
|
|
|
|
/* The SHS block size and message digest sizes, in bytes */
|
|
|
|
#define SHS_BLOCKSIZE 64
|
|
#define SHS_DIGESTSIZE 20
|
|
|
|
/* The structure for storing SHS info */
|
|
|
|
typedef struct {
|
|
uint32_t digest [5]; /* Message digest */
|
|
uint32_t countLo, countHi; /* 64-bit bit count */
|
|
uint32_t data [16]; /* SHS data buffer */
|
|
} SHS_INFO;
|
|
|
|
/* Turn off prototypes if requested */
|
|
#if (defined(NOPROTO) && defined(PROTO))
|
|
# undef PROTO
|
|
#endif
|
|
|
|
/* Used to remove arguments in function prototypes for non-ANSI C */
|
|
#ifdef PROTO
|
|
# define OF(a) a
|
|
#else /* !PROTO */
|
|
# define OF(a) ()
|
|
#endif /* ?PROTO */
|
|
|
|
#define local static
|
|
|
|
void shsInit OF((SHS_INFO *shsInfo));
|
|
void shsUpdate OF((SHS_INFO *shsInfo, uint8_t *buffer, int count));
|
|
void shsFinal OF((SHS_INFO *shsInfo));
|
|
|
|
#endif
|