"Fossies" - the Fresh Open Source Software Archive

Member "duff-0.5.2/src/sha1.h" (10 Apr 2011, 2218 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: sha1.h,v 1.1 2005/10/19 00:05:48 elmindreda Exp $
   27  */
   28 
   29 #ifndef _SHA1_H
   30 #define _SHA1_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 SHA1_HASH_SIZE 20
   41 
   42 /* Hash size in 32-bit words */
   43 #define SHA1_HASH_WORDS 5
   44 
   45 struct _SHA1Context {
   46   uint64_t totalLength;
   47   uint32_t hash[SHA1_HASH_WORDS];
   48   uint32_t bufferLength;
   49   union {
   50     uint32_t words[16];
   51     uint8_t bytes[64];
   52   } buffer;
   53 #ifdef RUNTIME_ENDIAN
   54   int littleEndian;
   55 #endif /* RUNTIME_ENDIAN */
   56 };
   57 
   58 typedef struct _SHA1Context SHA1Context;
   59 
   60 #ifdef __cplusplus
   61 extern "C" {
   62 #endif
   63 
   64 void SHA1Init (SHA1Context *sc);
   65 void SHA1Update (SHA1Context *sc, const void *data, uint32_t len);
   66 void SHA1Final (SHA1Context *sc, uint8_t hash[SHA1_HASH_SIZE]);
   67 
   68 #ifdef __cplusplus
   69 }
   70 #endif
   71 
   72 #endif /* _SHA1_H */