hcoop release
[hcoop/debian/courier-authlib.git] / courierauthstaticlist.h
1 /*
2 ** Copyright 1998 - 2004 Double Precision, Inc. See COPYING for
3 ** distribution information.
4 */
5
6 #ifndef courierauthstaticlist_h
7 #define courierauthstaticlist_h
8
9 #if HAVE_CONFIG_H
10 #include "courier_auth_config.h"
11 #endif
12 #include <sys/types.h>
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18
19 struct authinfo;
20
21 struct 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
48 extern int auth_syspasswd(const char *,
49 const char *,
50 const char *,
51 const char *);
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif