Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
|
DNS resolving library. More...
#include <zephyr/kernel.h>
#include <zephyr/net/net_ip.h>
#include <zephyr/net/net_if.h>
#include <zephyr/net/socket_poll.h>
#include <zephyr/net/net_core.h>
Go to the source code of this file.
Data Structures | |
struct | dns_resolve_txt |
struct | dns_resolve_srv |
struct | dns_addrinfo |
Address info struct is passed to callback that gets all the results. More... | |
struct | dns_resolve_context |
DNS resolve context structure. More... | |
struct | dns_resolve_context::dns_server |
List of configured DNS servers. More... | |
struct | dns_resolve_context::dns_pending_query |
Result callbacks. More... |
Macros | |
#define | DNS_MAX_NAME_SIZE 20 |
Max size of the resolved name. | |
#define | DNS_MAX_TEXT_SIZE 64 |
Max size of the resolved txt record. |
Typedefs | |
typedef void(* | dns_resolve_cb_t) (enum dns_resolve_status status, struct dns_addrinfo *info, void *user_data) |
DNS resolve callback. | |
typedef void(* | dns_resolve_pkt_fw_cb_t) (struct net_buf *dns_data, size_t buf_len, void *user_data) |
DNS resolve callback which passes the received packet from DNS server to application. |
Functions | |
int | dns_resolve_init (struct dns_resolve_context *ctx, const char *dns_servers_str[], const struct sockaddr *dns_servers_sa[]) |
Init DNS resolving context. | |
int | dns_resolve_init_default (struct dns_resolve_context *ctx) |
Init DNS resolving context with default Kconfig options. | |
int | dns_resolve_close (struct dns_resolve_context *ctx) |
Close DNS resolving context. | |
int | dns_resolve_reconfigure (struct dns_resolve_context *ctx, const char *servers_str[], const struct sockaddr *servers_sa[], enum dns_server_source source) |
Reconfigure DNS resolving context. | |
int | dns_resolve_reconfigure_with_interfaces (struct dns_resolve_context *ctx, const char *servers_str[], const struct sockaddr *servers_sa[], int interfaces[], enum dns_server_source source) |
Reconfigure DNS resolving context with new server list and allowing servers to be specified to a specific network interface. | |
int | dns_resolve_remove (struct dns_resolve_context *ctx, int if_index) |
Remove servers from the DNS resolving context. | |
int | dns_resolve_remove_source (struct dns_resolve_context *ctx, int if_index, enum dns_server_source source) |
Remove servers from the DNS resolving context that were added by a specific source. | |
int | dns_resolve_cancel (struct dns_resolve_context *ctx, uint16_t dns_id) |
Cancel a pending DNS query. | |
int | dns_resolve_cancel_with_name (struct dns_resolve_context *ctx, uint16_t dns_id, const char *query_name, enum dns_query_type query_type) |
Cancel a pending DNS query using id, name and type. | |
int | dns_resolve_name (struct dns_resolve_context *ctx, const char *query, enum dns_query_type type, uint16_t *dns_id, dns_resolve_cb_t cb, void *user_data, int32_t timeout) |
Resolve DNS name. | |
static int | dns_resolve_service (struct dns_resolve_context *ctx, const char *query, uint16_t *dns_id, dns_resolve_cb_t cb, void *user_data, int32_t timeout) |
Resolve DNS service. | |
struct dns_resolve_context * | dns_resolve_get_default (void) |
Get default DNS context. | |
static void | dns_resolve_enable_packet_forwarding (struct dns_resolve_context *ctx, dns_resolve_pkt_fw_cb_t cb) |
Installs the packet forwarding callback to the DNS resolving context. | |
static int | dns_get_addr_info (const char *query, enum dns_query_type type, uint16_t *dns_id, dns_resolve_cb_t cb, void *user_data, int32_t timeout) |
Get IP address info from DNS. | |
static int | dns_cancel_addr_info (uint16_t dns_id) |
Cancel a pending DNS query. |
DNS resolving library.
An API for applications to resolve a DNS name.