📄 ares_send.3
字号:
.\".\" Copyright 1998 by the Massachusetts Institute of Technology..\".\" Permission to use, copy, modify, and distribute this.\" software and its documentation for any purpose and without.\" fee is hereby granted, provided that the above copyright.\" notice appear in all copies and that both that copyright.\" notice and this permission notice appear in supporting.\" documentation, and that the name of M.I.T. not be used in.\" advertising or publicity pertaining to distribution of the.\" software without specific, written prior permission..\" M.I.T. makes no representations about the suitability of.\" this software for any purpose. It is provided "as is".\" without express or implied warranty..\".TH ARES_SEND 3 "25 July 1998".SH NAMEares_send \- Initiate a DNS query.SH SYNOPSIS.nf.B #include <ares.h>.PP.B typedef void (*ares_callback)(void *\fIarg\fP, int \fIstatus\fP,.B unsigned char *\fIabuf\fP, int \fIalen\fP).PP.Bvoid ares_send(ares_channel \fIchannel\fP, const unsigned char *\fIqbuf\fP,.B int \fIqlen\fP, ares_callback \fIcallback\fP, void *\fIarg\fP).fi.SH DESCRIPTIONThe.B ares_sendfunction initiates a DNS query on the name service channel identifiedby.IR channel .The parameters.I qbufand.I qlengive the DNS query, which should already have been formatted accordingto the DNS protocol. When the query is complete or has failed, theares library will invoke.IR callback .Completion or failure of the query may happen immediately, or mayhappen during a later call to.BR ares_process (3)or.BR ares_destroy (3)..PPThe callback argument.I argis copied from the.B ares_sendargument.IR arg .The callback argument.I statusindicates whether the query succeeded and, if not, how it failed. Itmay have any of the following values:.TP 19.B ARES_SUCCESSThe query completed..TP 19.B ARES_EBADQUERYThe query buffer was poorly formed (was not long enough for a DNSheader or was too long for TCP transmission)..TP 19.B ARES_ETIMEOUTNo name servers responded within the timeout period..TP 19.B ARES_ECONNREFUSEDNo name servers could be contacted..TP 19.B ARES_ENOMEMMemory was exhausted..TP 19.B ARES_EDESTRUCTIONThe name service channel.I channelis being destroyed; the query will not be completed..PPIf the query completed, the callback argument.I abufpoints to a result buffer of length.IR alen .If the query did not complete,.I abufwill be NULL and.I alenwill be 0..PPUnless the flag.B ARES_FLAG_NOCHECKRESPwas set at channel initialization time,.B ares_sendwill normally ignore responses whose questions do not match thequestions in.IR qbuf ,as well as responses with reply codes of.BR SERVFAIL ,.BR NOTIMP ,and.BR REFUSED .Unlike other query functions in the ares library, however,.B ares_senddoes not inspect the header of the reply packet to determine the errorstatus, so a callback status of.B ARES_SUCCESSdoes not reflect as much about the response as for other queryfunctions..SH SEE ALSO.BR ares_process (3).SH AUTHORGreg Hudson, MIT Information Systems.brCopyright 1998 by the Massachusetts Institute of Technology.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -