/* dload - Dot command for downloading files on the Spectrum Next Copyright (C) 2025 Ian Cowburn (ianc@noddybox.co.uk) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . -------------------------------------------------------------------------- Wifi interface */ #ifndef DOTDLOAD_WIFI_H #define DOTDLOAD_WIFI_H #include /* Status type */ typedef enum { eWifiOK, eWifiNotAvailable, eWifiNotConnected, eWifiUnknownHost, eWifiFailedToWrite, eWifiFailedToReceive, eWifiTimeout, eWifiInvalidURL, eWifiFailedToSendCommand, eWifiBadHTTPStatusCode } WifiStatus; /* Connect to the wifi modem and return status. */ WifiStatus WifiConnect(void); /* Connect to a URL. Returns status. If it is a post then *content_len holds the length of the posted file. If it is not a post (a get) then *content_len holds the content length from the respose. */ WifiStatus ConnectURL(int is_post, const char *url, size_t *content_len); /* Sends a formatted string to the connection. Returns status. */ WifiStatus SendFormatted(const char *format, ...); /* Send a byte to the connection. Returns status. */ WifiStatus SendByte(unsigned char c); /* Get a byte from the connection. Returns status and updates the passed pointer. */ WifiStatus GetByte(unsigned char *c); #endif /* vim: ai sw=4 ts=8 expandtab */