Merge from vendor branch CVS:
[dragonfly.git] / contrib / bind-9.2.4rc7 / lib / lwres / man / lwres_getnameinfo.html
1 <!--
2  - Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
3  - Copyright (C) 2001  Internet Software Consortium.
4  -
5  - Permission to use, copy, modify, and distribute this software for any
6  - purpose with or without fee is hereby granted, provided that the above
7  - copyright notice and this permission notice appear in all copies.
8  -
9  - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10  - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11  - AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12  - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13  - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14  - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15  - PERFORMANCE OF THIS SOFTWARE.
16 -->
17
18 <!-- $Id: lwres_getnameinfo.html,v 1.5.2.2 2004/03/15 04:45:03 marka Exp $ -->
19
20 <HTML
21 ><HEAD
22 ><TITLE
23 >lwres_getnameinfo</TITLE
24 ><META
25 NAME="GENERATOR"
26 CONTENT="Modular DocBook HTML Stylesheet Version 1.73
27 "></HEAD
28 ><BODY
29 CLASS="REFENTRY"
30 BGCOLOR="#FFFFFF"
31 TEXT="#000000"
32 LINK="#0000FF"
33 VLINK="#840084"
34 ALINK="#0000FF"
35 ><H1
36 ><A
37 NAME="AEN1"
38 >lwres_getnameinfo</A
39 ></H1
40 ><DIV
41 CLASS="REFNAMEDIV"
42 ><A
43 NAME="AEN8"
44 ></A
45 ><H2
46 >Name</H2
47 >lwres_getnameinfo&nbsp;--&nbsp;lightweight resolver socket address structure to hostname and service name</DIV
48 ><DIV
49 CLASS="REFSYNOPSISDIV"
50 ><A
51 NAME="AEN11"
52 ></A
53 ><H2
54 >Synopsis</H2
55 ><DIV
56 CLASS="FUNCSYNOPSIS"
57 ><A
58 NAME="AEN12"
59 ></A
60 ><P
61 ></P
62 ><PRE
63 CLASS="FUNCSYNOPSISINFO"
64 >#include &lt;lwres/netdb.h&gt;</PRE
65 ><P
66 ><CODE
67 ><CODE
68 CLASS="FUNCDEF"
69 >int
70 lwres_getnameinfo</CODE
71 >(const struct sockaddr *sa, size_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);</CODE
72 ></P
73 ><P
74 ></P
75 ></DIV
76 ></DIV
77 ><DIV
78 CLASS="REFSECT1"
79 ><A
80 NAME="AEN24"
81 ></A
82 ><H2
83 >DESCRIPTION</H2
84 ><P
85 > This function is equivalent to the <SPAN
86 CLASS="CITEREFENTRY"
87 ><SPAN
88 CLASS="REFENTRYTITLE"
89 >getnameinfo</SPAN
90 >(3)</SPAN
91 > function defined in RFC2133.
92 <TT
93 CLASS="FUNCTION"
94 >lwres_getnameinfo()</TT
95 > returns the hostname for the
96 <SPAN
97 CLASS="TYPE"
98 >struct sockaddr</SPAN
99 > <TT
100 CLASS="PARAMETER"
101 ><I
102 >sa</I
103 ></TT
104 > which is
105 <TT
106 CLASS="PARAMETER"
107 ><I
108 >salen</I
109 ></TT
110 > bytes long.  The hostname is of length
111 <TT
112 CLASS="PARAMETER"
113 ><I
114 >hostlen</I
115 ></TT
116 > and is returned via
117 <TT
118 CLASS="PARAMETER"
119 ><I
120 >*host.</I
121 ></TT
122 > The maximum length of the hostname is
123 1025 bytes: <TT
124 CLASS="CONSTANT"
125 >NI_MAXHOST</TT
126 >.</P
127 ><P
128 > The name of the service associated with the port number in
129 <TT
130 CLASS="PARAMETER"
131 ><I
132 >sa</I
133 ></TT
134 > is returned in <TT
135 CLASS="PARAMETER"
136 ><I
137 >*serv.</I
138 ></TT
139 >
140 It is <TT
141 CLASS="PARAMETER"
142 ><I
143 >servlen</I
144 ></TT
145 > bytes long.  The maximum length
146 of the service name is <TT
147 CLASS="CONSTANT"
148 >NI_MAXSERV</TT
149 > - 32 bytes.</P
150 ><P
151 > The <TT
152 CLASS="PARAMETER"
153 ><I
154 >flags</I
155 ></TT
156 > argument sets the following
157 bits:
158 <P
159 ></P
160 ><DIV
161 CLASS="VARIABLELIST"
162 ><DL
163 ><DT
164 ><TT
165 CLASS="CONSTANT"
166 >NI_NOFQDN</TT
167 ></DT
168 ><DD
169 ><P
170 >A fully qualified domain name is not required for local hosts.
171 The local part of the fully qualified domain name is returned instead.</P
172 ></DD
173 ><DT
174 ><TT
175 CLASS="CONSTANT"
176 >NI_NUMERICHOST</TT
177 ></DT
178 ><DD
179 ><P
180 >Return the address in numeric form, as if calling inet_ntop(),
181 instead of a host name.</P
182 ></DD
183 ><DT
184 ><TT
185 CLASS="CONSTANT"
186 >NI_NAMEREQD</TT
187 ></DT
188 ><DD
189 ><P
190 >A name is required. If the hostname cannot be found in the DNS and
191 this flag is set, a non-zero error code is returned.
192 If the hostname is not found and the flag is not set, the 
193 address is returned in numeric form.</P
194 ></DD
195 ><DT
196 ><TT
197 CLASS="CONSTANT"
198 >NI_NUMERICSERV</TT
199 ></DT
200 ><DD
201 ><P
202 >The service name is returned as a digit string representing the port number.</P
203 ></DD
204 ><DT
205 ><TT
206 CLASS="CONSTANT"
207 >NI_DGRAM</TT
208 ></DT
209 ><DD
210 ><P
211 >Specifies that the service being looked up is a datagram
212 service,  and causes getservbyport() to be called with a second
213 argument of "udp" instead of its default of "tcp".  This is required
214 for the few ports (512-514) that have different services for UDP and
215 TCP.</P
216 ></DD
217 ></DL
218 ></DIV
219 ></P
220 ></DIV
221 ><DIV
222 CLASS="REFSECT1"
223 ><A
224 NAME="AEN70"
225 ></A
226 ><H2
227 >RETURN VALUES</H2
228 ><P
229 ><TT
230 CLASS="FUNCTION"
231 >lwres_getnameinfo()</TT
232 >
233 returns 0 on success or a non-zero error code if an error occurs.</P
234 ></DIV
235 ><DIV
236 CLASS="REFSECT1"
237 ><A
238 NAME="AEN74"
239 ></A
240 ><H2
241 >SEE ALSO</H2
242 ><P
243 ><SPAN
244 CLASS="CITEREFENTRY"
245 ><SPAN
246 CLASS="REFENTRYTITLE"
247 >RFC2133</SPAN
248 ></SPAN
249 >,
250 <SPAN
251 CLASS="CITEREFENTRY"
252 ><SPAN
253 CLASS="REFENTRYTITLE"
254 >getservbyport</SPAN
255 >(3)</SPAN
256 >,
257 <SPAN
258 CLASS="CITEREFENTRY"
259 ><SPAN
260 CLASS="REFENTRYTITLE"
261 >lwres</SPAN
262 >(3)</SPAN
263 >,
264 <SPAN
265 CLASS="CITEREFENTRY"
266 ><SPAN
267 CLASS="REFENTRYTITLE"
268 >lwres_getnameinfo</SPAN
269 >(3)</SPAN
270 >,
271 <SPAN
272 CLASS="CITEREFENTRY"
273 ><SPAN
274 CLASS="REFENTRYTITLE"
275 >lwres_getnamebyaddr</SPAN
276 >(3)</SPAN
277 >.
278 <SPAN
279 CLASS="CITEREFENTRY"
280 ><SPAN
281 CLASS="REFENTRYTITLE"
282 >lwres_net_ntop</SPAN
283 >(3)</SPAN
284 >.</P
285 ></DIV
286 ><DIV
287 CLASS="REFSECT1"
288 ><A
289 NAME="AEN94"
290 ></A
291 ><H2
292 >BUGS</H2
293 ><P
294 >RFC2133 fails to define what the nonzero return values of
295 <SPAN
296 CLASS="CITEREFENTRY"
297 ><SPAN
298 CLASS="REFENTRYTITLE"
299 >getnameinfo</SPAN
300 >(3)</SPAN
301 >
302 are.</P
303 ></DIV
304 ></BODY
305 ></HTML
306 >