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.