Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
dns Infuse DNS APIs

Infuse DNS API. More...

Data Structures

struct  infuse_async_dns_context
 Async query context for infuse_async_dns. More...

Macros

#define INFUSE_ASYNC_DNS_RESULT   0
#define INFUSE_ASYNC_DNS_COMPLETE   1

Typedefs

typedef void(* infuse_async_dns_cb) (int result, struct sockaddr *addr, socklen_t addrlen, struct infuse_async_dns_context *cb_ctx)
 Callback when DNS results are received.

Functions

int infuse_sync_dns (const char *host, uint16_t port, int family, int socktype, struct sockaddr *addr, socklen_t *addrlen)
 Perform a DNS query for a host.
int infuse_async_dns (const char *host, int family, struct infuse_async_dns_context *context, int32_t timeout_ms)
 Perform an asynchronous DNS query for a host.

Detailed Description

Infuse DNS API.

Macro Definition Documentation

◆ INFUSE_ASYNC_DNS_COMPLETE

#define INFUSE_ASYNC_DNS_COMPLETE   1

◆ INFUSE_ASYNC_DNS_RESULT

#define INFUSE_ASYNC_DNS_RESULT   0

Typedef Documentation

◆ infuse_async_dns_cb

typedef void(* infuse_async_dns_cb) (int result, struct sockaddr *addr, socklen_t addrlen, struct infuse_async_dns_context *cb_ctx)

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/net/dns.h>

Callback when DNS results are received.

Parameters
resultINFUSE_ASYNC_DNS_RESULT, INFUSE_ASYNC_DNS_COMPLETE, or negative errno
addrFor INFUSE_ASYNC_DNS_RESULT, the address associated with the query
addrlenFor INFUSE_ASYNC_DNS_RESULT, the length of the address
cb_ctxinfuse_async_dns_context provided to infuse_async_dns

Function Documentation

◆ infuse_async_dns()

int infuse_async_dns ( const char * host,
int family,
struct infuse_async_dns_context * context,
int32_t timeout_ms )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/net/dns.h>

Perform an asynchronous DNS query for a host.

Parameters
hostHost to lookup
familyProtocol family hint
contextContext package for callbacks. Must remain valid until either INFUSE_ASYNC_DNS_COMPLETE or error callback.
timeout_msTimeout for query in milliseconds
Return values
0if query successfully started
-errnoother return value from dns_get_addr_info

◆ infuse_sync_dns()

int infuse_sync_dns ( const char * host,
uint16_t port,
int family,
int socktype,
struct sockaddr * addr,
socklen_t * addrlen )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/net/dns.h>

Perform a DNS query for a host.

Note
Also populates port number
Parameters
hostHost to lookup
portPort number of host
familyProtocol family hint
socktypeSocket type hint
addrOutput storage for host address
addrlenOutput length of address
Return values
0on success
-errnoon failure