OSDN Git Service

(split) LDP v3.24 -> v3.29 の定型的な変更内容を反映。
[linuxjm/LDP_man-pages.git] / release / man3 / resolver.3
1 .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
2 .\"
3 .\" Permission is granted to make and distribute verbatim copies of this
4 .\" manual provided the copyright notice and this permission notice are
5 .\" preserved on all copies.
6 .\"
7 .\" Permission is granted to copy and distribute modified versions of this
8 .\" manual under the conditions for verbatim copying, provided that the
9 .\" entire resulting derived work is distributed under the terms of a
10 .\" permission notice identical to this one.
11 .\"
12 .\" Since the Linux kernel and libraries are constantly changing, this
13 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
14 .\" responsibility for errors or omissions, or for damages resulting from
15 .\" the use of the information contained herein.  The author(s) may not
16 .\" have taken the same level of care in the production of this manual,
17 .\" which is licensed free of charge, as they might when working
18 .\" professionally.
19 .\"
20 .\" Formatted or processed versions of this manual, if unaccompanied by
21 .\" the source, must acknowledge the copyright and authors of this work.
22 .\"
23 .\" References consulted:
24 .\"     Linux libc source code
25 .\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
26 .\"     386BSD man pages
27 .\" Modified 1993-07-25 by Rik Faith (faith@cs.unc.edu)
28 .\" Modified 2004-10-31 by aeb
29 .\"
30 .\" Japanese Version Copyright (c) 1998 Shinji Orito all rights reserved.
31 .\"     Translated Mon May 25 21:27:03 JST 1998
32 .\"             by Shinji Orito <shinji@os.gulf.or.jp>
33 .\" Updated & Modified Thu Feb 17 03:58:45 JST 2005
34 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
35 .\"
36 .\"WORD:        resolver        ¥ì¥¾¥ë¥Ð (¥ê¥¾¥ë¥Ð)
37 .\"WORD:        override        ¥ª¡¼¥Ð¡¼¥é¥¤¥É
38 .\"WORD:        call    ¸Æ¤Ó½Ð¤·¡¢¸Æ¤Ó½Ð¤¹
39 .\"WORD:        fully qualified domain name     ´°Á´½¤¾þ¥É¥á¥¤¥ó̾(FQDN)
40 .\"WORD:        type    ·¿
41 .\"WORD:        class   ¥¯¥é¥¹
42 .\"WORD:        query   Ì䤤¹ç¤ï¤»¡¢Ì䤤¹ç¤ï¤»¤ë
43 .\"WORD:        buffer  ¥Ð¥Ã¥Õ¥¡¡¼
44 .\"WORD:        lower-level routines    ²¼°Ì¥ë¡¼¥Á¥ó
45 .\"WORD:        limit of the array      ÇÛÎó¤ÎÈÏ°Ï
46 .\"WORD:        state information       ¾õÂ֤ξðÊó
47 .\"WORD:        bitwise ``or''  ¥Ó¥Ã¥Èñ°Ì¤ÎÏÀÍýÏÂ
48 .\"WORD:        True    ¿¿ÃÍ
49 .\"WORD:        authoritative   ¸¢°ÒÉÕ¤±¤µ¤ì¤¿
50 .\"WORD:        recursion desired bit   ºÆµ¢Í×µá¥Ó¥Ã¥È
51 .\"WORD:        single component names  °ìÉôʬ¤«¤é¤Ê¤ë̾Á°
52 .\"
53 .TH RESOLVER 3 2010-06-17 "GNU" "Linux Programmer's Manual"
54 .SH Ì¾Á°
55 res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, dn_comp, dn_expand \- ¥ì¥¾¥ë¥Ð¡¦¥ë¡¼¥Á¥ó
56 .SH ½ñ¼°
57 .nf
58 .B #include <netinet/in.h>
59 .B #include <arpa/nameser.h>
60 .B #include <resolv.h>
61 .B extern struct state _res;
62 .sp
63 .B int res_init(void);
64 .sp
65 .BI "int res_query(const char *" dname ", int " class ", int " type ,
66 .RS
67 .BI "unsigned char *" answer ", int " anslen );
68 .RE
69 .sp
70 .BI "int res_search(const char *" dname ", int " class ", int " type ,
71 .RS
72 .BI "unsigned char *" answer ", int " anslen );
73 .RE
74 .sp
75 .BI "int res_querydomain(const char *" name ", const char *" domain ,
76 .RS
77 .BI "int " class ", int " type ", unsigned char *" answer ,
78 .BI "int " anslen );
79 .RE
80 .sp
81 .BI "int res_mkquery(int " op ", const char *" dname ", int " class ,
82 .RS
83 .BI "int " type ", char *" data ", int " datalen ", struct rrec *" newrr ,
84 .BI "char *" buf ", int " buflen );
85 .RE
86 .sp
87 .BI "int res_send(const char *" msg ", int " msglen ", char *" answer ,
88 .RS
89 .BI "int " anslen );
90 .RE
91 .sp
92 .BI "int dn_comp(unsigned char *" exp_dn ", unsigned char *" comp_dn ,
93 .RS
94 .BI "int " length ", unsigned char **" dnptrs ", unsigned char **" lastdnptr );
95 .RE
96 .sp
97 .BI "int dn_expand(unsigned char *" msg ", unsigned char *" eomorig ,
98 .RS
99 .BI "unsigned char *" comp_dn ", char *" exp_dn ,
100 .BI "int " length );
101 .RE
102 .fi
103 .sp
104 \fI\-lresolv\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
105 .SH ÀâÌÀ
106 ¤³¤ì¤é¤Î´Ø¿ô¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¥É¥á¥¤¥ó¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ËÌ䤤¹ç¤ï¤»¡¢
107 ¤½¤Î±þÅú¤ò²ò¼á¤¹¤ë¡£
108 .PP
109 .BR res_init ()
110 ´Ø¿ô¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥É¥á¥¤¥ó̾¡¢¸¡º÷½ç¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼
111 ¥¢¥É¥ì¥¹¤òÆÀ¤ë¤¿¤á¤ËÀßÄê¥Õ¥¡¥¤¥ë (resolv.conf(5) »²¾È) ¤òÆɤࡣ
112 ¤â¤·¥µ¡¼¥Ð¡¼¤¬¼¨¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¥í¡¼¥«¥ë¥Û¥¹¥È¤ò»î¤¹¡£
113 ¥É¥á¥¤¥ó¤¬¼¨¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¥í¡¼¥«¥ë¥Û¥¹¥È¤ËÉÕ¤±¤é¤ì¤¿¥É¥á¥¤¥ó¤òÍѤ¤¤ë¡£
114 ´Ä¶­ÊÑ¿ô
115 .B LOCALDOMAIN
116 ¤Ç¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¡£
117 .BR res_init ()
118 ¤Ï¡¢¸å½Ò¤¹¤ë´Ø¿ô¤Î¤É¤ì¤«¤¬ºÇ½é¤Ë¸Æ¤Ó½Ð¤µ¤ì¤¿»þ¡¢¤½¤Î´Ø¿ô
119 ¤«¤é¼Â¹Ô¤µ¤ì¤ë¡£
120 .PP
121 .BR res_query ()
122 ´Ø¿ô¤Ï¡¢»ØÄꤵ¤ì¤¿ \fItype\fP ¤È \fIclass\fP ¤Î
123 ´°Á´½¤¾þ¥É¥á¥¤¥ó̾ (FQDN) \fIname\fP ¤ò¡¢¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤ØÌ䤤¹ç¤ï¤»¤ë¡£
124 ±þÅú¤Ï¡¢¸Æ¤Ó½Ð¤·¤¿Â¦¤Ë¤è¤Ã¤ÆÍÑ°Õ¤µ¤ì¤ëŤµ \fIanslen\fP ¤Î \fIanswer\fP
125 ¥Ð¥Ã¥Õ¥¡¡¼¤Ë»Ä¤µ¤ì¤ë¡£
126 .PP
127 .BR res_search ()
128 ´Ø¿ô¤Ï¡¢Ì䤤¹ç¤ï¤»¤ò¹Ô¤¤
129 .BR res_query ()
130 ƱÍͤ½¤Î±þÅú¤ò
131 ÂԤĤ¬¡¢¤µ¤é¤Ë¥Ç¥Õ¥©¥ë¥È¤ò¼ÂÁõ¤·¤Æ¤ª¤ê
132 .B RES_DEFNAMES
133 ¤È
134 .B RES_DNSRCH
135 ¤Ë¤è¤Ã¤Æµ¬Äꤵ¤ì¤ë¸¡º÷¥ë¡¼¥ë¤òŬÍѤ¹¤ë¡£
136 (²¼µ­ \fI_res\fP ¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤ò»²¾È)
137 .PP
138 .BR res_querydomain ()
139 ´Ø¿ô¤Ï \fIname\fP ¤È \fIdomain\fP ¤Î·ë¹ç¤Ë
140 .BR res_query ()
141 ¤òÍѤ¤¤ÆÌ䤤¹ç¤ï¤»¤ò¹Ô¤¦¡£
142 .PP
143 ¼¡¤Î´Ø¿ô¤Ï¡¢
144 .BR res_query ()
145 ¤Ç»È¤ï¤ì¤ë²¼°Ì¥ë¡¼¥Á¥ó¤Ç¤¢¤ë¡£
146 .PP
147 .BR res_mkquery ()
148 ´Ø¿ô¤Ï¡¢¥É¥á¥¤¥ó̾ \fIdname\fP ¤Î°Ù¤Ë¡¢Ä¹¤µ \fIbuflen\fP
149 ¤Î \fIbuf\fP ¤ËÌ䤤¹ç¤ï¤»¤ë¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¡£
150 Ì䤤¹ç¤ï¤»¤Î·¿ \fIop\fP ¤ÏÄ̾ï
151 .B QUERY
152 ¤À¤¬¡¢ \fI<arpa/nameser.h>\fP ¤ÇÄêµÁ¤µ¤ì¤¿·¿¤Î¤É¤ì¤Ç¤âÎɤ¤¡£
153 \fInewrr\fP ¤Ï¸½ºß»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¡£
154 .PP
155 .BR res_send ()
156 ´Ø¿ô¤Ï¡¢Ä¹¤µ \fImsglen\fP ¤Î \fImsg\fP ¤Ë·è¤á¤é¤ì¤¿½ñ¼°
157 ¤ÇÌ䤤¹ç¤ï¤»¡¢\fIanswer\fP ¤ËŤµ \fIanslen\fP ¤Î²óÅú¤òÊÖ¤¹¡£
158 ¤Þ¤À¸Æ¤Ó½Ð¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð
159 .BR res_init ()
160 ¤ò¸Æ¤Ó½Ð¤¹¡£
161 .PP
162 .BR dn_comp ()
163 ´Ø¿ô¤Ï¥É¥á¥¤¥ó̾ \fIexp_dn\fP ¤ò°µ½Ì¤·¤Æ¡¢Ä¹¤µ \fIlength\fP
164 ¤Î¥Ð¥Ã¥Õ¥¡¡¼ \fIcomp_dn\fP ¤ËÊݸ¤¹¤ë¡£
165 °µ½Ì¤Ë¤Ï¥Ý¥¤¥ó¥¿¡¼ÇÛÎó \fIdnptrs\fP ¤òÍѤ¤¤ë¡£
166 ¤³¤ì¤é¤Î¥Ý¥¤¥ó¥¿¡¼¤Ï¡¢¸½ºß¤Î¥á¥Ã¥»¡¼¥¸¤ÎÃæ¤Ë¤¢¤ë°ÊÁ°¤Ë°µ½Ì¤µ¤ì¤¿Ì¾Á°¤ò»Ø¤¹¡£
167 ºÇ½é¤Î¥Ý¥¤¥ó¥¿¡¼¤Ï¥á¥Ã¥»¡¼¥¸¤ÎËÁƬ¤ò»Ø¤·¡¢¤½¤Î¥ê¥¹¥È¤Ï NULL ¤Ç½ª¤ï¤ë¡£
168 ÇÛÎó¤ÎÈϰϤϠ\fIlastdnptr\fP ¤Ç·è¤á¤é¤ì¤ë¡£
169 \fIdnptr\fP ¤¬ NULL ¤Ê¤é¤Ð¥É¥á¥¤¥ó̾¤Ï°µ½Ì¤µ¤ì¤Ê¤¤¡£
170 \fIlastdnptr\fP ¤¬ NULL ¤Ê¤é¤Ð¡¢¤½¤Î¥é¥Ù¥ë¤Î¥ê¥¹¥È¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤Ê¤¤¡£
171 .PP
172 .BR dn_expand ()
173 ´Ø¿ô¤Ï¡¢°µ½Ì¤µ¤ì¤¿¥É¥á¥¤¥ó̾ \fIcomp_dn\fP ¤«¤é¥µ¥¤¥º
174 ¤¬ \fIlength\fP ¤Î \fIexp_dn\fP ¥Ð¥Ã¥Õ¥¡¡¼¤ËÀµ¼°¤Ê¥É¥á¥¤¥ó̾¤òŸ³«¤¹¤ë¡£
175 ¤½¤Î°µ½Ì¤µ¤ì¤¿Ì¾Á°¤Ï¡¢Ì䤤¹ç¤ï¤»¡¢¤Þ¤¿¤Ï±þÅú¥á¥Ã¥»¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Æ¡¢
176 \fImsg\fP ¤¬¥á¥Ã¥»¡¼¥¸¤ÎËÁƬ¤ò»Ø¤¹¡£
177 .PP
178 ¥ì¥¾¥ë¥Ð¡¦¥ë¡¼¥Á¥ó¤Ï¡¢\fI<resolv.h>\fP ¤ËÄêµÁ¤µ¤ì¤¿ \fI_res\fP ¹½Â¤ÂΤË
179 ´Þ¤Þ¤ì¤Æ¤¤¤ëÁ´ÂÎŪ¤ÊÀßÄê¤È¾õÂ֤ξðÊó¤ò»ÈÍѤ¹¤ë¡£
180 Ä̾ï¥æ¡¼¥¶¡¼¤ËÁàºî¤Ç¤­¤ë¹àÌܤϠ\fI_res.options\fP ¤À¤±¤Ç¤¢¤ë¡£
181 ¤³¤Î¹àÌܤϰʲ¼¤Î¥ª¥×¥·¥ç¥ó¤Î¥Ó¥Ã¥Èñ°Ì¤ÎÏÀÍýϤˤǤ­¤ë¡£
182 .TP
183 .B RES_INIT
184 .BR res_init ()
185 ¤¬¸Æ¤Ó½Ð¤µ¤ì¤Æ¤¤¤ì¤Ð¿¿¡£
186 .TP
187 .B RES_DEBUG
188 ¥Ç¥Ð¥Ã¥°¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¡£
189 .TP
190 .B RES_AAONLY
191 ¸¢°ÒÉÕ¤±¤µ¤ì¤¿ (authoritative) ²óÅú¤Î¤ß¼õ¤±Æþ¤ì¤ë¡£
192 .BR res_send ()
193 ¤Ï¡¢ºÇ½ªÅª¤Ë¸¢°ÒÉÕ¤±¤µ¤ì¤¿²óÅú¤òÆÀ¤é¤ì¤ë¤«¡¢¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤ë
194 ¤Þ¤Ç³¹Ô¤¹¤ë¡£
195 [¸½ºß¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤]
196 .TP
197 .B RES_USEVC
198 Ì䤤¹ç¤ï¤»¤Ë UDP ¥Ç¡¼¥¿¥°¥é¥à¤Ç¤Ï¤Ê¤¯ TCP Àܳ¤òÍѤ¤¤ë¡£
199 .TP
200 .B RES_PRIMARY
201 ¥×¥é¥¤¥Þ¥ê¡¦¥É¥á¥¤¥ó¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Î¤ßÌ䤤¹ç¤ï¤»¤ë¡£
202 .TP
203 .B RES_IGNTC
204 ÀÚ¤êµÍ¤á¥¨¥é¡¼ (truncation error) ¤ò̵»ë¤¹¤ë¡£TCP ¤Ç¥ê¥È¥é¥¤¤·¤Ê¤¤¡£
205 [¸½ºß¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤]
206 .TP
207 .B RES_RECURSE
208 ºÆµ¢Í×µá (recursion desired) ¥Ó¥Ã¥È¤òÌ䤤¹ç¤ï¤»¤ËÀßÄꤹ¤ë¡£
209 ºÆµ¢¤Ï
210 .BR res_send ()
211 ¤Ç¤Ï¤Ê¤¯¥É¥á¥¤¥ó¥Í¡¼¥à¥µ¡¼¥Ð¡¼¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£
212 [¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú]
213 .TP
214 .B RES_DEFNAMES
215 ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢
216 .BR res_search ()
217 ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥É¥á¥¤¥ó̾¤ò°ìÉôʬ
218 ¤Î¤ß¤«¤é¤Ê¤ë̾Á°¡¢¤¹¤Ê¤ï¤Á¥É¥Ã¥È¤ò´Þ¤Þ¤Ê¤¤Ì¾Á°¤ËÉÕ¤±²Ã¤¨¤ë¡£
219 [¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú]
220 .TP
221 .B RES_STAYOPEN
222 Ì䤤¹ç¤ï¤»Ãæ¤Ë TCP Àܳ¤òÊݤĤ¿¤á
223 .B RES_USEVC
224 ¤È¶¦¤ËÍѤ¤¤é¤ì¤ë¡£
225 .TP
226 .B RES_DNSRCH
227 ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢
228 .BR res_search ()
229 ¤Ï¸½ºß¤Î¥É¥á¥¤¥ó¤ª¤è¤Ó¿Æ¥É¥á¥¤¥ó¤Î
230 ¥Û¥¹¥È̾¤òõ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï
231 .BR gethostbyname (3)
232 ¤ÇÍѤ¤¤é¤ì¤ë¡£
233 [¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú]
234 .SH ÊÖ¤êÃÍ
235 .BR res_init ()
236 ´Ø¿ô¤ÏÀ®¸ù¤¹¤ì¤Ð 0 ¤ò¡¢¥¨¥é¡¼¤¬È¯À¸¤¹¤ì¤Ð \-1 ¤òÊÖ¤¹¡£
237 .PP
238 .BR res_query (),
239 .BR res_search (),
240 .BR res_querydomain (),
241 .BR res_mkquery (),
242 .BR res_send ()
243 ´Ø¿ô¤Ï±þÅú¤ÎŤµ¤òÊÖ¤¹¡£
244 ¤Þ¤¿¡¢¥¨¥é¡¼¤¬È¯À¸¤¹¤ì¤Ð \-1 ¤òÊÖ¤¹¡£
245 .PP
246 .BR dn_comp ()
247 ¤È
248 .BR dn_expand ()
249 ´Ø¿ô¤Ï°µ½Ì¤µ¤ì¤¿¥É¥á¥¤¥ó̾¤ÎŤµ¤òÊÖ¤¹¡£
250 ¤Þ¤¿¡¢¥¨¥é¡¼¤¬È¯À¸¤¹¤ì¤Ð \-1 ¤òÊÖ¤¹¡£
251 .SH ¥Õ¥¡¥¤¥ë
252 .nf
253 /etc/resolv.conf          ¥ì¥¾¥ë¥ÐÀßÄê¥Õ¥¡¥¤¥ë
254 /etc/host.conf            ¥ì¥¾¥ë¥ÐÀßÄê¥Õ¥¡¥¤¥ë
255 .fi
256 .SH ½àµò
257 4.3BSD.
258 .SH ´ØÏ¢¹àÌÜ
259 .BR gethostbyname (3),
260 .BR resolv.conf (5),
261 .BR resolver (5),
262 .BR hostname (7),
263 .BR named (8)