05071b6e5661082912ed6b5b3d1b314289456aee
[exim.git] / src / src / auths / cyrus_sasl.h
1 /*************************************************
2 *     Exim - an Internet mail transport agent    *
3 *************************************************/
4
5 /* Copyright (c) The Exim Maintainers 2022 */
6 /* Copyright (c) University of Cambridge 1995 - 2012 */
7 /* See the file NOTICE for conditions of use and distribution. */
8 /* SPDX-License-Identifier: GPL-2.0-or-later */
9
10 /* Copyright (c) A L Digital Ltd 2004 */
11
12 /* Private structure for the private options. */
13
14 typedef struct {
15   uschar *server_service;
16   uschar *server_hostname;
17   uschar *server_realm;
18   uschar *server_mech;
19 } auth_cyrus_sasl_options_block;
20
21 /* Data for reading the private options. */
22
23 extern optionlist auth_cyrus_sasl_options[];
24 extern int auth_cyrus_sasl_options_count;
25
26 /* Block containing default values. */
27
28 extern auth_cyrus_sasl_options_block auth_cyrus_sasl_option_defaults;
29
30 /* The entry points for the mechanism */
31
32 extern void auth_cyrus_sasl_init(auth_instance *);
33 extern int auth_cyrus_sasl_server(auth_instance *, uschar *);
34 extern int auth_cyrus_sasl_client(auth_instance *, void *, int, uschar *, int);
35 extern gstring * auth_cyrus_sasl_version_report(gstring *);
36
37 /* End of cyrus_sasl.h */