user\_from\_uid(3) Library Functions Manual user\_from\_uid(3)

# [NAME](#NAME)

`user_from_uid`, `uid_from_user`, `group_from_gid`, `gid_from_group` — cache password and group entries

# [LIBRARY](#LIBRARY)

library “libbsd”

# [SYNOPSIS](#SYNOPSIS)

`#include <pwd.h>` (See [libbsd(7)](/man/os/libbsd/libbsd.7) for include usage.)  
`int`  
`uid_from_user`(`const char *name`, `uid_t *uid`);

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

`#include <grp.h>`

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

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

# [DESCRIPTION](#DESCRIPTION)

The [`user_from_uid`](#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)](/man/os/libbsd/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`](#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)](/man/os/libbsd/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`](#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)](/man/os/libbsd/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`](#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)](/man/os/libbsd/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.

# [SEE ALSO](#SEE_ALSO)

[getgrgid(3)](/man/os/libbsd/getgrgid.3), [getpwuid(3)](/man/os/libbsd/getpwuid.3)

# [HISTORY](#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.

September 13, 2018 Linux 4.19.0-gvisor

---

Document: gid_from_group(3bsd) from libbsd 0.12.2-r8 (Chainguard OS)
Source: https://gitlab.freedesktop.org/libbsd/libbsd
