/* * Copyright (c) 2018, Texas Instruments Incorporated * * SPDX-License-Identifier: Apache-2.0 * */ #ifndef ZEPHYR_DRIVERS_WIFI_SIMPLELINK_SIMPLELINK_SUPPORT_H_ #define ZEPHYR_DRIVERS_WIFI_SIMPLELINK_SIMPLELINK_SUPPORT_H_ #include #ifdef __cplusplus extern "C" { #endif #define SSID_LEN_MAX (32) #define BSSID_LEN_MAX (6) /* Define ID for simplelink_wifi_cb to not conflict with WLAN event IDs: */ #define SIMPLELINK_WIFI_CB_IPACQUIRED \ (SL_WLAN_EVENT_MAX + SL_NETAPP_EVENT_IPV4_ACQUIRED) #define SIMPLELINK_WIFI_CB_IPV6ACQUIRED \ (SL_WLAN_EVENT_MAX + SL_NETAPP_EVENT_IPV6_ACQUIRED) struct sl_connect_state { uint32_t gateway_ip; uint8_t ssid[SSID_LEN_MAX + 1]; uint8_t bssid[BSSID_LEN_MAX]; uint32_t ip_addr; uint32_t sta_ip; uint32_t ipv6_addr[4]; int16_t error; }; /* Callback from SimpleLink Event Handlers: */ typedef void (*simplelink_wifi_cb_t)(uint32_t mgmt_event, struct sl_connect_state *conn); extern int z_simplelink_start_scan(void); extern void z_simplelink_get_scan_result(int index, struct wifi_scan_result *scan_result); extern void z_simplelink_get_mac(unsigned char *mac); extern int z_simplelink_init(simplelink_wifi_cb_t wifi_cb); extern int z_simplelink_connect(struct wifi_connect_req_params *params); extern int z_simplelink_disconnect(void); int simplelink_socket_create(int family, int type, int proto); #ifdef __cplusplus } #endif /** * @} */ #endif /* ZEPHYR_DRIVERS_WIFI_SIMPLELINK_SIMPLELINK_SUPPORT_H_ */