example_common_private.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Unlicense OR CC0-1.0
  5. */
  6. /* Private Funtions of protocol example common */
  7. #pragma once
  8. #include "esp_err.h"
  9. #include "esp_wifi.h"
  10. #include "sdkconfig.h"
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. #if CONFIG_EXAMPLE_CONNECT_IPV6
  15. #define NR_OF_IP_ADDRESSES_TO_WAIT_FOR (2)
  16. #else
  17. #define NR_OF_IP_ADDRESSES_TO_WAIT_FOR (1)
  18. #endif
  19. #if CONFIG_EXAMPLE_CONNECT_IPV6
  20. #define MAX_IP6_ADDRS_PER_NETIF (5)
  21. #if defined(CONFIG_EXAMPLE_CONNECT_IPV6_PREF_LOCAL_LINK)
  22. #define EXAMPLE_CONNECT_PREFERRED_IPV6_TYPE ESP_IP6_ADDR_IS_LINK_LOCAL
  23. #elif defined(CONFIG_EXAMPLE_CONNECT_IPV6_PREF_GLOBAL)
  24. #define EXAMPLE_CONNECT_PREFERRED_IPV6_TYPE ESP_IP6_ADDR_IS_GLOBAL
  25. #elif defined(CONFIG_EXAMPLE_CONNECT_IPV6_PREF_SITE_LOCAL)
  26. #define EXAMPLE_CONNECT_PREFERRED_IPV6_TYPE ESP_IP6_ADDR_IS_SITE_LOCAL
  27. #elif defined(CONFIG_EXAMPLE_CONNECT_IPV6_PREF_UNIQUE_LOCAL)
  28. #define EXAMPLE_CONNECT_PREFERRED_IPV6_TYPE ESP_IP6_ADDR_IS_UNIQUE_LOCAL
  29. #endif // if-elif CONFIG_EXAMPLE_CONNECT_IPV6_PREF_...
  30. #endif
  31. #if CONFIG_EXAMPLE_CONNECT_IPV6
  32. extern const char *example_ipv6_addr_types_to_str[6];
  33. #endif
  34. void example_wifi_start(void);
  35. void example_wifi_stop(void);
  36. esp_err_t example_wifi_sta_do_connect(wifi_config_t wifi_config, bool wait);
  37. esp_err_t example_wifi_sta_do_disconnect(void);
  38. bool example_is_our_netif(const char *prefix, esp_netif_t *netif);
  39. void example_print_all_netif_ips(const char *prefix);
  40. void example_wifi_shutdown(void);
  41. esp_err_t example_wifi_connect(void);
  42. void example_ethernet_shutdown(void);
  43. esp_err_t example_ethernet_connect(void);
  44. #ifdef __cplusplus
  45. }
  46. #endif