hcoop release
[hcoop/debian/courier-authlib.git] / courierauthstaticlist.h
CommitLineData
d9898ee8 1/*
2** Copyright 1998 - 2004 Double Precision, Inc. See COPYING for
3** distribution information.
4*/
5
b0322a85
CE
6#ifndef courierauthstaticlist_h
7#define courierauthstaticlist_h
d9898ee8 8
9#if HAVE_CONFIG_H
10#include "courier_auth_config.h"
11#endif
12#include <sys/types.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
d9898ee8 18
19struct authinfo;
20
21struct authstaticinfo {
22 const char *auth_name;
23 int (*auth_func)(const char *, const char *, char *,
24 int (*)(struct authinfo *, void *),
25 void *);
26 int (*auth_prefunc)(const char *, const char *,
27 int (*)(struct authinfo *, void *),
28 void *);
29 void (*auth_cleanupfunc)();
30 int (*auth_changepwd)(const char *, /* service */
31 const char *, /* userid */
32 const char *, /* oldpassword */
33 const char *); /* new password */
34
35 void (*auth_idle)();
36 /* Not null - gets called every 5 mins when we're idle */
37
38 void (*auth_enumerate)( void(*cb_func)(const char *name,
39 uid_t uid,
40 gid_t gid,
41 const char *homedir,
42 const char *maildir,
43 const char *options,
44 void *void_arg),
45 void *void_arg);
46 } ;
47
48extern int auth_syspasswd(const char *,
49 const char *,
50 const char *,
51 const char *);
52
53#ifdef __cplusplus
54}
55#endif
56
57#endif