1 .\" $NetBSD: hesiod.3,v 1.1 1999/01/25 03:43:04 lukem Exp $
3 .\" from: #Id: hesiod.3,v 1.9.2.1 1997/01/03 21:02:23 ghudson Exp #
5 .\" Copyright 1988, 1996 by the Massachusetts Institute of Technology.
7 .\" Permission to use, copy, modify, and distribute this
8 .\" software and its documentation for any purpose and without
9 .\" fee is hereby granted, provided that the above copyright
10 .\" notice appear in all copies and that both that copyright
11 .\" notice and this permission notice appear in supporting
12 .\" documentation, and that the name of M.I.T. not be used in
13 .\" advertising or publicity pertaining to distribution of the
14 .\" software without specific, written prior permission.
15 .\" M.I.T. makes no representations about the suitability of
16 .\" this software for any purpose. It is provided "as is"
17 .\" without express or implied warranty.
19 .\" $FreeBSD: src/lib/libc/net/hesiod.3,v 1.5 2005/01/20 09:17:03 ru Exp $
28 .Nm hesiod_free_list ,
31 .Nd Hesiod name server interface library
37 .Fn hesiod_init "void **context"
39 .Fn hesiod_resolve "void *context" "const char *name" "const char *type"
41 .Fn hesiod_free_list "void *context" "char **list"
43 .Fn hesiod_to_bind "void *context" "const char *name" "const char *type"
45 .Fn hesiod_end "void *context"
47 This family of functions allows you to perform lookups of Hesiod
48 information, which is stored as text records in the Domain Name
50 To perform lookups, you must first initialize a
52 an opaque object which stores information used internally by the
53 library between calls.
57 initializes a context, storing a pointer to the context in the
58 location pointed to by the
64 frees the resources used by a context.
69 is the primary interface to the library.
70 If successful, it returns a
71 list of one or more strings giving the records matching
75 The last element of the list is followed by a
79 caller's responsibility to call
81 to free the resources used by the returned list.
90 into the DNS name used by
92 It is the caller's responsibility to free the returned string using
102 and set the global variable
104 to indicate the error.
106 .Bl -tag -width HESIOD_CONFIG
108 If the environment variable
110 is set, it will override the domain in the Hesiod configuration file.
112 If the environment variable
114 is set, it specifies the location of the Hesiod configuration file.
117 Hesiod calls may fail because of:
120 Insufficient memory was available to carry out the requested
126 failed because the Hesiod configuration file was invalid.
127 .It Bq Er ECONNREFUSED
131 failed because no name server could be contacted to answer the query.
138 failed because the query or response was too big to fit into the
144 failed because the name server had no text records matching
152 argument had a domain extension which could not be resolved with type
154 in the local Hesiod domain.
160 .%T "Hesiod - Project Athena Technical Plan -- Name Service"
168 Copyright 1987, 1988, 1995, 1996 by the Massachusetts Institute of Technology.
170 The strings corresponding to the
172 values set by the Hesiod functions are not particularly indicative of
173 what went wrong, especially for