Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

µC/DNSc run-time configuration is based on a structure that contains different configuration sections with many parameter settings. This section describes the instance run-time configuration settings, and should provide you an in-depth understanding of all parameters configuration. You will also discover which settings to modify in order to enhance the functionalities and the performances. Refer to the configuration field description section for further details.

 DNSc Run-time Configuration Structure

Code Block
languagecpp
const  DNSc_CFG  DNSc_Cfg = {
    /* ---------------- MEMORY ALLOCATION ---------------- */
    DEF_NULL,                       /* .MemSegPtr          */
 
    /* ----------------- DEFAULT SERVER ------------------ */
   "8.8.8.8",                       /* .ServerDfltPtr      */
 
    /* --------------- CACHE CONFIGURATION --------------- */
    255,                            /* .HostNameLenMax     */
    2,                              /* .CacheEntriesMaxNbr */
    1,                              /* .AddrIPv4MaxPerHost */
    1,                              /* .AddrIPv6MaxPerHost */
 
    /* -------------- REQUEST CONFIGURATION -------------- */
    DNSc_DFLT_TASK_DLY_MS,          /* .TaskDly_ms         */
    DNSc_DFLT_REQ_RETRY_NBR_MAX,    /* .ReqRetryNbrMax     */
    DNSc_DFLT_REQ_RETRY_TIMEOUT_MS, /* .ReqRetryTimeout_ms */
};

...

Structure Field

Type

Description

Possible Values

MemSegPtr

MEM_SEG 

It is possible allocate all the memory used by the DNS client in a specific memory location by setting a memory segment in the configuration

DEF_NULL to allocate the memory from the HEAP

Pointer to a memory segment to allocate from (see µC/LIB - Memory Segments)

...

Structure Field

Type

Description

Possible Values

ServerDfltPtr

CPU_CHAR

 The default server used by the DNS client.

Pointer to a string that contains the IP address.

...

Structure Field

Type

Description

Possible Values

HostNameLenMax

CPU_INT16U

 Maximum host name length that can be requested.

MUST be >= 2

CacheEntriesMaxNbr

CPU_INT08U

 
Number of entries the cache can contains.

MUST be >= 1

AddrIPv4MaxPerHost

CPU_INT08U

 
Maximum number of IPv4 addresses that can be stored by a host in the cache. Only valid if IPv4 is enabled (see Network Stack Configuration)

MUST be >= 0

AddrIPv6MaxPerHost

CPU_INT08U

 
Maximum number of IPv6 addresses that can be stored by a host in the cache. Only valid if IPv4 is enabled (see Network Stack Configuration)

MUST be >= 0

Request configuration

 

Structure Field

Type

Description

Possible Values

TaskDly_ms

CPU_INT08U

Configure task delay in integer milliseconds 

When asynchronous mode is enabled the task can be periodically to allow other task with lower priority to run.

Default value: [DNSc_DFLT_TASK_DLY_MS] = 50ms

MUST be >= 1

ReqRetryNbrMax

CPU_INT08U

 
Configure maximum of request resolution retry.

Default value: [DNSc_DFLT_REQ_RETRY_NBR_MAX] = 2 

MUST be >= 1

ReqRetryTimeout_ms

CPU_INT16U

 
Configure timeout before a request resolution retry

Default value: [DNSc_DFLT_REQ_RETRY_TIMEOUT_MS] = 1000ms

MUST be >= 100

 

DNSc Run-time Configuration Structure

 

...