hesiod_getservbyname, hesiod_free_servent - Hesiod functions for
retrieving service information
struct servent *hesiod_getservbyname(void *context,
const char *name, const char *proto)
void hesiod_free_servent(void *context, struct servent *serv)
cc file.c -lhesiod
This family of functions allows you to retrieve service to port map-
pings using Hesiod. To perform lookups, you need an initialized Hesiod
context; see hesiod(3) for details. Information is returned in the
same format as by getservbyname. It is the caller's responsibility to
call hesiod_free_servent with the returned service entry to free the
resources used by the service entry.
Hesiod queries for service information are made using the ``service''
Hesiod type, using the service name as the Hesiod name. The corre-
sponding records should be space-separated lists of strings giving the
service name, protocol, port number (in decimal), and zero or more
aliases for the service. There may be multiple records per service
name; hesiod_getservbyname will pick the first one whose protocol
On failure, hesiod_getservbyname returns NULL and sets the global vari-
able errno to indicate the error.
hesiod_getservbyname may fail for any of the reasons the routine hes-
iod_resolve may fail.
30 November 1996 HESIOD(3)