Initial release, version 0.0.0.
[gsasl.git] / lib / cram-md5.h
blobd60a78b7334dc57e04df1adcedfb010f9ebed763
1 /* cram-md5.h header file for SASL mechanism CRAM-MD5 as defined in RFC 2195
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 _CRAM_MD5_H
23 #define _CRAM_MD5_H
25 #include "internal.h"
27 #ifdef USE_CRAM_MD5
29 #define _GSASL_CRAM_MD5_NAME "CRAM-MD5"
31 extern int _gsasl_cram_md5_client_init (Gsasl_ctx *ctx);
32 extern void _gsasl_cram_md5_client_done (Gsasl_ctx *ctx);
33 extern int _gsasl_cram_md5_client_start (Gsasl_session_ctx *cctx,
34 void **mech_data);
35 extern int _gsasl_cram_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_cram_md5_client_finish (Gsasl_session_ctx *cctx,
42 void *mech_data);
44 extern int _gsasl_cram_md5_server_init (Gsasl_ctx *ctx);
45 extern void _gsasl_cram_md5_server_done (Gsasl_ctx *ctx);
46 extern int _gsasl_cram_md5_server_start (Gsasl_session_ctx *sctx,
47 void **mech_data);
48 extern int _gsasl_cram_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_cram_md5_server_finish (Gsasl_session_ctx *sctx,
55 void *mech_data);
57 #endif /* USE_CRAM_MD5 */
59 #endif /* _CRAM_MD5_H */