resolver(3) Library Functions Manual resolver(3) res_ninit, res_nquery, res_nsearch, res_nquerydomain, res_nmkquery, res_nsend, res_nclose, res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, dn_comp, dn_expand - (libresolv -lresolv) #include #include #include struct __res_state; typedef struct __res_state *res_state; int res_ninit(res_state statep); void res_nclose(res_state statep); int res_nquery(int anslen; res_state statep, const char *dname, int class, int type, unsigned char answer[anslen], int anslen); int res_nsearch(int anslen; res_state statep, const char *dname, int class, int type, unsigned char answer[anslen], int anslen); int res_nquerydomain(int anslen; res_state statep, const char *name, const char *domain, int class, int type, unsigned char answer[anslen], int anslen); int res_nmkquery(int datalen, int buflen; res_state statep, int op, const char *dname, int class, int type, const unsigned char data[datalen], int datalen, const unsigned char *newrr, unsigned char buf[buflen], int buflen); int res_nsend(int msglen, int anslen; res_state statep, const unsigned char msg[msglen], int msglen, unsigned char answer[anslen], int anslen); int dn_comp(int length; const char *exp_dn, unsigned char comp_dn[length], int length, unsigned char **dnptrs, unsigned char **lastdnptr); int dn_expand(int length; const unsigned char *msg, const unsigned char *eomorig, const unsigned char *comp_dn, char exp_dn[length], int length); [[deprecated]] extern struct __res_state _res; [[deprecated]] int res_init(void); [[deprecated]] int res_query(int anslen; const char *dname, int class, int type, unsigned char answer[anslen], int anslen); [[deprecated]] int res_search(int anslen; const char *dname, int class, int type, unsigned char answer[anslen], int anslen); [[deprecated]] int res_querydomain(int anslen; const char *name, const char *domain, int class, int type, unsigned char answer[anslen], int anslen); [[deprecated]] int res_mkquery(int datalen, int buflen; int op, const char *dname, int class, int type, const unsigned char data[datalen], int datalen, const unsigned char *newrr, unsigned char buf[buflen], int buflen); [[deprecated]] int res_send(int msglen, int anslen; const unsigned char msg[msglen], int msglen, unsigned char answer[anslen], int anslen); : ( glibc ) . . . res_init() res_query() () _res . BIND 8.2 res_ninit() res_nquery() res_state . res_ninit() res_init() ( resolv.conf(5)) () . . . LOCALDOMAIN. res_ninit() res_init() . res_ninit() res_nclose() res_ninit() res_nquery(). res_nquery() res_query() name type class . answer anslen . res_nsearch() res_search() res_nquery() res_query() RES_DEFNAMES RES_DNSRCH ( _res ). res_nquerydomain() res_querydomain() res_nquery()/res_query() name domain. res_nquery()/res_query(). res_nmkquery() res_mkquery() buf buflen dname. op ( QUERY): QUERY . IQUERY . glibc 2.26 DNS . NS_NOTIFY_OP SOA ( ). newrr . res_nsend() res_send() msg msglen answer anslen. res_ninit()/res_init() . dn_comp() exp_dn comp_dn length. dnptrs . NULL. lastdnptr. dnptr NULL . lastdnptr NULL . dn_expand() comp_dn exp_dn length. msg . __res_state ( statep _res ). options. "" : RES_INIT res_ninit() res_init(). RES_DEBUG . glibc . RES_AAONLY ( glibc 2.25) . res_send() . glibc 2.24 glibc 2.25 . RES_USEVC TCP UDP. RES_PRIMARY ( glibc 2.25) . glibc 2.24 glibc 2.25 . RES_IGNTC . TCP. RES_RECURSE . res_send(). [ ]. RES_DEFNAMES res_search() -- . [ ]. RES_STAYOPEN RES_USEVC TCP . RES_DNSRCH res_search() . gethostbyname(3). [ ]. RES_INSECURE1 . glibc RES_DEBUG ( ). RES_INSECURE2 . glibc RES_DEBUG ( ). RES_NOALIASES HOSTALIASES. RES_USE_INET6 AAAA A gethostbyname(3) IPv4 " " IPv6 AAAA A . glibc 2.25 getaddrinfo(3) gethostbyname(3). RES_ROTATE . . RES_NOCHECKNAME ( glibc 2.25) BIND (_) ASCII . glibc 2.24 glibc 2.25 . RES_KEEPTSIG ( glibc 2.25) TSIG. glibc 2.24 glibc 2.25 . RES_BLAST ( glibc 2.25) . glibc 2.24 glibc 2.25 . RES_USEBSTRING (glibc 2.3.4 glibc 2.24) IPv6 RFC 2673 ( ) nibble. glibc 2.25 DNS . RES_NOIP6DOTINT (glibc 2.24 ) ip6.arpa IPv6 ip6.int glibc 2.3.4. glibc 2.24 . glibc 2.25 . RES_USE_EDNS0 ( glibc 2.6) DNS (EDNS0) RFC 2671. RES_SNGLKUP ( glibc 2.10) glibc IPv4 IPv6 glibc 2.9. DNS . glibc IPv6 IPv4 ( ). RES_SNGLKUPREOP RES_SNGLKUP . RES_USE_DNSSEC DNSSEC OK OPT. RES_USE_EDNS0. RES_NOTLDQUERY (TLD). RES_DEFAULT : RES_RECURSE RES_DEFNAMES RES_DNSRCH RES_NOIP6DOTINT. res_ninit() res_init() 0 -1 . res_nquery() res_query() res_nsearch() res_search() res_nquerydomain() res_querydomain() res_nmkquery() res_mkquery() res_nsend() res_send() -1 . dn_comp() dn_expand() -1 . res_nquery() res_query() res_nsearch() res_search() res_nquerydomain() res_querydomain() h_errno ( gethostbyname(3)) . /etc/resolv.conf (resolver) /etc/host.conf (resolver) attributes(7). +----------------------+------------------------------------+---------------------------------------------------------------------------------------------+ | | | | +----------------------+------------------------------------+---------------------------------------------------------------------------------------------+ |res_ninit(), | | (locale) (MT-Safe) | |res_nclose(), | | | |res_nquery(), | | | |res_nsearch(), | | | |res_nquerydomain(), | | | |res_nsend() | | | +----------------------+------------------------------------+---------------------------------------------------------------------------------------------+ |res_nmkquery(), | | MT-Safe | |dn_comp(), | | | |dn_expand() | | | +----------------------+------------------------------------+---------------------------------------------------------------------------------------------+ . 4.3BSD. gethostbyname(3) resolv.conf(5) resolver(5) hostname(7) named(8) C resolv/README. 3 . . : . 6.18 8 2026 resolver(3)