I would appreciate any donations. Wishlist or send e-mail type donations to maekawa AT daemon-systems.org.

Thank you.

HESIOD(3)                  Library Functions Manual                  HESIOD(3)

     hesiod, hesiod_init, hesiod_resolve, hesiod_free_list, hesiod_to_bind,
     hesiod_end - Hesiod name server interface library

     Standard C Library (libc, -lc)

     #include <hesiod.h>

     hesiod_init(void **context);

     **hesiod_resolve(void *context, const char *name, const char *type);

     hesiod_free_list(void *context, char **list);

     *hesiod_to_bind(void *context, const char *name, const char *type);

     hesiod_end(void *context);

     This family of functions allows you to perform lookups of Hesiod
     information, which is stored as text records in the Domain Name Service.
     To perform lookups, you must first initialize a context, an opaque object
     which stores information used internally by the library between calls.
     hesiod_init() initializes a context, storing a pointer to the context in
     the location pointed to by the context argument.  hesiod_end() frees the
     resources used by a context.

     hesiod_resolve() is the primary interface to the library.  If successful,
     it returns a list of one or more strings giving the records matching name
     and type.  The last element of the list is followed by a NULL pointer.
     It is the caller's responsibility to call hesiod_free_list() to free the
     resources used by the returned list.

     hesiod_to_bind() converts name and type into the DNS name used by
     hesiod_resolve().  It is the caller's responsibility to free the returned
     string using free(3).

     If successful, hesiod_init() returns 0; otherwise it returns -1 and sets
     errno to indicate the error.  On failure, hesiod_resolve() and
     hesiod_to_bind() return NULL and set the global variable errno to
     indicate the error.

     If the environment variable HES_DOMAIN is set, it will override the
     domain in the Hesiod configuration file.  If the environment variable
     HESIOD_CONFIG is set, it specifies the location of the Hesiod
     configuration file.

     Hesiod calls may fail because of:
     ENOMEM        Insufficient memory was available to carry out the
                   requested operation.
     ENOEXEC       hesiod_init() failed because the Hesiod configuration file
                   was invalid.
     ECONNREFUSED  hesiod_resolve() failed because no name server could be
                   contacted to answer the query.
     EMSGSIZE      hesiod_resolve() or hesiod_to_bind() failed because the
                   query or response was too big to fit into the packet
     ENOENT        hesiod_resolve() failed because the name server had no text
                   records matching name and type, or hesiod_to_bind() failed
                   because the name argument had a domain extension which
                   could not be resolved with type "rhs-extension" in the
                   local Hesiod domain.

     hesiod.conf(5), named(8)

     Hesiod - Project Athena Technical Plan -- Name Service.

     Steve Dyer, IBM/Project Athena
     Greg Hudson, MIT Team Athena

     Copyright 1987, 1988, 1995, 1996 by the Massachusetts Institute of

     The strings corresponding to the errno values set by the Hesiod functions
     are not particularly indicative of what went wrong, especially for

NetBSD 8.99.34                September 16, 2001                NetBSD 8.99.34