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