/** * Copyright (c) 2018 Linaro * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_DRIVERS_WIFI_ESWIFI_ESWIFI_OFFLOAD_H_ #define ZEPHYR_DRIVERS_WIFI_ESWIFI_ESWIFI_OFFLOAD_H_ #include #include "eswifi.h" #define ESWIFI_OFFLOAD_MAX_SOCKETS 4 enum eswifi_transport_type { ESWIFI_TRANSPORT_TCP, ESWIFI_TRANSPORT_UDP, ESWIFI_TRANSPORT_UDP_LITE, ESWIFI_TRANSPORT_TCP_SSL, }; enum eswifi_socket_state { ESWIFI_SOCKET_STATE_NONE, ESWIFI_SOCKET_STATE_CONNECTING, ESWIFI_SOCKET_STATE_CONNECTED, }; struct eswifi_off_socket { u8_t index; enum eswifi_transport_type type; enum eswifi_socket_state state; struct net_context *context; net_context_recv_cb_t recv_cb; net_context_connect_cb_t conn_cb; net_context_send_cb_t send_cb; void *user_data; struct net_pkt *tx_pkt; struct k_work connect_work; struct k_work send_work; struct k_delayed_work read_work; struct sockaddr peer_addr; struct k_sem read_sem; }; #endif