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

  
 
  

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

NAME
     pwcache,	user_from_uid,	uid_from_user,	pwcache_userdb,  group_from_gid,
     gid_from_group, pwcache_groupdb -- cache password and group entries

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  ar-
     gument  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 representation
     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  represen-
     tation 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	argument
     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  associated
     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  before
     switching to the new routines.  getgrnam and getgrgid must be provided, 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 15.1			   May 5, 2020			      PWCACHE(3)

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

home | help