📄 webserver.h
字号:
/**
* \addtogroup t4app
* @{
*/
/**
*\addtogroup httpd Web Server
*@{
*/
/**
* \file WebServer.h
* \brief Web Server Application Header File for T4 Demo.
* \author Xiaofei Rui <xfrui@fameg.com>
*
*/
#ifndef __WEBSERVER_H__
#define __WEBSERVER_H__
#include "kernel/system.h"
#include "user_config.h"
//#include "hw/uart.h"
/*****************************************************************************
* CONSTANT DEFINES *
*****************************************************************************/
#define INCLUDE_FORM 1 /* 1: html file include form */
#if INCLUDE_RS232_ETHER_DEMO
#define HTML_NUM 8 /* total html file number whicth include form */
#define FORM_NUM 9 /* total form number */
#define ITEM_NUM 40 /* total item number */
#else
#define HTML_NUM 4 /* total html file number whicth include form */
#define FORM_NUM 5 /* total form number */
#define ITEM_NUM 16 /* total item number */
#endif
#define MAX_VALUE_LEN 30 /* maxim value string length */
#define MAX_FILENAME_LEN 50 /* maxim upload file name string length */
#define EVB_DHCP "$DHCP_$"
#define EVB_NET_SIP "$SRC_IP_ADDRES$"
#define EVB_NET_GWIP "$GW_IP_ADDRESS$"
#define EVB_NET_SN "$SUB_NET__MASK$"
#define EVB_NET_DNS "$DNS_SERVER_IP$"
#define EVB_NET_MAC "$SRC_MAC_ADDRESS$"
#define EVB_SEL_TCPS "$TCP_S$"
#define EVB_SEL_TCPC "$TCP_C$"
#define EVB_SEL_UDP "$UDP_S$"
#define EVB_LOCAL_PORT "$LPT$"
#define EVB_B1200 "$1200BPS$"
#define EVB_B2400 "$2400BPS$"
#define EVB_B4800 "$4800BPS$"
#define EVB_B9600 "$9600BPS$"
#define EVB_B19200 "$19200BPS$"
#define EVB_B38400 "$38400BPS$"
#define EVB_B57600 "$57600BPS$"
#define EVB_B115200 "$115200BPS$"
#define EVB_B230400 "$230400BPS$"
#define EVB_7DATABITS "$7_BITS$"
#define EVB_8DATABITS "$8_BITS$"
#define EVB_EVEN "$_EVEN_$"
#define EVB_ODD "$_ODD__$"
#define EVB_NONE_P "$_NONEP$"
#define EVB_SOFT "$_SOFT_$"
#define EVB_HARD "$_HARD_$"
#define EVB_NONE_F "$_NONEF$"
#define EVB_NET_RIP "$REM_IP_ADDRES$"
#define EVB_REMOTE_PORT "$RPT$"
#define EVB_PING_RESPONSE "$PING_$"
#define EVB_FILE_UPDATE "$FUPDT$"
#define EVB_TFTP_FILE "$FILE_NAME$"
//#define EVB_TFTP_IP "$TFTP_IP_ADDRES$"
#define TYPE_TEXT 1
#define TYPE_RADIO 2
#define TYPE_CHECKBOX 3
#define TYPE_SELECT 4
#define TYPE_FILE 5
/*****************************************************************************
* MACROS *
*****************************************************************************/
/*****************************************************************************
* DATA TYPES *
*****************************************************************************/
struct file_info_T{
/* upload file name */
UINT8 filename[MAX_FILENAME_LEN];
/* upload file length */
UINT16 filelength;
/* a pointer to upload file content */
UINT8 XDATA *filecontent;
};
struct html_info_T{
/* a pointer to html file name */
UINT8 CODE *htmlfile;
/* start position in form_info[] */
UINT8 start_form;
/* end position in form_info[] */
UINT8 end_form;
};
struct form_info_T{
/* form action */
UINT8 CODE *action;
/* web file linked to each form */
UINT8 CODE *link;
/* enctype: TEXT_PLAIN, FORM_DATA*/
UINT8 enctype;
/* start position in item_info[] */
UINT8 start;
/* end position in item_info[] */
UINT8 end;
};
struct item_info_T{
UINT8 CODE *name;
UINT8 value[MAX_VALUE_LEN];
BOOL select; /* 1: selected or checked */
UINT8 type;
UINT8 CODE *replace;
};
/*****************************************************************************
* FUNCTIONS DECLARATION *
*****************************************************************************/
extern void web_server_init(UINT8 ch);
extern void web_server_run(UINT8 ch);
#if INCLUDE_FORM
extern void set_param_init_fn(int_function func);
extern void set_param_get_fn(int_function func);
#endif
/*****************************************************************************
* GLOBAL VARIABLES DECLARATION *
*****************************************************************************/
#if INCLUDE_FORM
extern struct item_info_T item_info[ITEM_NUM];
extern struct form_info_T form_info[FORM_NUM];
extern struct file_info_T rec_file;
#endif
#endif
/** @} */
/** @} */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -