1 /***************************************************************************/ /** 2 * @file sl_net_wifi_types.h 3 ******************************************************************************* 4 * # License 5 * <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b> 6 ******************************************************************************* 7 * 8 * SPDX-License-Identifier: Zlib 9 * 10 * The licensor of this software is Silicon Laboratories Inc. 11 * 12 * This software is provided 'as-is', without any express or implied 13 * warranty. In no event will the authors be held liable for any damages 14 * arising from the use of this software. 15 * 16 * Permission is granted to anyone to use this software for any purpose, 17 * including commercial applications, and to alter it and redistribute it 18 * freely, subject to the following restrictions: 19 * 20 * 1. The origin of this software must not be misrepresented; you must not 21 * claim that you wrote the original software. If you use this software 22 * in a product, an acknowledgment in the product documentation would be 23 * appreciated but is not required. 24 * 2. Altered source versions must be plainly marked as such, and must not be 25 * misrepresented as being the original software. 26 * 3. This notice may not be removed or altered from any source distribution. 27 * 28 ******************************************************************************/ 29 30 #pragma once 31 #include "sl_net_types.h" 32 #include "sl_net_ip_types.h" 33 #include "sl_wifi_device.h" // The device specific Wi-Fi structures and definitions 34 #include "sl_wifi_types.h" 35 36 /** \addtogroup SL_NET_TYPES 37 * @{ */ 38 /** 39 * @brief Network Wi-Fi client profile. 40 * 41 * @details 42 * This structure holds the configuration for a Wi-Fi client profile, including the Wi-Fi client settings and the network IP configuration. 43 */ 44 typedef struct { 45 sl_wifi_client_configuration_t 46 config; ///< Wi-Fi client configuration of type [sl_wifi_client_configuration_t](../wiseconnect-api-reference-guide-wi-fi/sl-wifi-client-configuration-t) 47 sl_net_ip_configuration_t ip; ///< Network IP configuration of type @ref sl_net_ip_configuration_t 48 } sl_net_wifi_client_profile_t; 49 50 /** 51 * @brief Network Wi-Fi AP profile. 52 * 53 * @details 54 * This structure holds the configuration for a Wi-Fi Access Point (AP) profile, including the Wi-Fi AP settings and the network IP configuration. 55 */ 56 typedef struct { 57 sl_wifi_ap_configuration_t 58 config; ///< Wi-Fi AP configuration of type [sl_wifi_ap_configuration_t](../wiseconnect-api-reference-guide-wi-fi/sl-wifi-ap-configuration-t) 59 sl_net_ip_configuration_t ip; ///< Network IP configuration of type @ref sl_net_ip_configuration_t 60 } sl_net_wifi_ap_profile_t; 61 62 /** 63 * @brief Network Wi-Fi PSK credential entry. 64 * 65 * @details 66 * This structure holds the Pre-Shared Key (PSK) credentials for a Wi-Fi network, including the credential type, data length, and the actual credential data. 67 */ 68 typedef struct { 69 sl_net_credential_type_t type; ///< Network credential type of @ref sl_net_credential_type_t 70 uint16_t data_length; ///< Data length 71 uint8_t data[196]; ///< Data 72 } sl_net_wifi_psk_credential_entry_t; 73 74 /** 75 * @brief Network Wi-Fi EAP credential entry. 76 * 77 * @details 78 * This structure holds the Extensible Authentication Protocol (EAP) credentials for a Wi-Fi network, including the credential type, data length, and the actual EAP credential data. 79 */ 80 typedef struct { 81 sl_net_credential_type_t type; ///< Network credential type of @ref sl_net_credential_type_t 82 uint16_t data_length; ///< Data length 83 sl_wifi_eap_credential_t 84 data; ///< Data of type [sl_wifi_eap_credential_t](../wiseconnect-api-reference-guide-wi-fi/sl-wifi-eap-credential-t) 85 } sl_net_wifi_eap_credential_entry_t; 86 /** @} */ 87