Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/man/man3/ares_gethostbyname.3 @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 68:5028fdace37b |
---|---|
1 .\" | |
2 .\" Copyright 1998 by the Massachusetts Institute of Technology. | |
3 .\" SPDX-License-Identifier: MIT | |
4 .\" | |
5 .TH ARES_GETHOSTBYNAME 3 "25 July 1998" | |
6 .SH NAME | |
7 ares_gethostbyname \- Initiate a host query by name | |
8 .SH SYNOPSIS | |
9 .nf | |
10 #include <ares.h> | |
11 | |
12 typedef void (*ares_host_callback)(void *\fIarg\fP, int \fIstatus\fP, | |
13 int \fItimeouts\fP, | |
14 struct hostent *\fIhostent\fP) | |
15 | |
16 void ares_gethostbyname(ares_channel_t *\fIchannel\fP, const char *\fIname\fP, | |
17 int \fIfamily\fP, ares_host_callback \fIcallback\fP, | |
18 void *\fIarg\fP) | |
19 .fi | |
20 .SH DESCRIPTION | |
21 The | |
22 .B ares_gethostbyname | |
23 function initiates a host query by name on the name service channel | |
24 identified by | |
25 .IR channel . | |
26 The parameter | |
27 .I name | |
28 gives the hostname as a NUL-terminated C string, and | |
29 .I family | |
30 gives the desired type of address for the resulting host entry. When the | |
31 query is complete or has failed, the ares library will invoke \fIcallback\fP. | |
32 Completion or failure of the query may happen immediately, or may happen | |
33 during a later call to \fIares_process(3)\fP, \fIares_destroy(3)\fP or | |
34 \fIares_cancel(3)\fP. | |
35 .PP | |
36 The callback argument | |
37 .I arg | |
38 is copied from the | |
39 .B ares_gethostbyname | |
40 argument | |
41 .IR arg . | |
42 The callback argument | |
43 .I status | |
44 indicates whether the query succeeded and, if not, how it failed. It | |
45 may have any of the following values: | |
46 .TP 19 | |
47 .B ARES_SUCCESS | |
48 The host lookup completed successfully. | |
49 .TP 19 | |
50 .B ARES_ENOTIMP | |
51 The ares library does not know how to find addresses of type | |
52 .IR family . | |
53 .TP 19 | |
54 .B ARES_EBADNAME | |
55 The hostname | |
56 .B name | |
57 is composed entirely of numbers and periods, but is not a valid | |
58 representation of an Internet address. | |
59 .TP 19 | |
60 .B ARES_ENODATA | |
61 There was no data returned to extract a result from. | |
62 .TP 19 | |
63 .B ARES_ENOTFOUND | |
64 The name | |
65 .I name | |
66 was not found. | |
67 .TP 19 | |
68 .B ARES_ENOMEM | |
69 Memory was exhausted. | |
70 .TP 19 | |
71 .B ARES_ECANCELLED | |
72 The query was cancelled. | |
73 .TP 19 | |
74 .B ARES_EDESTRUCTION | |
75 The name service channel | |
76 .I channel | |
77 is being destroyed; the query will not be completed. | |
78 .PP | |
79 The callback argument | |
80 .I timeouts | |
81 reports how many times a query timed out during the execution of the | |
82 given request. | |
83 .PP | |
84 On successful completion of the query, the callback argument | |
85 .I hostent | |
86 points to a | |
87 .B struct hostent | |
88 containing the name of the host returned by the query. The callback | |
89 need not and should not attempt to free the memory pointed to by | |
90 .IR hostent ; | |
91 the ares library will free it when the callback returns. If the query | |
92 did not complete successfully, | |
93 .I hostent | |
94 will be | |
95 .BR NULL . | |
96 .PP | |
97 When the associated callback is called, it is called with a channel lock so care | |
98 must be taken to ensure any processing is minimal to prevent DNS channel stalls. | |
99 | |
100 The callback may be triggered from a different thread than the one which | |
101 called \fIares_gethostbyname(3)\fP. | |
102 | |
103 For integrators running their own event loops and not using \fBARES_OPT_EVENT_THREAD\fP, | |
104 care needs to be taken to ensure any file descriptor lists are updated immediately | |
105 within the eventloop when notified. | |
106 .SH SEE ALSO | |
107 .BR ares_process (3), | |
108 .BR ares_gethostbyaddr (3) |