xref: /freebsd/contrib/sendmail/include/sm/mbdb.h (revision 38f0b757fd84d17d0fc24739a7cda160c4516d81)
1 /*
2  * Copyright (c) 2001-2002 Proofpoint, 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.7 2013/11/22 20:51:31 ca Exp $
10  */
11 
12 #ifndef SM_MBDB_H
13 # define SM_MBDB_H
14 
15 #include <pwd.h>
16 #include <sm/types.h>
17 #include <sm/limits.h>
18 
19 /*
20 **  This is an abstract interface for looking up local mail recipients.
21 */
22 
23 #define	MBDB_MAXNAME	256
24 #define SM_NO_UID	((uid_t)(-1))
25 #define SM_NO_GID	((gid_t)(-1))
26 
27 typedef struct
28 {
29 	uid_t	mbdb_uid;
30 	gid_t	mbdb_gid;
31 	char	mbdb_name[MBDB_MAXNAME];
32 	char	mbdb_fullname[MBDB_MAXNAME];
33 	char	mbdb_homedir[PATH_MAX];
34 	char	mbdb_shell[PATH_MAX];
35 } SM_MBDB_T;
36 
37 extern int	sm_mbdb_initialize __P((char *));
38 extern void	sm_mbdb_terminate __P((void));
39 extern int	sm_mbdb_lookup __P((char *, SM_MBDB_T *));
40 extern void	sm_mbdb_frompw __P((SM_MBDB_T *, struct passwd *));
41 extern void	sm_pwfullname __P((char *, char *, char *, size_t));
42 
43 #endif /* ! SM_MBDB_H */
44