Import Debian package 0.61.0-1+lenny1
[hcoop/debian/courier-authlib.git] / authsaslclient.h
1 #ifndef authsaslclient_h
2 #define authsaslclient_h
3
4 /*
5 ** Copyright 2000-2008 Double Precision, Inc. See COPYING for
6 ** distribution information.
7 */
8
9 #if HAVE_CONFIG_H
10 #include "courier_auth_config.h"
11 #endif
12 #include <sys/types.h>
13 #include "courierauthsaslclient.h"
14
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18
19 static const char authsaslclient_h_rcsid[]="$Id: authsaslclient.h,v 1.6 2008/07/10 02:43:55 mrsam Exp $";
20
21
22 #define SASL_LIST \
23 SASL("EXTERNAL", NO_SERVER_FUNC(), authsaslclient_external) \
24 SASL("PLAIN", SERVER_FUNC(authsasl_plain), authsaslclient_plain) \
25 SASL("LOGIN", SERVER_FUNC(authsasl_login), authsaslclient_login) \
26 SASL("CRAM-MD5", SERVER_FUNC(authsasl_cram), authsaslclient_crammd5) \
27 SASL("CRAM-SHA1", SERVER_FUNC(authsasl_cram), authsaslclient_cramsha1) \
28 SASL("CRAM-SHA256", SERVER_FUNC(authsasl_cram), authsaslclient_cramsha256)
29
30 /* A list of SASL client functions */
31
32 struct authsaslclientlist_info {
33 const char *name;
34 int (*func)(const struct authsaslclientinfo *);
35 } ;
36
37 extern int authsaslclient_login(const struct authsaslclientinfo *);
38 extern int authsaslclient_plain(const struct authsaslclientinfo *);
39 extern int authsaslclient_external(const struct authsaslclientinfo *);
40 extern int authsaslclient_crammd5(const struct authsaslclientinfo *);
41 extern int authsaslclient_cramsha1(const struct authsaslclientinfo *);
42 extern int authsaslclient_cramsha256(const struct authsaslclientinfo *);
43
44 #ifdef __cplusplus
45 }
46 #endif
47
48 #endif