Mercurial > hg > index.fcgi > gift-gnutella > gift-gnutella-0.0.11-1pba
annotate src/sha1.h @ 0:d39e1d0d75b6
initial add
author | paulo@hit-nxdomain.opendns.com |
---|---|
date | Sat, 20 Feb 2010 21:18:28 -0800 |
parents | |
children |
rev | line source |
---|---|
paulo@0 | 1 /* |
paulo@0 | 2 * $Id: sha1.h,v 1.10 2004/03/05 17:47:29 hipnod Exp $ |
paulo@0 | 3 * |
paulo@0 | 4 * Copyright (C) 2001-2004 giFT project (gift.sourceforge.net) |
paulo@0 | 5 * |
paulo@0 | 6 * This program is free software; you can redistribute it and/or modify it |
paulo@0 | 7 * under the terms of the GNU General Public License as published by the |
paulo@0 | 8 * Free Software Foundation; either version 2, or (at your option) any |
paulo@0 | 9 * later version. |
paulo@0 | 10 * |
paulo@0 | 11 * This program is distributed in the hope that it will be useful, but |
paulo@0 | 12 * WITHOUT ANY WARRANTY; without even the implied warranty of |
paulo@0 | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
paulo@0 | 14 * General Public License for more details. |
paulo@0 | 15 */ |
paulo@0 | 16 |
paulo@0 | 17 #ifndef GIFT_GT_SHA1_H_ |
paulo@0 | 18 #define GIFT_GT_SHA1_H_ |
paulo@0 | 19 |
paulo@0 | 20 /*****************************************************************************/ |
paulo@0 | 21 |
paulo@0 | 22 #define SHA_BLOCKSIZE 64 |
paulo@0 | 23 #define SHA_DIGESTSIZE 20 |
paulo@0 | 24 |
paulo@0 | 25 #define SHA1_BINSIZE 20 |
paulo@0 | 26 #define SHA1_STRLEN 32 |
paulo@0 | 27 |
paulo@0 | 28 /*****************************************************************************/ |
paulo@0 | 29 |
paulo@0 | 30 struct sha1_state |
paulo@0 | 31 { |
paulo@0 | 32 unsigned long digest[5]; /* message digest */ |
paulo@0 | 33 unsigned long count_lo, count_hi; /* 64-bit bit count */ |
paulo@0 | 34 uint8_t data[SHA_BLOCKSIZE]; /* SHA data buffer */ |
paulo@0 | 35 int local; /* unprocessed amount in data */ |
paulo@0 | 36 }; |
paulo@0 | 37 |
paulo@0 | 38 typedef struct sha1_state sha1_state_t; |
paulo@0 | 39 |
paulo@0 | 40 /*****************************************************************************/ |
paulo@0 | 41 |
paulo@0 | 42 /* TODO: prefix these suckers */ |
paulo@0 | 43 char *sha1_string (const unsigned char *sha1); |
paulo@0 | 44 unsigned char *sha1_digest (const char *file, off_t size); |
paulo@0 | 45 unsigned char *sha1_bin (const char *ascii); |
paulo@0 | 46 unsigned char *sha1_dup (const unsigned char *sha1); |
paulo@0 | 47 |
paulo@0 | 48 /*****************************************************************************/ |
paulo@0 | 49 |
paulo@0 | 50 void gt_sha1_init (sha1_state_t *state); |
paulo@0 | 51 void gt_sha1_append (sha1_state_t *state, const void *data, |
paulo@0 | 52 size_t len); |
paulo@0 | 53 void gt_sha1_finish (sha1_state_t *state, unsigned char *hash); |
paulo@0 | 54 |
paulo@0 | 55 /*****************************************************************************/ |
paulo@0 | 56 |
paulo@0 | 57 #endif /* GIFT_GT_SHA1_H_ */ |