]> bbs.cooldavid.org Git - net-next-2.6.git/blob - drivers/staging/rt2860/crypt_sha2.h
Staging: rt28x0: run *.h files through Lindent
[net-next-2.6.git] / drivers / staging / rt2860 / crypt_sha2.h
1 /*
2  *************************************************************************
3  * Ralink Tech Inc.
4  * 5F., No.36, Taiyuan St., Jhubei City,
5  * Hsinchu County 302,
6  * Taiwan, R.O.C.
7  *
8  * (c) Copyright 2002-2007, Ralink Technology, Inc.
9  *
10  * This program is free software; you can redistribute it and/or modify  *
11  * it under the terms of the GNU General Public License as published by  *
12  * the Free Software Foundation; either version 2 of the License, or     *
13  * (at your option) any later version.                                   *
14  *                                                                       *
15  * This program is distributed in the hope that it will be useful,       *
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
18  * GNU General Public License for more details.                          *
19  *                                                                       *
20  * You should have received a copy of the GNU General Public License     *
21  * along with this program; if not, write to the                         *
22  * Free Software Foundation, Inc.,                                       *
23  * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
24  *                                                                       *
25  *************************************************************************
26  */
27
28 /****************************************************************************
29     Module Name:
30     SHA2
31
32     Abstract:
33     FIPS 180-2: Secure Hash Standard (SHS)
34
35     Revision History:
36     Who         When            What
37     --------    ----------      ------------------------------------------
38     Eddy        2008/11/24      Create SHA1
39     Eddy        2008/07/23      Create SHA256
40 ***************************************************************************/
41
42 #ifndef __CRYPT_SHA2_H__
43 #define __CRYPT_SHA2_H__
44
45 #ifdef CRYPT_TESTPLAN
46 #include "crypt_testplan.h"
47 #else
48 #include "rt_config.h"
49 #endif /* CRYPT_TESTPLAN */
50
51 /* Algorithm options */
52 #define SHA1_SUPPORT
53
54 #ifdef SHA1_SUPPORT
55 #define SHA1_BLOCK_SIZE    64   /* 512 bits = 64 bytes */
56 #define SHA1_DIGEST_SIZE   20   /* 160 bits = 20 bytes */
57 typedef struct _SHA1_CTX_STRUC {
58         UINT32 HashValue[5];    /* 5 = (SHA1_DIGEST_SIZE / 32) */
59         UINT64 MessageLen;      /* total size */
60         UINT8 Block[SHA1_BLOCK_SIZE];
61         UINT BlockLen;
62 } SHA1_CTX_STRUC, *PSHA1_CTX_STRUC;
63
64 VOID RT_SHA1_Init(IN SHA1_CTX_STRUC * pSHA_CTX);
65 VOID SHA1_Hash(IN SHA1_CTX_STRUC * pSHA_CTX);
66 VOID SHA1_Append(IN SHA1_CTX_STRUC * pSHA_CTX,
67                  IN const UINT8 Message[], IN UINT MessageLen);
68 VOID SHA1_End(IN SHA1_CTX_STRUC * pSHA_CTX, OUT UINT8 DigestMessage[]);
69 VOID RT_SHA1(IN const UINT8 Message[],
70              IN UINT MessageLen, OUT UINT8 DigestMessage[]);
71 #endif /* SHA1_SUPPORT */
72
73 #endif /* __CRYPT_SHA2_H__ */