Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PWCACHE(3)	       FreeBSD Library Functions Manual		    PWCACHE(3)

NAME
     pwcache, user_from_uid, group_from_gid -- cache password and group	en-
     tries

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <pwd.h>

     const char	*
     user_from_uid(uid_t uid, int nouser);

     int
     uid_from_user(const char *name, uid_t *uid);

     int
     pwcache_userdb(int	(*setpassent)(int), void (*endpwent)(void),
	 struct	passwd * (*getpwnam)(const char	*),
	 struct	passwd * (*getpwuid)(uid_t));

     #include <grp.h>

     const char	*
     group_from_gid(gid_t gid, int nogroup);

     int
     gid_from_group(const char *name, gid_t *gid);

     int
     pwcache_groupdb(int (*setgroupent)(int), void (*endgrent)(void),
	 struct	group *	(*getgrnam)(const char *),
	 struct	group *	(*getgrgid)(gid_t));

DESCRIPTION
     The user_from_uid() function returns the user name	associated with	the
     argument uid.  The	user name is cached so that multiple calls with	the
     same uid do not require additional	calls to getpwuid(3).  If there	is no
     user associated with the uid, a pointer is	returned to a string represen-
     tation of the uid,	unless the argument nouser is non-zero,	in which case
     a NULL pointer is returned.

     The group_from_gid() function returns the group name associated with the
     argument gid.  The	group name is cached so	that multiple calls with the
     same gid do not require additional	calls to getgrgid(3).  If there	is no
     group associated with the gid, a pointer is returned to a string repre-
     sentation of the gid, unless the argument nogroup is non-zero, in which
     case a NULL pointer is returned.

     The uid_from_user() function returns the uid associated with the argument
     name.  The	uid is cached so that multiple calls with the same name	do not
     require additional	calls to getpwnam(3).  If there	is no uid associated
     with the name, the	uid_from_user()	function returns -1; otherwise it
     stores the	uid at the location pointed to by uid and returns 0.

     The gid_from_group() function returns the gid associated with the argu-
     ment name.	 The gid is cached so that multiple calls with the same	name
     do	not require additional calls to	getgrnam(3).  If there is no gid asso-
     ciated with the name, the gid_from_group()	function returns -1; otherwise
     it	stores the gid at the location pointed to by gid and returns 0.

     The pwcache_userdb() function changes the user database access routines
     which user_from_uid() and uid_from_user() call to search for users.  The
     caches are	flushed	and the	existing endpwent() method is called before
     switching to the new routines.  getpwnam and getpwuid must	be provided,
     and setpassent and	endpwent may be	NULL pointers.

     The pwcache_groupdb() function changes the	group database access routines
     which group_from_gid() and	gid_from_group() call to search	for groups.
     The caches	are flushed and	the existing endgrent()	method is called be-
     fore switching to the new routines.  getgrnam and getgrgid	must be	pro-
     vided, and	setgroupent and	endgrent may be	NULL pointers.

ERRORS
     If	insufficient memory is available, user_from_uid() and group_from_gid()
     may return	NULL pointers.	errno is set to	ENOMEM.

SEE ALSO
     getgrgid(3), getgrnam(3), getpwnam(3), getpwuid(3)

HISTORY
     The user_from_uid() and group_from_gid() functions	first appeared in
     4.4BSD.

     The uid_from_user() and gid_from_group() functions	first appeared in
     NetBSD 1.4.

     The pwcache_userdb() and pwcache_groupdb()	functions first	appeared in
     NetBSD 1.6	and FreeBSD 10.0.

FreeBSD	13.0			  May 5, 2020			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pwcache&sektion=3&manpath=FreeBSD+13.2-RELEASE>

home | help