hesiod_getpwnam man page
hesiod_getpwnam, hesiod_getpwuid, hesiod_free_passwd — Hesiod functions for retrieving passwd information
#include <hesiod.h> struct passwd *hesiod_getpwnam(void *context, const char *name) struct passwd *hesiod_getpwuid(void *context, uid_t uid) void hesiod_free_passwd(void *context, struct passwd *pw) cc file.c -lhesiod
This family of functions allows you to retrieve passwd database information using Hesiod. To perform lookups, you need an initialized Hesiod context; see hesiod(3) for details. You may look up passwd information by name or by uid; information is returned in the same format as by getpwnam or getpwuid. It is the caller's responsibility to call hesiod_free_passwd with the returned passwd entry to free the resources used by the passwd entry.
Hesiod queries for passwd information are made using the “passwd” or “uid” Hesiod type, using either the username or the decimal representation of the uid as the Hesiod name. The corresponding records should be a colon-separated list of fields giving the username, encrypted password, uid, gid, GECOS information, home directory, and shell of the user.
On failure, hesiod_getpwnam and hesiod_getpwuid return NULL and set the global variable errno to indicate the error.
These calls may fail for any of the reasons the routine hesiod_resolve may fail.
The man pages hesiod_free_passwd(3) and hesiod_getpwuid(3) are aliases of hesiod_getpwnam(3).