~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to libdrizzle-2.0/libdrizzle/sha1.h

  • Committer: Monty Taylor
  • Date: 2011-03-22 18:39:54 UTC
  • mto: (2246.1.1 build)
  • mto: This revision was merged to the branch mainline in revision 2247.
  • Revision ID: mordred@inaugust.com-20110322183954-fz8ciuywjz2llbyo
Split libdrizzle into 1.0 and 2.0. Applied the C++ changes to 2.0 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
15
 *
 
16
 * Copyright (C) 2010 nobody (this is public domain)
 
17
 *
 
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
 *
 
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 */