oledlg: Call the hook proc if present.
[wine] / dlls / secur32 / hmac_md5.h
1 /*
2  * Copyright 2006 Kai Blin
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  *
18  * This file holds the declarations needed for HMAC-MD5.
19  */
20
21 #include <string.h>
22
23 typedef struct
24 {
25     unsigned int i[2];
26     unsigned int buf[4];
27     unsigned char in[64];
28     unsigned char digest[16];
29 } MD5_CTX;
30
31 typedef struct
32 {
33     MD5_CTX ctx;
34     unsigned char outer_padding[64];
35 } HMAC_MD5_CTX;
36
37 void MD5Init( MD5_CTX *ctx );
38 void MD5Update( MD5_CTX *ctx, const unsigned char *buf, unsigned int len );
39 void MD5Final( MD5_CTX *ctx );
40
41 void HMACMD5Init(HMAC_MD5_CTX *ctx, unsigned char *key, unsigned int key_len);
42 void HMACMD5Update(HMAC_MD5_CTX *ctx, unsigned char *data, unsigned int data_len);
43 void HMACMD5Final(HMAC_MD5_CTX *ctx, unsigned char *digest);