#include "lwip/opt.h" #include "lwip/arch.h" #include "lwip/api.h" typedef enum { SET_PAGE_IDLE = 0, SET_PAGE_PAGE1, SET_PAGE_PAGE2, SET_PAGE_PAGE3, SET_PAGE_PAGE4, } SET_PAGE_t; typedef enum { SEND_REQUIRED_YES = 0, SEND_REQUIRED_NO, SEND_REQUIRED_FILE } REQ_TYPE_t; struct http_state { char *file; u32_t left; }; struct fs_file { char *data; int len; }; void HTTP_Init(); static err_t http_accept(void *arg, struct tcp_pcb *pcb, err_t err); static err_t http_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err); void http_server_netconn_init(); /** * @brief Выводим запросы в консоль */ void vTaskPrintHttp(void *pvParameters); /** * @brief Установка даты производства */ void HTTP_Prodate(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); /** * @brief Парсинг строки настроек */ void HTTP_SetSettings(char *buf, uint16_t lenBuf); /** * @brief */ void HTTP_SetInfo(char *buf, uint16_t lenBuf); /** * @brief */ int HTTP_SettingsPage(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); /** * @brief */ int HTTP_InfoPage(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); int HTTP_UpsHistoryPage(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); int HTTP_HistoryPage(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); /** * @brief Запуск/останов теста UPS */ void HTTP_UPSTest(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); /** * @brief Выклюение UPS */ void HTTP_UPSshutdown(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); /** * @brief Проверка пароля для перехода в режим bootloader */ void HTTP_ConfirmBootPwd(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); /** * @brief Проверка пароля для входа в Web */ int HTTP_ConfirmWebPwd(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut); void HTTP_LOGIN(char *bufOut, uint16_t *lenBufOut); /** * @brief */ uint8_t GetParamValue(char *inStr, char *paramName, char *paramValue, uint8_t *paramLen); uint8_t GetCookieValue(char *inStr, char *paramName, char *paramValue, uint8_t *paramLen); /** * @brief * @retval None */ uint8_t GetParamValueInEnd(char *inStr, char *paramName, char *paramValue, uint8_t *paramLen); void ClearParamString(char *inBuf); /** * @brief Замена символа в строке * @param *str - входная строка * @param sim1 - символ который надо заменить * @param sim2 - символ на который надо заменить */ void HTTP_ReplaceSimbol(char *str, char sim1, char sim2); // ----------------------------------------------------------------------------- // // // SSL тесты // // // ----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "polarssl/ssl.h" /* Exported types ------------------------------------------------------------*/ typedef struct { uint32_t State; }rng_state; /* Exported constants --------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/ /* Exported functions ------------------------------------------------------- */ void ssl_server(void *pvParameters); void ssl_DynPage(ssl_context *ssl); void ssl_sendframes(ssl_context *ssl, char *data, int datalen); int RandVal(void* arg); void HTTP_SendHistory(void); void HTTP_SendLog(void); void HTTPS_Init(); #ifdef __cplusplus } #endif