~psiphon-inc/psiphon/trunk

« back to all changes in this revision

Viewing changes to trunk/PsiphonX/libraries/include/openssl/whrlpool.h

  • Committer: Adam Kruger
  • Date: 2011-02-07 20:43:10 UTC
  • mfrom: (157.1.3 psiphon-with-psiphonx)
  • Revision ID: akruger@kruger-xps-20110207204310-6ph82r21rce8ldze
Merge PsiphonX.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef HEADER_WHRLPOOL_H
 
2
#define HEADER_WHRLPOOL_H
 
3
 
 
4
#include <openssl/e_os2.h>
 
5
#include <stddef.h>
 
6
 
 
7
#ifdef __cplusplus
 
8
extern "C" {
 
9
#endif
 
10
 
 
11
#define WHIRLPOOL_DIGEST_LENGTH (512/8)
 
12
#define WHIRLPOOL_BBLOCK        512
 
13
#define WHIRLPOOL_COUNTER       (256/8)
 
14
 
 
15
typedef struct  {
 
16
        union   {
 
17
                unsigned char   c[WHIRLPOOL_DIGEST_LENGTH];
 
18
                /* double q is here to ensure 64-bit alignment */
 
19
                double          q[WHIRLPOOL_DIGEST_LENGTH/sizeof(double)];
 
20
                }       H;
 
21
        unsigned char   data[WHIRLPOOL_BBLOCK/8];
 
22
        unsigned int    bitoff;
 
23
        size_t          bitlen[WHIRLPOOL_COUNTER/sizeof(size_t)];
 
24
        } WHIRLPOOL_CTX;
 
25
 
 
26
#ifndef OPENSSL_NO_WHIRLPOOL
 
27
int WHIRLPOOL_Init      (WHIRLPOOL_CTX *c);
 
28
int WHIRLPOOL_Update    (WHIRLPOOL_CTX *c,const void *inp,size_t bytes);
 
29
void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c,const void *inp,size_t bits);
 
30
int WHIRLPOOL_Final     (unsigned char *md,WHIRLPOOL_CTX *c);
 
31
unsigned char *WHIRLPOOL(const void *inp,size_t bytes,unsigned char *md);
 
32
#endif
 
33
 
 
34
#ifdef __cplusplus
 
35
}
 
36
#endif
 
37
 
 
38
#endif