GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PWCACHE(3) FreeBSD Library Functions Manual PWCACHE(3)

pwcache, user_from_uid, group_from_gid
cache password and group entries

Standard C Library (libc, -lc)

#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));

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.

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

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

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.

May 5, 2020 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.