]> bbs.cooldavid.org Git - net-next-2.6.git/blob - drivers/staging/rt3090/crypt_md5.h
Staging: rt2860: add RT3090 chipset support
[net-next-2.6.git] / drivers / staging / rt3090 / crypt_md5.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     Module Name:
28     crypt_md5.h
29
30     Abstract:
31     Miniport generic portion header file
32
33     Revision History:
34     Who         When          What
35     --------    ----------    ----------------------------------------------
36     Eddy        2008/11/24      Create md5
37 */
38
39 #ifndef __CRYPT_MD5_H__
40 #define __CRYPT_MD5_H__
41
42 #ifdef CRYPT_TESTPLAN
43 #include "crypt_testplan.h"
44 #else
45 #include "rt_config.h"
46 #endif /* CRYPT_TESTPLAN */
47
48 /* Algorithm options */
49 #define MD5_SUPPORT
50
51 #ifdef MD5_SUPPORT
52 #define MD5_BLOCK_SIZE    64 /* 512 bits = 64 bytes */
53 #define MD5_DIGEST_SIZE   16 /* 128 bits = 16 bytes */
54 typedef struct {
55     UINT32 HashValue[4];
56     UINT64 MessageLen;
57     UINT8  Block[MD5_BLOCK_SIZE];
58     UINT   BlockLen;
59 } MD5_CTX_STRUC, *PMD5_CTX_STRUC;
60
61 VOID MD5_Init (
62     IN  MD5_CTX_STRUC *pMD5_CTX);
63 VOID MD5_Hash (
64     IN  MD5_CTX_STRUC *pMD5_CTX);
65 VOID MD5_Append (
66     IN  MD5_CTX_STRUC *pMD5_CTX,
67     IN  const UINT8 Message[],
68     IN  UINT MessageLen);
69 VOID MD5_End (
70     IN  MD5_CTX_STRUC *pMD5_CTX,
71     OUT UINT8 DigestMessage[]);
72 VOID RT_MD5 (
73     IN  const UINT8 Message[],
74     IN  UINT MessageLen,
75     OUT UINT8 DigestMessage[]);
76 #endif /* MD5_SUPPORT */
77
78 #endif /* __CRYPT_MD5_H__ */