user_from_uid, uid_from_user, group_from_gid, gid_from_group — cache password and group entries
Contents
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 uid_from_user() function returns the user ID associated with the argument name. The user ID is
cached so that multiple calls with the same name do not require additional calls to getpwnam(3). If
there is no user ID associated with the name, the uid_from_user() function returns -1; otherwise it
stores the user ID at the location pointed to by uid and returns 0.
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 gid_from_group() function returns the group ID associated with the argument name. The group ID is
cached so that multiple calls with the same name do not require additional calls to getgrnam(3). If
there is no group ID associated with the name, the gid_from_group() function returns -1; otherwise it
stores the group ID at the location pointed to by gid and returns 0.
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 and OpenBSD 6.4.
Debian September 13, 2018 user_from_uid(3)
Library
Utility functions from BSD systems (libbsd, -lbsd)
Name
user_from_uid, uid_from_user, group_from_gid, gid_from_group — cache password and group entries
See Also
getgrgid(3), getpwuid(3)
Synopsis
#include<pwd.h>
(See libbsd(7) for include usage.)
intuid_from_user(constchar*name, uid_t*uid);
constchar*user_from_uid(uid_tuid, intnouser);
#include<grp.h>intgid_from_group(constchar*name, gid_t*gid);
constchar*group_from_gid(gid_tgid, intnogroup);
