2 ** Copyright 2001-2005 Double Precision, Inc.
3 ** See COPYING for distribution information.
7 #include "../libhmac/hmac.h"
9 static const char rcsid
[]="$Id: hmac.c,v 1.2 2005/02/21 03:18:30 mrsam Exp $";
11 static void alloc_context_sha1( void (*func
)(void *, void *), void *arg
)
13 struct SHA1_CONTEXT c
;
15 (*func
)((void *)&c
, arg
);
18 static void alloc_hash_sha1( void (*func
)(unsigned char *, void *), void *arg
)
20 unsigned char c
[SHA1_DIGEST_SIZE
];
25 struct hmac_hashinfo hmac_sha1
= {
29 sizeof(struct SHA1_CONTEXT
),
30 (void (*)(void *))sha1_context_init
,
31 (void (*)(void *, const void *, unsigned))sha1_context_hashstream
,
32 (void (*)(void *, unsigned long))sha1_context_endstream
,
33 (void (*)(void *, unsigned char *))sha1_context_digest
,
34 (void (*)(void *, const unsigned char *))sha1_context_restore
,
38 static void alloc_context_sha256( void (*func
)(void *, void *), void *arg
)
40 struct SHA256_CONTEXT c
;
42 (*func
)((void *)&c
, arg
);
45 static void alloc_hash_sha256( void (*func
)(unsigned char *, void *), void *arg
)
47 unsigned char c
[SHA256_DIGEST_SIZE
];
52 struct hmac_hashinfo hmac_sha256
= {
56 sizeof(struct SHA256_CONTEXT
),
57 (void (*)(void *))sha256_context_init
,
58 (void (*)(void *, const void *, unsigned))sha256_context_hashstream
,
59 (void (*)(void *, unsigned long))sha256_context_endstream
,
60 (void (*)(void *, unsigned char *))sha256_context_digest
,
61 (void (*)(void *, const unsigned char *))sha256_context_restore
,