hcoop release
[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
20
21 #define SASL_LIST \
22 SASL("EXTERNAL", NO_SERVER_FUNC(), authsaslclient_external) \
23 SASL("PLAIN", SERVER_FUNC(authsasl_plain), authsaslclient_plain) \
24 SASL("LOGIN", SERVER_FUNC(authsasl_login), authsaslclient_login) \
25 SASL("CRAM-MD5", SERVER_FUNC(authsasl_cram), authsaslclient_crammd5) \
26 SASL("CRAM-SHA1", SERVER_FUNC(authsasl_cram), authsaslclient_cramsha1) \
27 SASL("CRAM-SHA256", SERVER_FUNC(authsasl_cram), authsaslclient_cramsha256)
28
29 /* A list of SASL client functions */
30
31 struct authsaslclientlist_info {
32 const char *name;
33 int (*func)(const struct authsaslclientinfo *);
34 } ;
35
36 extern int authsaslclient_login(const struct authsaslclientinfo *);
37 extern int authsaslclient_plain(const struct authsaslclientinfo *);
38 extern int authsaslclient_external(const struct authsaslclientinfo *);
39 extern int authsaslclient_crammd5(const struct authsaslclientinfo *);
40 extern int authsaslclient_cramsha1(const struct authsaslclientinfo *);
41 extern int authsaslclient_cramsha256(const struct authsaslclientinfo *);
42
43 #ifdef __cplusplus
44 }
45 #endif
46
47 #endif