Mercurial > hg > index.fcgi > gift-gnutella > gift-gnutella-0.0.11-1pba
diff src/sha1.h @ 0:d39e1d0d75b6
initial add
author | paulo@hit-nxdomain.opendns.com |
---|---|
date | Sat, 20 Feb 2010 21:18:28 -0800 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/sha1.h Sat Feb 20 21:18:28 2010 -0800 1.3 @@ -0,0 +1,57 @@ 1.4 +/* 1.5 + * $Id: sha1.h,v 1.10 2004/03/05 17:47:29 hipnod Exp $ 1.6 + * 1.7 + * Copyright (C) 2001-2004 giFT project (gift.sourceforge.net) 1.8 + * 1.9 + * This program is free software; you can redistribute it and/or modify it 1.10 + * under the terms of the GNU General Public License as published by the 1.11 + * Free Software Foundation; either version 2, or (at your option) any 1.12 + * later version. 1.13 + * 1.14 + * This program is distributed in the hope that it will be useful, but 1.15 + * WITHOUT ANY WARRANTY; without even the implied warranty of 1.16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1.17 + * General Public License for more details. 1.18 + */ 1.19 + 1.20 +#ifndef GIFT_GT_SHA1_H_ 1.21 +#define GIFT_GT_SHA1_H_ 1.22 + 1.23 +/*****************************************************************************/ 1.24 + 1.25 +#define SHA_BLOCKSIZE 64 1.26 +#define SHA_DIGESTSIZE 20 1.27 + 1.28 +#define SHA1_BINSIZE 20 1.29 +#define SHA1_STRLEN 32 1.30 + 1.31 +/*****************************************************************************/ 1.32 + 1.33 +struct sha1_state 1.34 +{ 1.35 + unsigned long digest[5]; /* message digest */ 1.36 + unsigned long count_lo, count_hi; /* 64-bit bit count */ 1.37 + uint8_t data[SHA_BLOCKSIZE]; /* SHA data buffer */ 1.38 + int local; /* unprocessed amount in data */ 1.39 +}; 1.40 + 1.41 +typedef struct sha1_state sha1_state_t; 1.42 + 1.43 +/*****************************************************************************/ 1.44 + 1.45 +/* TODO: prefix these suckers */ 1.46 +char *sha1_string (const unsigned char *sha1); 1.47 +unsigned char *sha1_digest (const char *file, off_t size); 1.48 +unsigned char *sha1_bin (const char *ascii); 1.49 +unsigned char *sha1_dup (const unsigned char *sha1); 1.50 + 1.51 +/*****************************************************************************/ 1.52 + 1.53 +void gt_sha1_init (sha1_state_t *state); 1.54 +void gt_sha1_append (sha1_state_t *state, const void *data, 1.55 + size_t len); 1.56 +void gt_sha1_finish (sha1_state_t *state, unsigned char *hash); 1.57 + 1.58 +/*****************************************************************************/ 1.59 + 1.60 +#endif /* GIFT_GT_SHA1_H_ */