NAME
pwcache,
user_from_uid,
group_from_gid —
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 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 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 representation 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.
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.