xref: /titanic_52/usr/src/cmd/sendmail/include/sm/mbdb.h (revision 25c28e83beb90e7c80452a7c818c5e6f73a07dc8)
1 /*
2  * Copyright (c) 2001-2002 Sendmail, Inc. and its suppliers.
3  *      All rights reserved.
4  *
5  * By using this file, you agree to the terms and conditions set
6  * forth in the LICENSE file which can be found at the top level of
7  * the sendmail distribution.
8  *
9  *	$Id: mbdb.h,v 1.6 2002/05/24 20:50:14 gshapiro Exp $
10  */
11 
12 #pragma ident	"%Z%%M%	%I%	%E% SMI"
13 
14 #ifndef SM_MBDB_H
15 # define SM_MBDB_H
16 
17 #include <pwd.h>
18 #include <sm/types.h>
19 #include <sm/limits.h>
20 
21 /*
22 **  This is an abstract interface for looking up local mail recipients.
23 */
24 
25 #define	MBDB_MAXNAME	256
26 #define SM_NO_UID	((uid_t)(-1))
27 #define SM_NO_GID	((gid_t)(-1))
28 
29 typedef struct
30 {
31 	uid_t	mbdb_uid;
32 	gid_t	mbdb_gid;
33 	char	mbdb_name[MBDB_MAXNAME];
34 	char	mbdb_fullname[MBDB_MAXNAME];
35 	char	mbdb_homedir[PATH_MAX];
36 	char	mbdb_shell[PATH_MAX];
37 } SM_MBDB_T;
38 
39 extern int	sm_mbdb_initialize __P((char *));
40 extern void	sm_mbdb_terminate __P((void));
41 extern int	sm_mbdb_lookup __P((char *, SM_MBDB_T *));
42 extern void	sm_mbdb_frompw __P((SM_MBDB_T *, struct passwd *));
43 extern void	sm_pwfullname __P((char *, char *, char *, size_t));
44 
45 #endif /* ! SM_MBDB_H */
46