debian release
[hcoop/debian/courier-authlib.git] / authsaslclient.h
CommitLineData
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
16extern "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
31struct authsaslclientlist_info {
32 const char *name;
33 int (*func)(const struct authsaslclientinfo *);
34 } ;
35
36extern int authsaslclient_login(const struct authsaslclientinfo *);
37extern int authsaslclient_plain(const struct authsaslclientinfo *);
ac40fd9e 38extern int authsaslclient_external(const struct authsaslclientinfo *);
d9898ee8 39extern int authsaslclient_crammd5(const struct authsaslclientinfo *);
40extern int authsaslclient_cramsha1(const struct authsaslclientinfo *);
41extern int authsaslclient_cramsha256(const struct authsaslclientinfo *);
42
43#ifdef __cplusplus
44}
45#endif
46
47#endif