/**
  ******************************************************************************
  * @file    netconf.h
  * @author  MCD Application Team
  * @version V1.0.0
  * @date    31-October-2011 
  * @brief   This file contains all the functions prototypes for the netconf.c 
  *          file.
  ******************************************************************************
  * @attention
  *
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  *
  * <h2><center>&copy; Portions COPYRIGHT 2011 STMicroelectronics</center></h2>
  ******************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __NETCONF_H
#define __NETCONF_H

#ifdef __cplusplus
 extern "C" {
#endif
   
#include "stm32f4xx.h"    
#include <stdbool.h>
   
typedef enum 
{ 
  DHCP_START=0,
  DHCP_WAIT_ADDRESS,
  DHCP_ADDRESS_ASSIGNED,
  DHCP_TIMEOUT
} 
DHCP_State_TypeDef;

void LwIP_Init(void);

void LwIP_DHCP_task(void * pvParameters);

/**
  * @brief  Запуск задачи переинициализации WEB
  */
void WEB_StartReinitTask(void);

/**
  * @brief  Переинициализация WEB. Задача положенное время отслеживает флаг
  *         fConfirmWebParams. 
  *           Если флаг устанавливается в положенное время,
  *         временные настройки web перезаписываются в посоянные, сбрасывается 
  *         флаг sSettings.sFlags.netsettingsChanged и вся структура настроек 
  *         сохраняется в памяти. Далее контроллер перезагружается.
  *           Если флаг не устанавливается в положенное время, то сбрасывается
  *         флаг sSettings.sFlags.netsettingsChanged, сохраняется вся структура
  *         настроек в памяти и контроллер перезагружается.
  */
void vTaskWebReinit(void * pvParameters);

void SaveWEBparam(void);

/**
  * @brief  Возвращает true если сетевые параметры изменились
  */
bool GetStateWebReinit(void);



#ifdef __cplusplus
}
#endif

#endif /* __NETCONF_H */


/*********** Portions COPYRIGHT 2012 Embest Tech. Co., Ltd.*****END OF FILE****/
