1/*$Id: authenticate.h,v 1.5 1999/04/19 06:36:59 guenther Exp $*/
2
3/* Generic authentication interface, substitute a suitable module to
4   accomodate arbitrary other authentication databases */
5
6typedef struct auth_identity auth_identity;
7
8#ifndef P
9#define P(x)	x
10#define Q(x)	()
11#endif
12
13/*const*/auth_identity
14 *auth_finduser P((char*const user,const int sock)),
15 *auth_finduid Q((const uid_t uid,const int sock));
16auth_identity
17 *auth_newid P((void));
18int
19 auth_checkpassword P((const auth_identity*const pass,const char*const pw,
20  const int allowemptypw)),
21 auth_filledid P((const auth_identity*pass));
22const char
23 *auth_getsecret P((const auth_identity*const pass)),
24 *auth_mailboxname P((auth_identity*const pass)),
25 *auth_homedir P((const auth_identity*const pass)),
26 *auth_shell P((const auth_identity*const pass)),
27 *auth_username P((const auth_identity*const pass));
28uid_t
29 auth_whatuid P((const auth_identity*const pass)),
30 auth_whatgid P((const auth_identity*const pass));
31void
32 auth_copyid P((auth_identity*newpass,const auth_identity*oldpass)),
33 auth_freeid P((auth_identity*pass)),
34 auth_end P((void));
35