Initial release, version 0.0.0.
[gsasl.git] / lib / digest-md5.h
blobb2ff76610cc3d63c410e1fcd32a395f482ec1b58
1 /* digest-md5.h header file for mechanism DIGEST-MD5 as defined in RFC 2831
2 * Copyright (C) 2002 Simon Josefsson
4 * This file is part of libgsasl.
6 * Libgsasl is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * Libgsasl is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with libgsasl; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #ifndef _DIGEST_MD5_H
23 #define _DIGEST_MD5_H
25 #include "internal.h"
27 #ifdef USE_DIGEST_MD5
29 #define _GSASL_DIGEST_MD5_NAME "DIGEST-MD5"
31 extern int _gsasl_digest_md5_client_init (Gsasl_ctx *ctx);
32 extern void _gsasl_digest_md5_client_done (Gsasl_ctx *ctx);
33 extern int _gsasl_digest_md5_client_start (Gsasl_session_ctx *cctx,
34 void **mech_data);
35 extern int _gsasl_digest_md5_client_step (Gsasl_session_ctx *cctx,
36 void *mech_data,
37 const char *input,
38 size_t input_len,
39 char *output,
40 size_t *output_len);
41 extern int _gsasl_digest_md5_client_finish (Gsasl_session_ctx *cctx,
42 void *mech_data);
44 extern int _gsasl_digest_md5_server_init (Gsasl_ctx *ctx);
45 extern void _gsasl_digest_md5_server_done (Gsasl_ctx *ctx);
46 extern int _gsasl_digest_md5_server_start (Gsasl_session_ctx *sctx,
47 void **mech_data);
48 extern int _gsasl_digest_md5_server_step (Gsasl_session_ctx *sctx,
49 void *mech_data,
50 const char *input,
51 size_t input_len,
52 char *output,
53 size_t *output_len);
54 extern int _gsasl_digest_md5_server_finish (Gsasl_session_ctx *sctx,
55 void *mech_data);
57 #endif /* USE_DIGEST_MD5 */
59 #endif /* _DIGEST_MD5_H */