<h2>Overview<aclass="headerlink"href="#overview"title="Permalink to this headline"></a></h2>
<p>mDNS is a multicast UDP service that is used to provide local network service and host discovery.</p>
<p>mDNS is installed by default on most operating systems or is available as separate package. On <codeclass="docutils literal notranslate"><spanclass="pre">Mac</span><spanclass="pre">OS</span></code> it is installed by default and is called <codeclass="docutils literal notranslate"><spanclass="pre">Bonjour</span></code>. Apple releases an installer for <codeclass="docutils literal notranslate"><spanclass="pre">Windows</span></code> that can be found <aclass="reference external"href="https://support.apple.com/downloads/bonjour%2520for%2520windows">on Apple’s support page</a>. On <codeclass="docutils literal notranslate"><spanclass="pre">Linux</span></code>, mDNS is provided by <aclass="reference external"href="https://github.com/lathiat/avahi">avahi</a> and is usually installed by default.</p>
<sectionid="mdns-properties">
<h3>mDNS Properties<aclass="headerlink"href="#mdns-properties"title="Permalink to this headline"></a></h3>
<blockquote>
<div><ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">hostname</span></code>: the hostname that the device will respond to. If not set, the <codeclass="docutils literal notranslate"><spanclass="pre">hostname</span></code> will be read from the interface. Example: <codeclass="docutils literal notranslate"><spanclass="pre">my-esp32</span></code> will resolve to <codeclass="docutils literal notranslate"><spanclass="pre">my-esp32.local</span></code></p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">default_instance</span></code>: friendly name for your device, like <codeclass="docutils literal notranslate"><spanclass="pre">Jhon's</span><spanclass="pre">ESP32</span><spanclass="pre">Thing</span></code>. If not set, <codeclass="docutils literal notranslate"><spanclass="pre">hostname</span></code> will be used.</p></li>
</ul>
</div></blockquote>
<p>Example method to start mDNS for the STA interface and set <codeclass="docutils literal notranslate"><spanclass="pre">hostname</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">default_instance</span></code>:</p>
<h3>mDNS Services<aclass="headerlink"href="#mdns-services"title="Permalink to this headline"></a></h3>
<p>mDNS can advertise information about network services that your device offers. Each service is defined by a few properties.</p>
<blockquote>
<div><ulclass="simple">
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">instance_name</span></code>: friendly name for your service, like <codeclass="docutils literal notranslate"><spanclass="pre">Jhon's</span><spanclass="pre">EESP32</span><spanclass="pre">Web</span><spanclass="pre">Server</span></code>. If not defined, <codeclass="docutils literal notranslate"><spanclass="pre">default_instance</span></code> will be used.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">service_type</span></code>: (required) service type, prepended with underscore. Some common types can be found <aclass="reference external"href="http://www.dns-sd.org/serviceTypes.html">here</a>.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">proto</span></code>: (required) protocol that the service runs on, prepended with underscore. Example: <codeclass="docutils literal notranslate"><spanclass="pre">_tcp</span></code> or <codeclass="docutils literal notranslate"><spanclass="pre">_udp</span></code></p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">port</span></code>: (required) network port that the service runs on</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">txt</span></code>: <codeclass="docutils literal notranslate"><spanclass="pre">{var,</span><spanclass="pre">val}</span></code> array of strings, used to define properties for your service</p></li>
</ul>
</div></blockquote>
<p>Example method to add a few services and different properties:</p>
<spanclass="w"></span><spanclass="c1">//NOTE: services must be added before their properties can be set</span>
<spanclass="w"></span><spanclass="c1">//use custom instance for the web server</span>
<spanclass="w"></span><spanclass="n">mdns_service_instance_name_set</span><spanclass="p">(</span><spanclass="s">"_http"</span><spanclass="p">,</span><spanclass="w"></span><spanclass="s">"_tcp"</span><spanclass="p">,</span><spanclass="w"></span><spanclass="s">"Jhon's ESP32 Web Server"</span><spanclass="p">);</span><spanclass="w"></span>
<h3>mDNS Query<aclass="headerlink"href="#mdns-query"title="Permalink to this headline"></a></h3>
<p>mDNS provides methods for browsing for services and resolving host’s IP/IPv6 addresses.</p>
<p>Results for services are returned as a linked list of <codeclass="docutils literal notranslate"><spanclass="pre">mdns_result_t</span></code> objects.</p>
<spanclass="w"></span><spanclass="n">printf</span><spanclass="p">(</span><spanclass="s">"Host was not found!"</span><spanclass="p">);</span><spanclass="w"></span>
<spanclass="w"></span><spanclass="n">printf</span><spanclass="p">(</span><spanclass="s">" A : "</span><spanclass="w"></span><spanclass="n">IPSTR</span><spanclass="w"></span><spanclass="s">"</span><spanclass="se">\n</span><spanclass="s">"</span><spanclass="p">,</span><spanclass="w"></span><spanclass="n">IP2STR</span><spanclass="p">(</span><spanclass="o">&</span><spanclass="p">(</span><spanclass="n">a</span><spanclass="o">-></span><spanclass="n">addr</span><spanclass="p">.</span><spanclass="n">u_addr</span><spanclass="p">.</span><spanclass="n">ip4</span><spanclass="p">)));</span><spanclass="w"></span>
<h3>Performance Optimization<aclass="headerlink"href="#performance-optimization"title="Permalink to this headline"></a></h3>
</section>
<sectionid="execution-speed">
<h3>Execution Speed<aclass="headerlink"href="#execution-speed"title="Permalink to this headline"></a></h3>
<blockquote>
<div><ulclass="simple">
<li><p>mDNS creates a task with default low priority 1 <codeclass="docutils literal notranslate"><spanclass="pre">CONFIG_MDNS_TASK_PRIORITY</span></code> (If <codeclass="docutils literal notranslate"><spanclass="pre">CONFIG_FREERTOS_UNICORE</span></code> enabeled it pinned to CPU0 (<codeclass="docutils literal notranslate"><spanclass="pre">CONFIG_MDNS_TASK_AFFINITY</span></code>).</p></li>
</ul>
<p>Please check <aclass="reference external"href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/performance/speed.html">Maximizing Execution Speed</a> for more details.</p>
</div></blockquote>
</section>
<sectionid="minimizing-ram-usage">
<h3>Minimizing RAM Usage<aclass="headerlink"href="#minimizing-ram-usage"title="Permalink to this headline"></a></h3>
<ulclass="simple">
<li><p>mDNS creates a tasks with stack sizes configured by <codeclass="docutils literal notranslate"><spanclass="pre">CONFIG_MDNS_TASK_STACK_SIZE</span></code>.</p></li>
</ul>
<p>Please check <aclass="reference external"href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/performance/ram-usage.html">Minimizing RAM Usage</a> for more details.</p>
</section>
</section>
<sectionid="application-example">
<h2>Application Example<aclass="headerlink"href="#application-example"title="Permalink to this headline"></a></h2>
<spanid="_CPPv39mdns_initv"></span><spanid="_CPPv29mdns_initv"></span><spanid="mdns_init__void"></span><spanclass="target"id="mdns_8h_1ad323a4dfba3545c43ebda0f3f7c515e0"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_init</span></span></span><spanclass="sig-paren">(</span><spanclass="kt"><spanclass="pre">void</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv49mdns_initv"title="Permalink to this definition"></a><br/></dt>
<dd><p>Initialize mDNS on given interface. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><ulclass="simple">
<li><p>ESP_OK on success</p></li>
<li><p>ESP_ERR_INVALID_STATE when failed to register event handler</p></li>
<li><p>ESP_ERR_NO_MEM on memory error</p></li>
<li><p>ESP_FAIL when failed to start mdns task </p></li>
<spanid="_CPPv39mdns_freev"></span><spanid="_CPPv29mdns_freev"></span><spanid="mdns_free__void"></span><spanclass="target"id="mdns_8h_1a60085437d50474fff82bda1b027d9da3"></span><spanclass="kt"><spanclass="pre">void</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_free</span></span></span><spanclass="sig-paren">(</span><spanclass="kt"><spanclass="pre">void</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv49mdns_freev"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv317mdns_hostname_setPKc"></span><spanid="_CPPv217mdns_hostname_setPKc"></span><spanid="mdns_hostname_set__cCP"></span><spanclass="target"id="mdns_8h_1ac64252305d70be97d202f2edd5f44ccc"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_hostname_set</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">hostname</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv417mdns_hostname_setPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Set the hostname for mDNS server required if you want to advertise services. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>hostname</strong>– Hostname to set</p>
<spanid="_CPPv326mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t"></span><spanid="_CPPv226mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t"></span><spanid="mdns_delegate_hostname_add__cCP.mdns_ip_addr_tCP"></span><spanclass="target"id="mdns_8h_1aa569e098f34ab80e34ac76fbdca9aea7"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_delegate_hostname_add</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">hostname</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><aclass="reference internal"href="#_CPPv414mdns_ip_addr_t"title="mdns_ip_addr_t"><spanclass="n"><spanclass="pre">mdns_ip_addr_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">address_list</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Adds a hostname and address to be delegated A/AAAA queries will be replied for the hostname and services can be added to this host. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>hostname</strong>– Hostname to add </p></li>
<li><p><strong>address_list</strong>– The IP address list of the host</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>ESP_OK success</p></li>
<li><p>ESP_ERR_INVALID_STATE mDNS is not running</p></li>
<spanid="_CPPv329mdns_delegate_hostname_removePKc"></span><spanid="_CPPv229mdns_delegate_hostname_removePKc"></span><spanid="mdns_delegate_hostname_remove__cCP"></span><spanclass="target"id="mdns_8h_1aef8ff565fff40e32ebce1257592eb5e6"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_delegate_hostname_remove</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">hostname</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv429mdns_delegate_hostname_removePKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Remove a delegated hostname All the services added to this host will also be removed. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>hostname</strong>– Hostname to remove</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>ESP_OK success</p></li>
<li><p>ESP_ERR_INVALID_STATE mDNS is not running</p></li>
<spanid="_CPPv320mdns_hostname_existsPKc"></span><spanid="_CPPv220mdns_hostname_existsPKc"></span><spanid="mdns_hostname_exists__cCP"></span><spanclass="target"id="mdns_8h_1ad4c1b990b7435f889b64f1d5ba29bbc8"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_hostname_exists</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">hostname</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv420mdns_hostname_existsPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Query whether a hostname has been added. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>hostname</strong>– Hostname to query</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>true The hostname has been added.</p></li>
<li><p>false The hostname has not been added. </p></li>
<spanid="_CPPv322mdns_instance_name_setPKc"></span><spanid="_CPPv222mdns_instance_name_setPKc"></span><spanid="mdns_instance_name_set__cCP"></span><spanclass="target"id="mdns_8h_1a1d4b64b9a4eee80a09db4ecc3ddf9d69"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_instance_name_set</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">instance_name</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv422mdns_instance_name_setPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Set the default instance name for mDNS server. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>instance_name</strong>– Instance name to set</p>
<spanid="_CPPv316mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"></span><spanid="_CPPv216mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"></span><spanid="mdns_service_add__cCP.cCP.cCP.uint16_t.mdns_txt_item_tA.s"></span><spanclass="target"id="mdns_8h_1af0f82c5ac7d0a1c225b4b984e319a6fc"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_service_add</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">instance_name</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">service_type</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">proto</span></span>, <spanclass="n"><spanclass="pre">uint16_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">port</span></span>, <aclass="reference internal"href="#_CPPv415mdns_txt_item_t"title="mdns_txt_item_t"><spanclass="n"><spanclass="pre">mdns_txt_item_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">txt</span></span><spanclass="p"><spanclass="pre">[</span></span><spanclass="p"><spanclass="pre">]</span></span>, <spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">num_items</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Add service to mDNS server. </p>
<divclass="admonition note">
<pclass="admonition-title">Note</p>
<p>The value length of txt items will be automatically decided by strlen</p>
</div>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>instance_name</strong>– instance name to set. If NULL, global instance name or hostname will be used. Note that MDNS_MULTIPLE_INSTANCE config option needs to be enabled for adding multiple instances with the same instance type. </p></li>
<li><p><strong>service_type</strong>– service type (_http, _ftp, etc) </p></li>
<li><p><strong>proto</strong>– service protocol (_tcp, _udp) </p></li>
<li><p><strong>port</strong>– service port </p></li>
<li><p><strong>txt</strong>– string array of TXT data (eg. {{“var”,”val”},{“other”,”2”}}) </p></li>
<li><p><strong>num_items</strong>– number of items in TXT data</p></li>
<spanid="_CPPv325mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"></span><spanid="_CPPv225mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"></span><spanid="mdns_service_add_for_host__cCP.cCP.cCP.cCP.uint16_t.mdns_txt_item_tA.s"></span><spanclass="target"id="mdns_8h_1ab026e1b1988b52297b842415f838c791"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_service_add_for_host</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">instance_name</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">service_type</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">proto</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">hostname</span></span>, <spanclass="n"><spanclass="pre">uint16_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">port</span></span>, <aclass="reference internal"href="#_CPPv415mdns_txt_item_t"title="mdns_txt_item_t"><spanclass="n"><spanclass="pre">mdns_txt_item_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">txt</span></span><spanclass="p"><spanclass="pre">[</span></span><spanclass="p"><spanclass="pre">]</span></span>, <spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">num_items</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Add service to mDNS server with a delegated hostname. </p>
<divclass="admonition note">
<pclass="admonition-title">Note</p>
<p>The value length of txt items will be automatically decided by strlen</p>
</div>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>instance_name</strong>– instance name to set. If NULL, global instance name or hostname will be used Note that MDNS_MULTIPLE_INSTANCE config option needs to be enabled for adding multiple instances with the same instance type. </p></li>
<li><p><strong>service_type</strong>– service type (_http, _ftp, etc) </p></li>
<li><p><strong>proto</strong>– service protocol (_tcp, _udp) </p></li>
<li><p><strong>hostname</strong>– service hostname. If NULL, local hostname will be used. </p></li>
<li><p><strong>port</strong>– service port </p></li>
<li><p><strong>txt</strong>– string array of TXT data (eg. {{“var”,”val”},{“other”,”2”}}) </p></li>
<li><p><strong>num_items</strong>– number of items in TXT data</p></li>
<spanid="_CPPv319mdns_service_existsPKcPKcPKc"></span><spanid="_CPPv219mdns_service_existsPKcPKcPKc"></span><spanid="mdns_service_exists__cCP.cCP.cCP"></span><spanclass="target"id="mdns_8h_1ae8a4d63061c513329cfe10b60aedef79"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_service_exists</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">service_type</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">proto</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">hostname</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv419mdns_service_existsPKcPKcPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Check whether a service has been added. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>service_type</strong>– service type (_http, _ftp, etc) </p></li>
<li><p><strong>proto</strong>– service protocol (_tcp, _udp) </p></li>
<li><p><strong>hostname</strong>– service hostname. If NULL, checks for the local hostname.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>true Correspondding service has been added.</p></li>
<spanid="_CPPv319mdns_service_removePKcPKc"></span><spanid="_CPPv219mdns_service_removePKcPKc"></span><spanid="mdns_service_remove__cCP.cCP"></span><spanclass="target"id="mdns_8h_1a7f8ebdf3f99864b614f0a745965f7261"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_service_remove</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">service_type</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">proto</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv419mdns_service_removePKcPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Remove service from mDNS server. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>service_type</strong>– service type (_http, _ftp, etc) </p></li>
<li><p><strong>proto</strong>– service protocol (_tcp, _udp)</p></li>
<spanid="_CPPv330mdns_service_instance_name_setPKcPKcPKc"></span><spanid="_CPPv230mdns_service_instance_name_setPKcPKcPKc"></span><spanid="mdns_service_instance_name_set__cCP.cCP.cCP"></span><spanclass="target"id="mdns_8h_1ab10c7a6fd81148a1f115d6e1a8045950"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_service_instance_name_set</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">service_type</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">proto</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">instance_name</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv430mdns_service_instance_name_setPKcPKcPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Set instance name for service. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>service_type</strong>– service type (_http, _ftp, etc) </p></li>
<li><p><strong>proto</strong>– service protocol (_tcp, _udp) </p></li>
<li><p><strong>instance_name</strong>– instance name to set</p></li>
<spanid="_CPPv321mdns_service_port_setPKcPKc8uint16_t"></span><spanid="_CPPv221mdns_service_port_setPKcPKc8uint16_t"></span><spanid="mdns_service_port_set__cCP.cCP.uint16_t"></span><spanclass="target"id="mdns_8h_1a76f4ca1857edb589be79074b01b5b769"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_service_port_set</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">service_type</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">proto</span></span>, <spanclass="n"><spanclass="pre">uint16_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">port</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv421mdns_service_port_setPKcPKc8uint16_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Set service port. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>service_type</strong>– service type (_http, _ftp, etc) </p></li>
<li><p><strong>proto</strong>– service protocol (_tcp, _udp) </p></li>
<li><p><strong>port</strong>– service port</p></li>
<spanid="_CPPv328mdns_service_txt_item_removePKcPKcPKc"></span><spanid="_CPPv228mdns_service_txt_item_removePKcPKcPKc"></span><spanid="mdns_service_txt_item_remove__cCP.cCP.cCP"></span><spanclass="target"id="mdns_8h_1a78211b1c712153774252cdd4f4d3fbe0"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_service_txt_item_remove</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">service_type</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">proto</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">key</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv428mdns_service_txt_item_removePKcPKcPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Remove TXT item for service TXT record. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>service_type</strong>– service type (_http, _ftp, etc) </p></li>
<li><p><strong>proto</strong>– service protocol (_tcp, _udp) </p></li>
<li><p><strong>key</strong>– the key that you want to remove</p></li>
<spanid="_CPPv323mdns_service_remove_allv"></span><spanid="_CPPv223mdns_service_remove_allv"></span><spanid="mdns_service_remove_all__void"></span><spanclass="target"id="mdns_8h_1a16908d4bdd7a28d063bcaabffde74cec"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_service_remove_all</span></span></span><spanclass="sig-paren">(</span><spanclass="kt"><spanclass="pre">void</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv423mdns_service_remove_allv"title="Permalink to this definition"></a><br/></dt>
<dd><p>Remove and free all services from mDNS server. </p>
<spanid="_CPPv323mdns_query_async_deleteP18mdns_search_once_t"></span><spanid="_CPPv223mdns_query_async_deleteP18mdns_search_once_t"></span><spanid="mdns_query_async_delete__mdns_search_once_tP"></span><spanclass="target"id="mdns_8h_1af6d064e86da56a713e38c51b0c86d2b6"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_query_async_delete</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv418mdns_search_once_t"title="mdns_search_once_t"><spanclass="n"><spanclass="pre">mdns_search_once_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">search</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv423mdns_query_async_deleteP18mdns_search_once_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Deletes the finished query. Call this only after the search has ended! </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>search</strong>– pointer to search object</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>ESP_OK success</p></li>
<li><p>ESP_ERR_INVALID_STATE search has not finished</p></li>
<li><p>ESP_ERR_INVALID_ARG pointer to search object is NULL </p></li>
<spanid="_CPPv328mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t"></span><spanid="_CPPv228mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t"></span><spanid="mdns_query_async_get_results__mdns_search_once_tP.uint32_t.mdns_result_tPP.uint8_tP"></span><spanclass="target"id="mdns_8h_1a4951d52996e21620767a272cd851e678"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_query_async_get_results</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv418mdns_search_once_t"title="mdns_search_once_t"><spanclass="n"><spanclass="pre">mdns_search_once_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">search</span></span>, <spanclass="n"><spanclass="pre">uint32_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">timeout</span></span>, <aclass="reference internal"href="#_CPPv413mdns_result_t"title="mdns_result_t"><spanclass="n"><spanclass="pre">mdns_result_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">results</span></span>, <spanclass="n"><spanclass="pre">uint8_t</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">num_results</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Get results from search pointer. Results available as a pointer to the output parameter. Pointer to search object has to be deleted via <codeclass="docutils literal notranslate"><spanclass="pre">mdns_query_async_delete</span></code> once the query has finished. The results although have to be freed manually. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>search</strong>– pointer to search object </p></li>
<li><p><strong>timeout</strong>– time in milliseconds to wait for answers </p></li>
<li><p><strong>results</strong>– pointer to the results of the query </p></li>
<li><p><strong>num_results</strong>– pointer to the number of the actual result items (set to NULL to ignore this return value)</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p>True if search has finished before or at timeout False if search timeout is over </p>
<spanid="_CPPv323mdns_query_results_freeP13mdns_result_t"></span><spanid="_CPPv223mdns_query_results_freeP13mdns_result_t"></span><spanid="mdns_query_results_free__mdns_result_tP"></span><spanclass="target"id="mdns_8h_1ad7a11c09688e313da1d3eccd03cfd99e"></span><spanclass="kt"><spanclass="pre">void</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_query_results_free</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv413mdns_result_t"title="mdns_result_t"><spanclass="n"><spanclass="pre">mdns_result_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">results</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv423mdns_query_results_freeP13mdns_result_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Free query results. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>results</strong>– linked list of results to be freed </p>
<spanid="_CPPv312mdns_query_aPKc8uint32_tP14esp_ip4_addr_t"></span><spanid="_CPPv212mdns_query_aPKc8uint32_tP14esp_ip4_addr_t"></span><spanid="mdns_query_a__cCP.uint32_t.esp_ip4_addr_tP"></span><spanclass="target"id="mdns_8h_1a1c7ccc14c3a0a6cf29af3fe33345ad78"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_query_a</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">host_name</span></span>, <spanclass="n"><spanclass="pre">uint32_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">timeout</span></span>, <spanclass="n"><spanclass="pre">esp_ip4_addr_t</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">addr</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Query mDNS for A record. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>host_name</strong>– host name to look for </p></li>
<li><p><strong>timeout</strong>– time in milliseconds to wait for answer. </p></li>
<li><p><strong>addr</strong>– pointer to the resulting IP4 address</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>ESP_OK success</p></li>
<li><p>ESP_ERR_INVALID_STATE mDNS is not running</p></li>
<spanid="_CPPv319mdns_register_netifP11esp_netif_t"></span><spanid="_CPPv219mdns_register_netifP11esp_netif_t"></span><spanid="mdns_register_netif__esp_netif_tP"></span><spanclass="target"id="mdns_8h_1ae4512122be1ad7c7f87536b944c43b78"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_register_netif</span></span></span><spanclass="sig-paren">(</span><spanclass="n"><spanclass="pre">esp_netif_t</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">esp_netif</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv419mdns_register_netifP11esp_netif_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Register custom esp_netif with mDNS functionality mDNS service runs by default on preconfigured interfaces (STA, AP, ETH). This API enables running the service on any customized interface, either using standard WiFi or Ethernet driver or any kind of user defined driver. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>esp_netif</strong>– Pointer to esp-netif interface </p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>ESP_OK success</p></li>
<li><p>ESP_ERR_INVALID_STATE mDNS is not running or this netif is already registered</p></li>
<li><p>ESP_ERR_NO_MEM not enough memory for this in interface in the netif list (see CONFIG_MDNS_MAX_INTERFACES) </p></li>
<spanid="_CPPv321mdns_unregister_netifP11esp_netif_t"></span><spanid="_CPPv221mdns_unregister_netifP11esp_netif_t"></span><spanid="mdns_unregister_netif__esp_netif_tP"></span><spanclass="target"id="mdns_8h_1af9bda443a1b8b50ed5ebbc6f5f58e62f"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_unregister_netif</span></span></span><spanclass="sig-paren">(</span><spanclass="n"><spanclass="pre">esp_netif_t</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">esp_netif</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv421mdns_unregister_netifP11esp_netif_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Unregister esp-netif already registered in mDNS service. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>esp_netif</strong>– Pointer to esp-netif interface </p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>ESP_OK success</p></li>
<li><p>ESP_ERR_INVALID_STATE mDNS is not running</p></li>
<li><p>ESP_ERR_NOT_FOUND this esp-netif was not registered in mDNS service </p></li>
<spanid="_CPPv317mdns_netif_actionP11esp_netif_t20mdns_event_actions_t"></span><spanid="_CPPv217mdns_netif_actionP11esp_netif_t20mdns_event_actions_t"></span><spanid="mdns_netif_action__esp_netif_tP.mdns_event_actions_t"></span><spanclass="target"id="mdns_8h_1a73730bf2cd7988ce75bb3397d3203cfa"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_netif_action</span></span></span><spanclass="sig-paren">(</span><spanclass="n"><spanclass="pre">esp_netif_t</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">esp_netif</span></span>, <aclass="reference internal"href="#_CPPv420mdns_event_actions_t"title="mdns_event_actions_t"><spanclass="n"><spanclass="pre">mdns_event_actions_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">event_action</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Set esp_netif to a desired state, or perform a desired action, such as enable/disable this interface or send announcement packets to this netif. </p>
<p><ulclass="simple">
<li><p>This function is used to enable (probe, resolve conflicts and announce), announce, or disable (send bye) mDNS services on the specified network interface.</p></li>
<li><p>This function must be called if users registers a specific interface using mdns_register_netif() to enable mDNS services on that interface.</p></li>
<li><p>This function could be used in IP/connection event handlers to automatically enable/announce mDNS services when network properties change and/or disable them on disconnection.</p></li>
</ul>
</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>esp_netif</strong>– Pointer to esp-netif interface </p></li>
<li><p><strong>event_action</strong>– Disable/Enable/Announce on this interface over IPv4/IPv6 protocol. Actions enumerated in mdns_event_actions_t type. </p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><ulclass="simple">
<li><p>ESP_OK success</p></li>
<li><p>ESP_ERR_INVALID_STATE mDNS is not running or this netif is not registered</p></li>
<li><p>ESP_ERR_NO_MEM memory error </p></li>
</ul>
</p>
</dd>
</dl>
</dd></dl>
</section>
<sectionid="structures">
<h3>Structures<aclass="headerlink"href="#structures"title="Permalink to this headline"></a></h3>
<spanid="_CPPv315mdns_txt_item_t"></span><spanid="_CPPv215mdns_txt_item_t"></span><spanid="mdns_txt_item_t"></span><spanclass="target"id="structmdns__txt__item__t"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_txt_item_t</span></span></span><aclass="headerlink"href="#_CPPv415mdns_txt_item_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>mDNS basic text item structure Used in mdns_service_add() </p>
<spanid="_CPPv3N15mdns_txt_item_t3keyE"></span><spanid="_CPPv2N15mdns_txt_item_t3keyE"></span><spanid="mdns_txt_item_t::key__cCP"></span><spanclass="target"id="structmdns__txt__item__t_1aac2205bf54deede319e61f03560677ee"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">key</span></span></span><aclass="headerlink"href="#_CPPv4N15mdns_txt_item_t3keyE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N15mdns_txt_item_t5valueE"></span><spanid="_CPPv2N15mdns_txt_item_t5valueE"></span><spanid="mdns_txt_item_t::value__cCP"></span><spanclass="target"id="structmdns__txt__item__t_1afd248c401d6c0c00ba0a77eb6bd89fd7"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">value</span></span></span><aclass="headerlink"href="#_CPPv4N15mdns_txt_item_t5valueE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv314mdns_ip_addr_s"></span><spanid="_CPPv214mdns_ip_addr_s"></span><spanid="mdns_ip_addr_s"></span><spanclass="target"id="structmdns__ip__addr__s"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_ip_addr_s</span></span></span><aclass="headerlink"href="#_CPPv414mdns_ip_addr_s"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N14mdns_ip_addr_s4addrE"></span><spanid="_CPPv2N14mdns_ip_addr_s4addrE"></span><spanid="mdns_ip_addr_s::addr__esp_ip_addr_t"></span><spanclass="target"id="structmdns__ip__addr__s_1a6551a9e844533214d7da7f26921e8d7b"></span><spanclass="n"><spanclass="pre">esp_ip_addr_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">addr</span></span></span><aclass="headerlink"href="#_CPPv4N14mdns_ip_addr_s4addrE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N14mdns_ip_addr_s4nextE"></span><spanid="_CPPv2N14mdns_ip_addr_s4nextE"></span><spanid="mdns_ip_addr_s::next__mdns_ip_addr_sP"></span><spanclass="target"id="structmdns__ip__addr__s_1acd517df206b0c3e16450f3fc0ada3185"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><aclass="reference internal"href="#_CPPv414mdns_ip_addr_s"title="mdns_ip_addr_s"><spanclass="n"><spanclass="pre">mdns_ip_addr_s</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">next</span></span></span><aclass="headerlink"href="#_CPPv4N14mdns_ip_addr_s4nextE"title="Permalink to this definition"></a><br/></dt>
<dd><p>next IP, or NULL for the last IP in the list </p>
<spanid="_CPPv313mdns_result_s"></span><spanid="_CPPv213mdns_result_s"></span><spanid="mdns_result_s"></span><spanclass="target"id="structmdns__result__s"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_result_s</span></span></span><aclass="headerlink"href="#_CPPv413mdns_result_s"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s4nextE"></span><spanid="_CPPv2N13mdns_result_s4nextE"></span><spanid="mdns_result_s::next__mdns_result_sP"></span><spanclass="target"id="structmdns__result__s_1afd40f35c5cd387069c66f9bb7e4f622d"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><aclass="reference internal"href="#_CPPv413mdns_result_s"title="mdns_result_s"><spanclass="n"><spanclass="pre">mdns_result_s</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">next</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s4nextE"title="Permalink to this definition"></a><br/></dt>
<dd><p>next result, or NULL for the last result in the list </p>
<spanid="_CPPv3N13mdns_result_s9esp_netifE"></span><spanid="_CPPv2N13mdns_result_s9esp_netifE"></span><spanid="mdns_result_s::esp_netif__esp_netif_tP"></span><spanclass="target"id="structmdns__result__s_1a44927f82f91a1e730f20c342ed12e4f9"></span><spanclass="n"><spanclass="pre">esp_netif_t</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_netif</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s9esp_netifE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s3ttlE"></span><spanid="_CPPv2N13mdns_result_s3ttlE"></span><spanid="mdns_result_s::ttl__uint32_t"></span><spanclass="target"id="structmdns__result__s_1ad9737835c45c2f11be1ee17a483fefff"></span><spanclass="n"><spanclass="pre">uint32_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">ttl</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s3ttlE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s11ip_protocolE"></span><spanid="_CPPv2N13mdns_result_s11ip_protocolE"></span><spanid="mdns_result_s::ip_protocol__mdns_ip_protocol_t"></span><spanclass="target"id="structmdns__result__s_1aff66b72bd7941a197d96d86a473f79e4"></span><aclass="reference internal"href="#_CPPv418mdns_ip_protocol_t"title="mdns_ip_protocol_t"><spanclass="n"><spanclass="pre">mdns_ip_protocol_t</span></span></a><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">ip_protocol</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s11ip_protocolE"title="Permalink to this definition"></a><br/></dt>
<dd><p>ip_protocol type of the interface (v4/v6) </p>
<spanid="_CPPv3N13mdns_result_s13instance_nameE"></span><spanid="_CPPv2N13mdns_result_s13instance_nameE"></span><spanid="mdns_result_s::instance_name__cP"></span><spanclass="target"id="structmdns__result__s_1ac67b4af869b06a6245e764675120ad7b"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">instance_name</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s13instance_nameE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s12service_typeE"></span><spanid="_CPPv2N13mdns_result_s12service_typeE"></span><spanid="mdns_result_s::service_type__cP"></span><spanclass="target"id="structmdns__result__s_1a23e829b4dfcd4c983fe20f8c88139be2"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">service_type</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s12service_typeE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s5protoE"></span><spanid="_CPPv2N13mdns_result_s5protoE"></span><spanid="mdns_result_s::proto__cP"></span><spanclass="target"id="structmdns__result__s_1ae18827fe3e06b3ece9d4bf54606200d1"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">proto</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s5protoE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s8hostnameE"></span><spanid="_CPPv2N13mdns_result_s8hostnameE"></span><spanid="mdns_result_s::hostname__cP"></span><spanclass="target"id="structmdns__result__s_1aa4d541285021faf8feb2e0f5abe89353"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">hostname</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s8hostnameE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s4portE"></span><spanid="_CPPv2N13mdns_result_s4portE"></span><spanid="mdns_result_s::port__uint16_t"></span><spanclass="target"id="structmdns__result__s_1a968bcd2e2ddec6c1ceba674dfa59e5bd"></span><spanclass="n"><spanclass="pre">uint16_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">port</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s4portE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s3txtE"></span><spanid="_CPPv2N13mdns_result_s3txtE"></span><spanid="mdns_result_s::txt__mdns_txt_item_tP"></span><spanclass="target"id="structmdns__result__s_1a895ba931c167a9159b331562781a83d2"></span><aclass="reference internal"href="#_CPPv415mdns_txt_item_t"title="mdns_txt_item_t"><spanclass="n"><spanclass="pre">mdns_txt_item_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">txt</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s3txtE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s13txt_value_lenE"></span><spanid="_CPPv2N13mdns_result_s13txt_value_lenE"></span><spanid="mdns_result_s::txt_value_len__uint8_tP"></span><spanclass="target"id="structmdns__result__s_1a4116fbfc03331cb0de5c1ac75efb81ad"></span><spanclass="n"><spanclass="pre">uint8_t</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">txt_value_len</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s13txt_value_lenE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s9txt_countE"></span><spanid="_CPPv2N13mdns_result_s9txt_countE"></span><spanid="mdns_result_s::txt_count__s"></span><spanclass="target"id="structmdns__result__s_1af160c366650f60688c93dc0473af6385"></span><spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">txt_count</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s9txt_countE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N13mdns_result_s4addrE"></span><spanid="_CPPv2N13mdns_result_s4addrE"></span><spanid="mdns_result_s::addr__mdns_ip_addr_tP"></span><spanclass="target"id="structmdns__result__s_1ad1874ef7491e8a973182a8253b742514"></span><aclass="reference internal"href="#_CPPv414mdns_ip_addr_t"title="mdns_ip_addr_t"><spanclass="n"><spanclass="pre">mdns_ip_addr_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">addr</span></span></span><aclass="headerlink"href="#_CPPv4N13mdns_result_s4addrE"title="Permalink to this definition"></a><br/></dt>
<dd><p>linked list of IP addresses found </p>
</dd></dl>
</div>
</dd></dl>
</section>
<sectionid="macros">
<h3>Macros<aclass="headerlink"href="#macros"title="Permalink to this headline"></a></h3>
<dlclass="cpp macro">
<dtclass="sig sig-object cpp"id="c.MDNS_TYPE_A">
<spanclass="target"id="mdns_8h_1aadb9a175b672893b350f1e7032009e00"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_TYPE_A</span></span></span><aclass="headerlink"href="#c.MDNS_TYPE_A"title="Permalink to this definition"></a><br/></dt>
<spanclass="target"id="mdns_8h_1ab20e7e819cd80446f00124e510e76e7d"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_TYPE_PTR</span></span></span><aclass="headerlink"href="#c.MDNS_TYPE_PTR"title="Permalink to this definition"></a><br/></dt>
<spanclass="target"id="mdns_8h_1a177dfb02a742aae54654f74060afd078"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_TYPE_TXT</span></span></span><aclass="headerlink"href="#c.MDNS_TYPE_TXT"title="Permalink to this definition"></a><br/></dt>
<spanclass="target"id="mdns_8h_1a70afb421967cdc04c57d4aef6ac01c71"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_TYPE_AAAA</span></span></span><aclass="headerlink"href="#c.MDNS_TYPE_AAAA"title="Permalink to this definition"></a><br/></dt>
<spanclass="target"id="mdns_8h_1aa0284acaadb1f19e3eefb0c851c46295"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_TYPE_SRV</span></span></span><aclass="headerlink"href="#c.MDNS_TYPE_SRV"title="Permalink to this definition"></a><br/></dt>
<spanclass="target"id="mdns_8h_1a0f303a6564a2a3e96f1d641467b587fc"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_TYPE_OPT</span></span></span><aclass="headerlink"href="#c.MDNS_TYPE_OPT"title="Permalink to this definition"></a><br/></dt>
<spanclass="target"id="mdns_8h_1a6a701bfe1d93ccd23f7eefed93ac5d3d"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_TYPE_NSEC</span></span></span><aclass="headerlink"href="#c.MDNS_TYPE_NSEC"title="Permalink to this definition"></a><br/></dt>
<spanclass="target"id="mdns_8h_1a07b84349539bc1343c8a0fd0456869c2"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_TYPE_ANY</span></span></span><aclass="headerlink"href="#c.MDNS_TYPE_ANY"title="Permalink to this definition"></a><br/></dt>
<dd></dd></dl>
</section>
<sectionid="type-definitions">
<h3>Type Definitions<aclass="headerlink"href="#type-definitions"title="Permalink to this headline"></a></h3>
<spanid="_CPPv318mdns_search_once_t"></span><spanid="_CPPv218mdns_search_once_t"></span><spanid="mdns_search_once_t"></span><spanclass="target"id="mdns_8h_1a8815240672c5880e798ca6655309c589"></span><spanclass="k"><spanclass="pre">typedef</span></span><spanclass="w"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">mdns_search_once_s</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_search_once_t</span></span></span><aclass="headerlink"href="#_CPPv418mdns_search_once_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv314mdns_ip_addr_t"></span><spanid="_CPPv214mdns_ip_addr_t"></span><spanid="mdns_ip_addr_t"></span><spanclass="target"id="mdns_8h_1ad47a3252d28bfa29bad2c27475042670"></span><spanclass="k"><spanclass="pre">typedef</span></span><spanclass="w"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><aclass="reference internal"href="#_CPPv414mdns_ip_addr_s"title="mdns_ip_addr_s"><spanclass="n"><spanclass="pre">mdns_ip_addr_s</span></span></a><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_ip_addr_t</span></span></span><aclass="headerlink"href="#_CPPv414mdns_ip_addr_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv313mdns_result_t"></span><spanid="_CPPv213mdns_result_t"></span><spanid="mdns_result_t"></span><spanclass="target"id="mdns_8h_1a117010e231eeb226e391046f9eb7d2b5"></span><spanclass="k"><spanclass="pre">typedef</span></span><spanclass="w"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><aclass="reference internal"href="#_CPPv413mdns_result_s"title="mdns_result_s"><spanclass="n"><spanclass="pre">mdns_result_s</span></span></a><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_result_t</span></span></span><aclass="headerlink"href="#_CPPv413mdns_result_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv319mdns_query_notify_t"></span><spanid="_CPPv219mdns_query_notify_t"></span><spanid="mdns_query_notify_t"></span><spanclass="target"id="mdns_8h_1a94c9a720637875a50eef6e0436d9116d"></span><spanclass="k"><spanclass="pre">typedef</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">void</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">(</span></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_query_notify_t</span></span></span><spanclass="p"><spanclass="pre">)</span></span><spanclass="p"><spanclass="pre">(</span></span><aclass="reference internal"href="#_CPPv418mdns_search_once_t"title="mdns_search_once_t"><spanclass="n"><spanclass="pre">mdns_search_once_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">search</span></span><spanclass="p"><spanclass="pre">)</span></span><aclass="headerlink"href="#_CPPv419mdns_query_notify_t"title="Permalink to this definition"></a><br/></dt>
<dd></dd></dl>
</section>
<sectionid="enumerations">
<h3>Enumerations<aclass="headerlink"href="#enumerations"title="Permalink to this headline"></a></h3>
<spanid="_CPPv320mdns_event_actions_t"></span><spanid="_CPPv220mdns_event_actions_t"></span><spanclass="target"id="mdns_8h_1a14279e8f2e7c65c12320222a55f09fdf"></span><spanclass="k"><spanclass="pre">enum</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_event_actions_t</span></span></span><aclass="headerlink"href="#_CPPv420mdns_event_actions_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E"></span><spanid="_CPPv2N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E"></span><spanclass="target"id="mdns_8h_1a14279e8f2e7c65c12320222a55f09fdfa691b25d61998415df802aa6f2679c197"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_EVENT_ENABLE_IP4</span></span></span><aclass="headerlink"href="#_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E"></span><spanid="_CPPv2N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E"></span><spanclass="target"id="mdns_8h_1a14279e8f2e7c65c12320222a55f09fdfa614ec41ac76531e944afd90a5c3da558"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_EVENT_ENABLE_IP6</span></span></span><aclass="headerlink"href="#_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E"></span><spanid="_CPPv2N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E"></span><spanclass="target"id="mdns_8h_1a14279e8f2e7c65c12320222a55f09fdfaec15d76ae495cba9a1cc3ae2c2303515"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_EVENT_ANNOUNCE_IP4</span></span></span><aclass="headerlink"href="#_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E"></span><spanid="_CPPv2N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E"></span><spanclass="target"id="mdns_8h_1a14279e8f2e7c65c12320222a55f09fdfa5082be5361ecaafa83b07fd41bd6a6e5"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_EVENT_ANNOUNCE_IP6</span></span></span><aclass="headerlink"href="#_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E"></span><spanid="_CPPv2N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E"></span><spanclass="target"id="mdns_8h_1a14279e8f2e7c65c12320222a55f09fdfa329801c5f1d481ec46a40bbea0836dd6"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_EVENT_DISABLE_IP4</span></span></span><aclass="headerlink"href="#_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E"></span><spanid="_CPPv2N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E"></span><spanclass="target"id="mdns_8h_1a14279e8f2e7c65c12320222a55f09fdfa5406bf4e980611d0fe5b8d27fc79554a"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_EVENT_DISABLE_IP6</span></span></span><aclass="headerlink"href="#_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv318mdns_ip_protocol_t"></span><spanid="_CPPv218mdns_ip_protocol_t"></span><spanclass="target"id="mdns_8h_1a13f9e348f77ff335c56cc23978ce6598"></span><spanclass="k"><spanclass="pre">enum</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_ip_protocol_t</span></span></span><aclass="headerlink"href="#_CPPv418mdns_ip_protocol_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>mDNS enum to specify the ip_protocol type </p>
<spanid="_CPPv3N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E"></span><spanid="_CPPv2N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E"></span><spanclass="target"id="mdns_8h_1a13f9e348f77ff335c56cc23978ce6598a050dbfb44023f3573f27af9a95432d18"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_IP_PROTOCOL_V4</span></span></span><aclass="headerlink"href="#_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E"></span><spanid="_CPPv2N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E"></span><spanclass="target"id="mdns_8h_1a13f9e348f77ff335c56cc23978ce6598a04e4300ba58e47beb8d587ab26eab884"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_IP_PROTOCOL_V6</span></span></span><aclass="headerlink"href="#_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE"></span><spanid="_CPPv2N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE"></span><spanclass="target"id="mdns_8h_1a13f9e348f77ff335c56cc23978ce6598a294747186fedd262f98ed90cb0202117"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_IP_PROTOCOL_MAX</span></span></span><aclass="headerlink"href="#_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv330mdns_query_transmission_type_t"></span><spanid="_CPPv230mdns_query_transmission_type_t"></span><spanclass="target"id="mdns_8h_1ac98ee14100356cdc89391b419d160475"></span><spanclass="k"><spanclass="pre">enum</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">mdns_query_transmission_type_t</span></span></span><aclass="headerlink"href="#_CPPv430mdns_query_transmission_type_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>mDNS query type to be explicitly set to either Unicast or Multicast </p>
<spanid="_CPPv3N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE"></span><spanid="_CPPv2N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE"></span><spanclass="target"id="mdns_8h_1ac98ee14100356cdc89391b419d160475a575a7f2670fc0e2ff6b06d5f884ce770"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_QUERY_UNICAST</span></span></span><aclass="headerlink"href="#_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE"></span><spanid="_CPPv2N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE"></span><spanclass="target"id="mdns_8h_1ac98ee14100356cdc89391b419d160475aa5477342100c5070ee39d4f264e31e29"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">MDNS_QUERY_MULTICAST</span></span></span><aclass="headerlink"href="#_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE"title="Permalink to this definition"></a><br/></dt>
<dd></dd></dl>
</dd></dl>
</section>
</section>
</section>
</div>
</div>
<footer>
<hr/>
<divrole="contentinfo">
<p>© Copyright 2016 - 2022, Espressif Systems (Shanghai) Co., Ltd.</p>
</div>
<ulclass="footer">
<li>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/espressif/sphinx_idf_theme">theme</a> based on <ahref="https://github.com/readthedocs/sphinx_rtd_theme">Read the Docs Sphinx Theme</a>.