"Fossies" - the Fresh Open Source Software Archive 
Member "duff-0.5.2/src/sha384.h" (10 Apr 2011, 2261 Bytes) of package /linux/privat/old/duff-0.5.2.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
1 /*-
2 * Copyright (c) 2001-2003 Allan Saddi <allan@saddi.com>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY ALLAN SADDI AND HIS CONTRIBUTORS ``AS IS''
15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL ALLAN SADDI OR HIS CONTRIBUTORS BE
18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 * POSSIBILITY OF SUCH DAMAGE.
25 *
26 * $Id: sha384.h,v 1.1 2009/01/03 00:01:04 elmindreda Exp $
27 */
28
29 #ifndef _SHA384_H
30 #define _SHA384_H
31
32 #if HAVE_INTTYPES_H
33 # include <inttypes.h>
34 #else
35 # if HAVE_STDINT_H
36 # include <stdint.h>
37 # endif
38 #endif
39
40 #define SHA384_HASH_SIZE 48
41
42 /* Hash size in 64-bit words */
43 #define SHA384_HASH_WORDS 6
44
45 struct _SHA384Context {
46 uint64_t totalLength[2];
47 uint64_t hash[SHA384_HASH_WORDS + 2];
48 uint32_t bufferLength;
49 union {
50 uint64_t words[16];
51 uint8_t bytes[128];
52 } buffer;
53 #ifdef RUNTIME_ENDIAN
54 int littleEndian;
55 #endif /* RUNTIME_ENDIAN */
56 };
57
58 typedef struct _SHA384Context SHA384Context;
59
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63
64 void SHA384Init (SHA384Context *sc);
65 void SHA384Update (SHA384Context *sc, const void *data, uint32_t len);
66 void SHA384Final (SHA384Context *sc, uint8_t hash[SHA384_HASH_SIZE]);
67
68 #ifdef __cplusplus
69 }
70 #endif
71
72 #endif /* !_SHA384_H */