~drizzle-trunk/drizzle/development

1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
1
/**
2
 * @file
3
 * @brief SHA1 Declarations
4
 */
5
6
#ifndef _SHA1_H
7
#define _SHA1_H
8
9
#ifdef  __cplusplus
10
extern "C" {
11
#endif
12
13
/**
14
 * @addtogroup sha1 SHA-1 in C
1971.2.2 by kalebral at gmail
a few more updates of files that did not have license or had incorrect license structure
15
 *
2037.1.1 by kalebral at gmail
More copyright updates
16
 * Copyright (C) 2010 nobody (this is public domain)
17
 *
1971.2.2 by kalebral at gmail
a few more updates of files that did not have license or had incorrect license structure
18
 * This file is based on public domain code.
19
 * Initial source code is in the public domain, 
20
 * so clarified by Steve Reid <steve@edmweb.com>
21
 *
1712.1.1 by Monty Taylor
Merged libdrizzle directly into tree.
22
 * @{
23
 */
24
25
#define	SHA1_BLOCK_LENGTH		64
26
#define	SHA1_DIGEST_LENGTH		20
27
#define	SHA1_DIGEST_STRING_LENGTH	(SHA1_DIGEST_LENGTH * 2 + 1)
28
29
typedef struct {
30
    uint32_t state[5];
31
    uint64_t count;
32
    uint8_t buffer[SHA1_BLOCK_LENGTH];
33
} SHA1_CTX;
34
35
void SHA1Init(SHA1_CTX *);
36
void SHA1Pad(SHA1_CTX *);
37
void SHA1Transform(uint32_t [5], const uint8_t [SHA1_BLOCK_LENGTH]);
38
void SHA1Update(SHA1_CTX *, const uint8_t *, size_t);
39
void SHA1Final(uint8_t [SHA1_DIGEST_LENGTH], SHA1_CTX *);
40
41
/** @} */
42
43
#ifdef  __cplusplus
44
}
45
#endif
46
47
#endif /* _SHA1_H */