Index of Section 3 Manual Pages

Interix / SUAhesiod_end.3Interix / SUA

hesiod_end(3)                                             hesiod_end(3)

  hesiod

  NAME

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

  SYNOPSIS

    #include 

    int hesiod_init(void **context)
    char **hesiod_resolve(void *context, const char *name, const char *type)
    void hesiod_free_list(void *context, char **list)
    char *hesiod_to_bind(void *context, const char *name, const char *type)
    void hesiod_end(void *context)

  DESCRIPTION

    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.

    The hesiod_resolve function 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.

    The hesiod_to_bind function 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.

  RETURN VALUES

    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.

  ENVIRONMENT

    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.

  ERRORS

    Hesiod calls may fail because of:

    ECONNREFUSED
        hesiod_resolve failed because no name server could be contacted to
        answer the query.

    EMSGSIZE
        hesiod_resolve failed because the query or response was too big to fit
        into the packet buffers.

    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.

  SEE ALSO

    Hesiod - Project Athena Technical Plan -- Name Service'

  AUTHOR

    Steve Dyer, IBM/Project Athena
    Greg Hudson, MIT Team Athena
    Copyright 1987, 1988, 1995, 1996 by the Massachusetts Institute of
    Technology.

  BUGS

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

  USAGE NOTES

    None of these functions are thread safe.

    None of these functions are async-signal safe.


Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA