1 /* 2 * Copyright (c) 2024 Silicon Laboratories Inc. 3 * SPDX-License-Identifier: Apache-2.0 4 */ 5 #ifndef SIWX91X_WIFI_H 6 #define SIWX91X_WIFI_H 7 8 #include <zephyr/net/net_context.h> 9 #include <zephyr/net/wifi_mgmt.h> 10 #include <zephyr/net/wifi.h> 11 #include <zephyr/kernel.h> 12 13 #include "sl_ieee802_types.h" 14 #include "sl_si91x_types.h" 15 #include "sl_si91x_protocol_types.h" 16 17 struct siwx91x_dev { 18 struct net_if *iface; 19 sl_mac_address_t macaddr; 20 enum wifi_iface_state state; 21 enum wifi_iface_state scan_prev_state; 22 scan_result_cb_t scan_res_cb; 23 uint16_t scan_max_bss_cnt; 24 25 #ifdef CONFIG_WIFI_SILABS_SIWX91X_NET_STACK_OFFLOAD 26 struct k_event fds_recv_event; 27 sl_si91x_fd_set fds_watch; 28 struct { 29 net_context_recv_cb_t cb; 30 void *user_data; 31 struct net_context *context; 32 } fds_cb[NUMBER_OF_SOCKETS]; 33 #endif 34 }; 35 36 #endif 37