<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>
<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>
<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="c1">//NOTE: services must be added before their properties can be set</span>
<spanclass="c1">//use custom instance for the web server</span>
<spanclass="n">mdns_service_instance_name_set</span><spanclass="p">(</span><spanclass="s">"_http"</span><spanclass="p">,</span><spanclass="s">"_tcp"</span><spanclass="p">,</span><spanclass="s">"Jhon's ESP32 Web Server"</span><spanclass="p">);</span>
<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="n">printf</span><spanclass="p">(</span><spanclass="s">" A : "</span><spanclass="n">IPSTR</span><spanclass="s">"</span><spanclass="se">\n</span><spanclass="s">"</span><spanclass="p">,</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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>.