mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-12-04 16:19:20 +01:00
The MDNS component has been refactored from a single monolithic file mdns.c into a set of focused modules with clear responsibilities. This restructuring maintains the same functionality while improving code organization, maintainability, and testability. In the stage#2 we will focus on module based tests In the stage#3 we will focus on small scale refators and optimizations
99 lines
2.1 KiB
C
99 lines
2.1 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
#pragma once
|
|
|
|
#include <stddef.h>
|
|
#include "mdns_private.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief Perform action from mdns responder
|
|
*
|
|
* @note Called from the _mdns_service_task() in mdns.c
|
|
*/
|
|
void mdns_priv_responder_action(mdns_action_t *action, mdns_action_subtype_t type);
|
|
|
|
/**
|
|
* @brief Initializes responder storage
|
|
*/
|
|
esp_err_t mdns_priv_responder_init(void);
|
|
|
|
/**
|
|
* @brief Frees responder storage
|
|
*/
|
|
void mdns_priv_responder_free(void);
|
|
|
|
/**
|
|
* @brief get global (mdns_server->hostname) hostname
|
|
*/
|
|
const char *mdns_priv_get_global_hostname(void);
|
|
|
|
/**
|
|
* @brief get service list
|
|
*/
|
|
mdns_srv_item_t *mdns_priv_get_services(void);
|
|
|
|
/**
|
|
* @brief get host list
|
|
*/
|
|
mdns_host_item_t *mdns_priv_get_hosts(void);
|
|
|
|
/**
|
|
* @brief get self host
|
|
*/
|
|
mdns_host_item_t *mdns_priv_get_self_host(void);
|
|
|
|
/**
|
|
* @brief set global hostname
|
|
*/
|
|
void mdns_priv_set_global_hostname(const char *hostname);
|
|
|
|
/**
|
|
* @brief get mdns_server->instance
|
|
*/
|
|
const char *mdns_priv_get_instance(void);
|
|
|
|
/**
|
|
* @brief set mdns_server->instance
|
|
*/
|
|
void mdns_priv_set_instance(const char *instance);
|
|
|
|
/**
|
|
* @brief Returns true if the mdns server is initialized
|
|
*/
|
|
bool mdns_priv_is_server_init(void);
|
|
|
|
/**
|
|
* @brief Restart the responder on all services without instance
|
|
*/
|
|
void mdns_priv_restart_all_pcbs_no_instance(void);
|
|
|
|
/**
|
|
* @brief Restart the responder on all active PCBs
|
|
*/
|
|
void mdns_priv_restart_all_pcbs(void);
|
|
|
|
/**
|
|
* @brief Adds a delegated hostname to the linked list
|
|
* @param hostname Host name pointer
|
|
* @param address_list Address list
|
|
* @return true on success
|
|
* false if the host wasn't attached (this is our hostname, or alloc failure) so we have to free the structs
|
|
*/
|
|
bool mdns_priv_delegate_hostname_add(const char *hostname, mdns_ip_addr_t *address_list);
|
|
|
|
/**
|
|
* @brief Remaps hostname of self service
|
|
*/
|
|
void mdns_priv_remap_self_service_hostname(const char *old_hostname, const char *new_hostname);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|