Import Debian package 0.61.0-1+lenny1
[hcoop/debian/courier-authlib.git] / authsaslclient.h
CommitLineData
d9898ee8 1#ifndef authsaslclient_h
2#define authsaslclient_h
3
4/*
0fde1ce3 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
0fde1ce3 19static const char authsaslclient_h_rcsid[]="$Id: authsaslclient.h,v 1.6 2008/07/10 02:43:55 mrsam Exp $";
d9898ee8 20
21
0fde1ce3 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
d9898ee8 30/* A list of SASL client functions */
31
32struct authsaslclientlist_info {
33 const char *name;
34 int (*func)(const struct authsaslclientinfo *);
35 } ;
36
37extern int authsaslclient_login(const struct authsaslclientinfo *);
38extern int authsaslclient_plain(const struct authsaslclientinfo *);
0fde1ce3 39extern int authsaslclient_external(const struct authsaslclientinfo *);
d9898ee8 40extern int authsaslclient_crammd5(const struct authsaslclientinfo *);
41extern int authsaslclient_cramsha1(const struct authsaslclientinfo *);
42extern int authsaslclient_cramsha256(const struct authsaslclientinfo *);
43
44#ifdef __cplusplus
45}
46#endif
47
48#endif