GNU libmicrohttpd  1.0.1
md5_ext.h
Go to the documentation of this file.
1 /*
2  This file is part of GNU libmicrohttpd
3  Copyright (C) 2022-2024 Evgeny Grin (Karlson2k)
4 
5  GNU libmicrohttpd is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation; either
8  version 2.1 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public
16  License along with GNU libmicrohttpd.
17  If not, see <http://www.gnu.org/licenses/>.
18 */
24 #ifndef MHD_MD5_EXT_H
25 #define MHD_MD5_EXT_H 1
26 
27 #include "mhd_options.h"
28 #include <stdint.h>
29 #ifdef HAVE_STDDEF_H
30 #include <stddef.h> /* for size_t */
31 #endif /* HAVE_STDDEF_H */
32 
37 #define MD5_DIGEST_SIZE (16)
38 
39 /* Actual declaration is in GnuTLS lib header */
40 struct hash_hd_st;
41 
45 #define MHD_MD5_HAS_EXT_ERROR 1
46 
50 struct Md5CtxExt
51 {
52  struct hash_hd_st *handle;
53  int ext_error;
54 };
55 
59 #define MHD_MD5_HAS_INIT_ONE_TIME 1
60 
68 void
69 MHD_MD5_init_one_time (struct Md5CtxExt *ctx);
70 
71 
79 void
80 MHD_MD5_update (struct Md5CtxExt *ctx,
81  const uint8_t *data,
82  size_t length);
83 
84 
88 #define MHD_MD5_HAS_FINISH_RESET 1
89 
96 void
97 MHD_MD5_finish_reset (struct Md5CtxExt *ctx,
98  uint8_t digest[MD5_DIGEST_SIZE]);
99 
103 #define MHD_MD5_HAS_DEINIT 1
104 
110 void
111 MHD_MD5_deinit (struct Md5CtxExt *ctx);
112 
113 #endif /* MHD_MD5_EXT_H */
void MHD_MD5_finish_reset(struct Md5CtxExt *ctx, uint8_t digest[MD5_DIGEST_SIZE])
Definition: md5_ext.c:84
void MHD_MD5_update(struct Md5CtxExt *ctx, const uint8_t *data, size_t length)
Definition: md5_ext.c:68
#define MD5_DIGEST_SIZE
Definition: md5_ext.h:37
void MHD_MD5_deinit(struct Md5CtxExt *ctx)
Definition: md5_ext.c:98
void MHD_MD5_init_one_time(struct Md5CtxExt *ctx)
Definition: md5_ext.c:39
additional automatic macros for MHD_config.h
void * data
Definition: microhttpd.h:3968
int ext_error
Definition: md5_ext.h:53
struct hash_hd_st * handle
Definition: md5_ext.h:52