1 /*- 2 * Copyright (c) 1989 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)pwd.h 5.5 (Berkeley) 05/29/90 8 */ 9 10 #include <sys/types.h> 11 12 #ifndef _POSIX_SOURCE 13 #define _PATH_PASSWD "/etc/passwd" 14 #define _PATH_MASTERPASSWD "/etc/master.passwd" 15 #define _PATH_MKPASSWD "/usr/sbin/mkpasswd" 16 #define _PATH_PTMP "/etc/ptmp" 17 18 #define _PW_KEYBYNAME '0' 19 #define _PW_KEYBYUID '1' 20 21 #define _PASSWORD_LEN 128 22 #endif 23 24 struct passwd { 25 char *pw_name; /* user name */ 26 char *pw_passwd; /* encrypted password */ 27 int pw_uid; /* user uid */ 28 int pw_gid; /* user gid */ 29 time_t pw_change; /* password change time */ 30 char *pw_class; /* user access class */ 31 char *pw_gecos; /* Honeywell login info */ 32 char *pw_dir; /* home directory */ 33 char *pw_shell; /* default shell */ 34 time_t pw_expire; /* account expiration */ 35 }; 36 37 #if __STDC__ || c_plusplus 38 struct passwd *getpwuid(uid_t); 39 struct passwd *getpwnam(const char *); 40 #ifndef _POSIX_SOURCE 41 struct passwd *getpwent(void); 42 int setpwent(void); 43 void endpwent(void); 44 void setpwfile(const char *); 45 int setpassent(int); 46 #endif 47 #else 48 struct passwd *getpwuid(); 49 struct passwd *getpwnam(); 50 #ifndef _POSIX_SOURCE 51 struct passwd *getpwent(); 52 int setpwent(); 53 void endpwent(); 54 void setpwfile(); 55 int setpassent(); 56 #endif 57 #endif 58