getdns_hostname(3)
π getdns_hostname β bestie edition π
okay so before we even get into it: this is a page from the getdns manual, section 3, and it's all about getdns_hostname. reverse lookups. the whole "i have an address, who lives there" situation. it's giving detective energy fr fr πβ¨
πΈ NAME πΈ
getdns_hostname, getdns_hostname_sync β get hostname by address
π LIBRARY π
DNS Resolver library (libgetdns, -lgetdns)
β¨ SYNOPSIS β¨
#include <getdns.h>
getdns_return_t
getdns_hostname (getdns_context *context,
getdns_dict *address,
getdns_dict *extensions,
void *userarg,
getdns_transaction_t *transaction_id,
getdns_callback_t callbackfn)
getdns_return_t
getdns_hostname_sync (getdns_context *context,
getdns_dict *address,
getdns_dict *extensions,
getdns_dict **response)
π¦ DESCRIPTION π¦
so getdns_hostname(3) and getdns_hostname_sync are the public entry points into the getdns API library, and what they do is retrieve the host name given an address. that's it, that's the job. you hand it an address, it goes and finds out what name is attached to it. queen behavior. π
here's the whole cast of characters:
- context β a pointer to the previously created DNS context that's gonna be used with this DNS request. see
getdns_context(3) if you need the lore. - address β a
getdns_dictstructure containing two names:address_type(whose value is bindata and is either"IPv4"or"IPv6") andaddress_datawhose value is bindata. yes bestie, both of those. you can't skip one. π - extensions β extensions for this request,
NULLif there are no extensions. seelibgetdns(3) for a detailed description of extensions. - userarg β returned to the callback function untouched, can be
NULL. it's like a little gift you hand over and get back exactly the way you gave it. no notes. π - transaction_id β populated by the API and used to identify the callback (for example to
getdns_cancel_callback), can beNULL, set to0if the function fails. - callbackfn β a non-
NULLpointer to a callback function defined by the application, typically used to process the response. Only the asynchronous signature accepts a callback function, the synchronous signature does not include a callback. Seelibgetdns(3) for a more detailed discussion of callback functions. - response β a
getdns_dicttype is returned inresponseand always contains at least three names:replies_full(a list containing the DNS response as binary data),replies_tree(a list containing the parsed DNS response data) andstatus(an int). The storage associated with this must be freed by a call togetdns_free_sync_request_memory(3).
not me reminding you again: free that memory. getdns_free_sync_request_memory (3). do not leave it hanging, that's not the vibe. π
π RETURN VALUES π
Upon successful completion the functions return GETDNS_RETURN_GOOD , otherwise the following error values are returned:
GETDNS_RETURN_BAD_CONTEXTβ if the context pointer is invalid or the context has internal deficienciesGETDNS_RETURN_BAD_DOMAIN_NAMEβ if the domain name passed to the function is invalidGETDNS_RETURN_EXTENSION_MISFORMATβ if the data type specified in one or more of the extensions does not match the specificationsGETDNS_RETURN_GENERIC_ERRORβ if some problem was encountered in the function not addressed by one of the more specific return codesGETDNS_RETURN_INVALID PARAMETERβ if one or more parameters has an invalid valueGETDNS_RETURN_MEMORY_ERRORβ if unable to allocate the memory requiredGETDNS_RETURN_NO_SUCH_EXTENSIONβ if one or more of the strings specified in the extensions are not valid
π the values of status in the response parameter π
GETDNS_RESPSTATUS_GOODβ if at least one response was returnedGETDNS_RESPSTATUS_NO_NAMEβ if queries for the name yielded all negative responsesGETDNS_RESPSTATUS_ALL_TIMEOUTβ if all queries for the name timed outGETDNS_RESPSTATUS_NO_SECURE_ANSWERSβ if only secure replies accepted (per context) and at least one response was received but no DNS responses were secure through DNSSEC
For a more detailed explanation of the response object see libgetdns (3)
π EXAMPLES π
TBD
ik ik, TBD. the examples are still in the group chat typingβ¦ bestie is working on it π«Ά
π§ FILES π§
/etc/hosts
/etc/resolv.conf
π SEE ALSO π
libgetdns(3), getdns_context(3), getdns_free_sync_request_memory(3), getdns_general(3), getdns_address(3), getdns_service(3),
okay that's the whole page, go forth and resolve some names πβ¨
this was getdns 1.7.3, dated December 2015 β periodt, that's a wrap ππ¦π
π¦ where this page comes from
- alpine 3.24: getdns-doc 1.7.3-r0 Β· BSD-3-Clause
- arch rolling: getdns 1.7.3-2 Β· BSD
- epel 10: getdns-devel 1.7.3-9.el10_2 Β· BSD-3-Clause
- epel 9: getdns-devel 1.7.3-1.el9 Β· BSD-3-Clause
- fedora 43: getdns-devel 1.7.3-9.fc43 Β· BSD-3-Clause
- fedora 43: getdns-devel 1.7.3-9.fc43 Β· BSD-3-Clause
- fedora 44: getdns-devel 1.7.3-10.fc44 Β· BSD-3-Clause
- fedora 44: getdns-devel 1.7.3-10.fc44 Β· BSD-3-Clause
- nixpkgs unstable: getdns 1.7.3
- ubuntu resolute: libgetdns-dev 1.7.3-3 Β· BSD-3-Clause
- ubuntu stonking: libgetdns-dev 1.7.3-5build1 Β· BSD-3-Clause
- Copyright (c) 2013, NLNet Labs, Verisign, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms