SYNOPSIS

#include <hesiod.h>

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

DESCRIPTION

This family of functions allows you to retrieve service to port mappings 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 corresponding 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 matches proto.

RETURN VALUES

On failure, hesiod_getservbyname returns NULL and sets the global variable errno to indicate the error.

ERRORS

hesiod_getservbyname may fail for any of the reasons the routine hesiod_resolve may fail.

RELATED TO hesiod_getservbyname…