This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*	$NetBSD: pwd.h,v 1.2 2009/01/11 02:46:25 christos Exp $	*/
 | 
						|
 | 
						|
#ifndef _COMPAT_PWD_H_
 | 
						|
#define	_COMPAT_PWD_H_
 | 
						|
 | 
						|
#include <sys/cdefs.h>
 | 
						|
#include <sys/featuretest.h>
 | 
						|
#include <sys/types.h>
 | 
						|
 | 
						|
struct passwd;
 | 
						|
struct passwd50 {
 | 
						|
	__aconst char *pw_name;		/* user name */
 | 
						|
	__aconst char *pw_passwd;	/* encrypted password */
 | 
						|
	uid_t	       pw_uid;		/* user uid */
 | 
						|
	gid_t	       pw_gid;		/* user gid */
 | 
						|
	int32_t	       pw_change;	/* password change time */
 | 
						|
	__aconst char *pw_class;	/* user login class */
 | 
						|
	__aconst char *pw_gecos;	/* general information */
 | 
						|
	__aconst char *pw_dir;		/* home directory */
 | 
						|
	__aconst char *pw_shell;	/* default shell */
 | 
						|
	int32_t        pw_expire;	/* account expiration */
 | 
						|
};
 | 
						|
 | 
						|
__BEGIN_DECLS
 | 
						|
static __inline void
 | 
						|
passwd_to_passwd50(const struct passwd *p, struct passwd50 *q)
 | 
						|
{
 | 
						|
	q->pw_name = p->pw_name;
 | 
						|
	q->pw_passwd = p->pw_passwd;
 | 
						|
	q->pw_uid = p->pw_uid;
 | 
						|
	q->pw_gid = p->pw_gid;
 | 
						|
	q->pw_change = (int32_t)p->pw_change;
 | 
						|
	q->pw_class = p->pw_class;
 | 
						|
	q->pw_gecos = p->pw_gecos;
 | 
						|
	q->pw_dir = p->pw_dir;
 | 
						|
	q->pw_shell = p->pw_shell;
 | 
						|
	q->pw_expire = (int32_t)p->pw_expire;
 | 
						|
}
 | 
						|
 | 
						|
static __inline void
 | 
						|
passwd50_to_passwd(const struct passwd50 *p, struct passwd *q)
 | 
						|
{
 | 
						|
	q->pw_name = p->pw_name;
 | 
						|
	q->pw_passwd = p->pw_passwd;
 | 
						|
	q->pw_uid = p->pw_uid;
 | 
						|
	q->pw_gid = p->pw_gid;
 | 
						|
	q->pw_change = p->pw_change;
 | 
						|
	q->pw_class = p->pw_class;
 | 
						|
	q->pw_gecos = p->pw_gecos;
 | 
						|
	q->pw_dir = p->pw_dir;
 | 
						|
	q->pw_shell = p->pw_shell;
 | 
						|
	q->pw_expire = p->pw_expire;
 | 
						|
}
 | 
						|
 | 
						|
struct passwd50	*getpwuid(uid_t);
 | 
						|
struct passwd50	*getpwnam(const char *);
 | 
						|
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
 | 
						|
    defined(_REENTRANT) || defined(_NETBSD_SOURCE)
 | 
						|
int		 getpwnam_r(const char *, struct passwd50 *, char *, size_t,
 | 
						|
    struct passwd50 **);
 | 
						|
int		 getpwuid_r(uid_t, struct passwd50 *, char *, size_t,
 | 
						|
    struct passwd50 **);
 | 
						|
#endif
 | 
						|
#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
 | 
						|
struct passwd50	*getpwent(void);
 | 
						|
#endif
 | 
						|
#if defined(_NETBSD_SOURCE)
 | 
						|
int		 pw_scan(char *, struct passwd50 *, int *);
 | 
						|
int		 getpwent_r(struct passwd50 *, char *, size_t, struct passwd50 **);
 | 
						|
#endif
 | 
						|
#if defined(_NETBSD_SOURCE)
 | 
						|
int		 pwcache_userdb(int (*)(int), void (*)(void),
 | 
						|
    struct passwd50 * (*)(const char *), struct passwd50 * (*)(uid_t));
 | 
						|
#endif
 | 
						|
 | 
						|
struct passwd	*__getpwuid50(uid_t);
 | 
						|
struct passwd	*__getpwnam50(const char *);
 | 
						|
#if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \
 | 
						|
    defined(_REENTRANT) || defined(_NETBSD_SOURCE)
 | 
						|
int		 __getpwnam_r50(const char *, struct passwd *, char *, size_t,
 | 
						|
    struct passwd **);
 | 
						|
int		 __getpwuid_r50(uid_t, struct passwd *, char *, size_t,
 | 
						|
    struct passwd **);
 | 
						|
#endif
 | 
						|
#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
 | 
						|
struct passwd	*__getpwent50(void);
 | 
						|
#endif
 | 
						|
#if defined(_NETBSD_SOURCE)
 | 
						|
int		 __pw_scan50(char *, struct passwd *, int *);
 | 
						|
int		 __getpwent_r50(struct passwd *, char *, size_t, struct passwd **);
 | 
						|
#endif
 | 
						|
int		 setpassent(int);
 | 
						|
#if defined(_NETBSD_SOURCE)
 | 
						|
int		 __pwcache_userdb50(int (*)(int), void (*)(void),
 | 
						|
    struct passwd * (*)(const char *), struct passwd * (*)(uid_t));
 | 
						|
#endif
 | 
						|
__END_DECLS
 | 
						|
 | 
						|
#endif /* !_COMPAT_PWD_H_ */
 |