1 /*
2  * Copyright (c) 2009 Bob Deblier
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  *
18  */
19 
20 /*!\file hmacsha224.h
21  * \brief HMAC-SHA-224 message authentication code, headers.
22  * \author Bob Deblier <bob.deblier@telenet.be>
23  * \ingroup HMAC_m HMAC_sha224_m
24  */
25 
26 #ifndef _HMACSHA224_H
27 #define _HMACSHA224_H
28 
29 #include "beecrypt/hmac.h"
30 #include "beecrypt/sha224.h"
31 
32 /*!\ingroup HMAC_sha224_m
33  */
34 typedef struct
35 {
36 	sha224Param sparam;
37 	byte kxi[64];
38 	byte kxo[64];
39 } hmacsha224Param;
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
45 extern BEECRYPTAPI const keyedHashFunction hmacsha224;
46 
47 BEECRYPTAPI
48 int hmacsha224Setup (hmacsha224Param*, const byte*, size_t);
49 BEECRYPTAPI
50 int hmacsha224Reset (hmacsha224Param*);
51 BEECRYPTAPI
52 int hmacsha224Update(hmacsha224Param*, const byte*, size_t);
53 BEECRYPTAPI
54 int hmacsha224Digest(hmacsha224Param*, byte*);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif
61