void dns_resolver_process(dns_resolver_t *resolver)
Process pending DNS operations.
Definition dns.c:958
dns_request_t * dns_resolve_async(dns_resolver_t *resolver, const char *hostname, const char *service, dns_callback_t callback, void *user_data)
Start asynchronous DNS resolution.
Definition dns.c:895
bool dns_request_cancel(dns_request_t *request)
Cancel a pending DNS request.
Definition dns.c:948
void dns_resolver_destroy(dns_resolver_t *resolver)
Destroy a DNS resolver instance.
Definition dns.c:866
dns_resolver_t * dns_resolver_create(const dns_config_t *config)
Create a new DNS resolver instance.
Definition dns.c:845
dns_config_t dns_config_default(void)
Get default configuration.
Definition dns.c:836
const char * dns_error_string(int error_code)
Get human-readable error message.
Definition dns.c:973
void(* dns_callback_t)(dns_result_t *result, void *user_data)
Callback function type for asynchronous DNS resolution.
Definition dns.h:75
void dns_result_free(dns_result_t *result)
Free DNS result structure.
Definition dns.c:964
Structure representing a resolved network address.
Definition dns.h:43
int family
Definition dns.h:45
int socktype
Definition dns.h:46
int protocol
Definition dns.h:47
Configuration structure for DNS resolver.
Definition dns.h:83
bool prefer_ipv4
Definition dns.h:86
bool prefer_ipv6
Definition dns.h:87
int timeout_ms
Definition dns.h:84
int max_concurrent
Definition dns.h:85
Internal DNS request structure.
Definition dns.c:69
Internal DNS resolver structure.
Definition dns.c:100
Structure containing DNS resolution results.
Definition dns.h:56
dns_address_t * addresses
Definition dns.h:57
int error_code
Definition dns.h:59
size_t count
Definition dns.h:58
char * hostname
Definition dns.h:60