/* * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once #include #include "mdns_private.h" #ifdef __cplusplus extern "C" { #endif /** * @brief Free browse item queue * * @note Called from mdns_free() */ void mdns_priv_browse_free(void); /** * @brief Looks for the name/type in active browse items * * @note Called from the packet parser (mdns_receive.c) * * @return browse results */ mdns_browse_t *mdns_priv_browse_find(mdns_name_t *name, uint16_t type, mdns_if_t tcpip_if, mdns_ip_protocol_t ip_protocol); /** * @brief Send out all browse queries * * @note Called from the network events (mdns_netif.c) * @note Calls (indirectly) search-send from mdns_querier.c, which sends out the query */ void mdns_priv_browse_send_all(mdns_if_t mdns_if); /** * @brief Sync browse results * * @note Called from the packet parser * @note Calls mdns_priv_queue_action() from mdns_engine */ esp_err_t mdns_priv_browse_sync(mdns_browse_sync_t *browse_sync); /** * @brief Perform action from mdns service queue * * @note Called from the _mdns_service_task() in mdns.c */ void mdns_priv_browse_action(mdns_action_t *action, mdns_action_subtype_t type); /** * @brief Add a TXT record to the browse result * * @note Called from the packet parser (mdns_receive.c) */ void mdns_priv_browse_result_add_txt(mdns_browse_t *browse, const char *instance, const char *service, const char *proto, mdns_txt_item_t *txt, uint8_t *txt_value_len, size_t txt_count, mdns_if_t tcpip_if, mdns_ip_protocol_t ip_protocol, uint32_t ttl, mdns_browse_sync_t *out_sync_browse); /** * @brief Add an IP record to the browse result * * @note Called from the packet parser (mdns_receive.c) */ void mdns_priv_browse_result_add_ip(mdns_browse_t *browse, const char *hostname, esp_ip_addr_t *ip, mdns_if_t tcpip_if, mdns_ip_protocol_t ip_protocol, uint32_t ttl, mdns_browse_sync_t *out_sync_browse); /** * @brief Add a SRV record to the browse result * * @note Called from the packet parser (mdns_receive.c) */ void mdns_priv_browse_result_add_srv(mdns_browse_t *browse, const char *hostname, const char *instance, const char *service, const char *proto, uint16_t port, mdns_if_t tcpip_if, mdns_ip_protocol_t ip_protocol, uint32_t ttl, mdns_browse_sync_t *out_sync_browse); #ifdef __cplusplus } #endif