xref: /freebsd-src/contrib/sendmail/include/sm/mbdb.h (revision ee7b0571c2c18bdec848ed2044223cc88db29bd8)
140266059SGregory Neil Shapiro /*
25dd76dd0SGregory Neil Shapiro  * Copyright (c) 2001-2002 Proofpoint, Inc. and its suppliers.
340266059SGregory Neil Shapiro  *      All rights reserved.
440266059SGregory Neil Shapiro  *
540266059SGregory Neil Shapiro  * By using this file, you agree to the terms and conditions set
640266059SGregory Neil Shapiro  * forth in the LICENSE file which can be found at the top level of
740266059SGregory Neil Shapiro  * the sendmail distribution.
840266059SGregory Neil Shapiro  *
9*4313cc83SGregory Neil Shapiro  *	$Id: mbdb.h,v 1.7 2013-11-22 20:51:31 ca Exp $
1040266059SGregory Neil Shapiro  */
1140266059SGregory Neil Shapiro 
1240266059SGregory Neil Shapiro #ifndef SM_MBDB_H
1340266059SGregory Neil Shapiro # define SM_MBDB_H
1440266059SGregory Neil Shapiro 
1540266059SGregory Neil Shapiro #include <pwd.h>
1640266059SGregory Neil Shapiro #include <sm/types.h>
1740266059SGregory Neil Shapiro #include <sm/limits.h>
1840266059SGregory Neil Shapiro 
1940266059SGregory Neil Shapiro /*
2040266059SGregory Neil Shapiro **  This is an abstract interface for looking up local mail recipients.
2140266059SGregory Neil Shapiro */
2240266059SGregory Neil Shapiro 
2340266059SGregory Neil Shapiro #define	MBDB_MAXNAME	256
2440266059SGregory Neil Shapiro #define SM_NO_UID	((uid_t)(-1))
2540266059SGregory Neil Shapiro #define SM_NO_GID	((gid_t)(-1))
2640266059SGregory Neil Shapiro 
2740266059SGregory Neil Shapiro typedef struct
2840266059SGregory Neil Shapiro {
2940266059SGregory Neil Shapiro 	uid_t	mbdb_uid;
3040266059SGregory Neil Shapiro 	gid_t	mbdb_gid;
3140266059SGregory Neil Shapiro 	char	mbdb_name[MBDB_MAXNAME];
3240266059SGregory Neil Shapiro 	char	mbdb_fullname[MBDB_MAXNAME];
3394c01205SGregory Neil Shapiro 	char	mbdb_homedir[PATH_MAX];
3494c01205SGregory Neil Shapiro 	char	mbdb_shell[PATH_MAX];
3540266059SGregory Neil Shapiro } SM_MBDB_T;
3640266059SGregory Neil Shapiro 
3740266059SGregory Neil Shapiro extern int	sm_mbdb_initialize __P((char *));
3840266059SGregory Neil Shapiro extern void	sm_mbdb_terminate __P((void));
3940266059SGregory Neil Shapiro extern int	sm_mbdb_lookup __P((char *, SM_MBDB_T *));
4040266059SGregory Neil Shapiro extern void	sm_mbdb_frompw __P((SM_MBDB_T *, struct passwd *));
4140266059SGregory Neil Shapiro extern void	sm_pwfullname __P((char *, char *, char *, size_t));
4240266059SGregory Neil Shapiro 
4340266059SGregory Neil Shapiro #endif /* ! SM_MBDB_H */
44