d9898ee8 |
1 | #ifndef authsaslclient_h |
2 | #define authsaslclient_h |
3 | |
4 | /* |
ac40fd9e |
5 | ** Copyright 2000-2008 Double Precision, Inc. See COPYING for |
d9898ee8 |
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 | |
d9898ee8 |
19 | |
20 | |
ac40fd9e |
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 | |
d9898ee8 |
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 *); |
ac40fd9e |
38 | extern int authsaslclient_external(const struct authsaslclientinfo *); |
d9898ee8 |
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 |