first submission
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
/********************************** (C) COPYRIGHT *******************************
|
||||
* File Name : HTTPS.h
|
||||
* Author : WCH
|
||||
* Version : V1.0.0
|
||||
* Date : 2022/05/31
|
||||
* Description : HTTP related parameters.
|
||||
*********************************************************************************
|
||||
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
|
||||
* Attention: This software (modified or not) and binary are used for
|
||||
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef __HTTPS_H__
|
||||
#define __HTTPS_H__
|
||||
#include "debug.h"
|
||||
#include "wchnet.h"
|
||||
|
||||
/*Address where configuration
|
||||
* information is stored*/
|
||||
#define PAGE_WRITE_START_ADDR ((uint32_t)0x0801FC00) /* Start from 127K */
|
||||
#define PAGE_WRITE_END_ADDR ((uint32_t)0x08020000) /* End at 128K */
|
||||
#define FLASH_PAGE_SIZE 256
|
||||
|
||||
#define BASIC_CFG_ADDR ((uint32_t)0x0801FC00)
|
||||
#define PORT_CFG_ADDR ((uint32_t)0x0801FD00)
|
||||
#define LOGIN_CFG_ADDR ((uint32_t)0x0801FE00)
|
||||
#define BASIC_CFG_LEN 40
|
||||
#define PORT_CFG_LEN 40
|
||||
#define LOGIN_CFG_LEN 40
|
||||
|
||||
|
||||
#define MAX_URL_SIZE 128
|
||||
#define HTTP_SERVER_PORT 80
|
||||
|
||||
/* HTTP请求方法 */
|
||||
#define METHOD_ERR 0
|
||||
#define METHOD_GET 1
|
||||
#define METHOD_HEAD 2
|
||||
#define METHOD_POST 3
|
||||
|
||||
/* HTTP请求类型 */
|
||||
#define PTYPE_ERR 0
|
||||
#define PTYPE_HTML 1
|
||||
#define PTYPE_PNG 2
|
||||
#define PTYPE_CSS 3
|
||||
#define PTYPE_GIF 4
|
||||
|
||||
/*WCHNET网页通信协议定义*/
|
||||
#define MODE_TCPSERVER 0
|
||||
#define MODE_TCPCLIENT 1
|
||||
|
||||
/* HTML Doc. for ERROR */
|
||||
#define RES_HTMLHEAD_OK "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n" //HTML type response message, the last two \r\n must have
|
||||
|
||||
#define RES_PNGHEAD_OK "HTTP/1.1 200 OK\r\nContent-Type: image/png\r\n\r\n" //PNG type response message, the last two \r\n must have
|
||||
|
||||
#define RES_CSSHEAD_OK "HTTP/1.1 200 OK\r\nContent-Type: text/css\r\n\r\n" //CSS type response message, the last two \r\n must have
|
||||
|
||||
#define RES_GIFHEAD_OK "HTTP/1.1 200 OK\r\nContent-Type: image/gif\r\n\r\n" //GIF type response message, the last two \r\n must have
|
||||
/*-----------------*/
|
||||
|
||||
typedef struct Basic_Cfg //Basic configuration parameters
|
||||
{
|
||||
u8 flag[2]; //Configuration information verification code: 0x57,0xab
|
||||
u8 mac[6];
|
||||
u8 ip[4];
|
||||
u8 mask[4];
|
||||
u8 gateway[4];
|
||||
} *Basic_Cfg;
|
||||
|
||||
|
||||
typedef struct Port_Cfg //Port configuration parameters
|
||||
{
|
||||
u8 flag[2]; //Configuration information verification code: 0x57,0xab
|
||||
u8 mode;
|
||||
u8 src_port[2];
|
||||
u8 des_ip[4];
|
||||
u8 des_port[2];
|
||||
} *Port_Cfg;
|
||||
|
||||
|
||||
typedef struct Login_Cfg //Login configuration parameters
|
||||
{
|
||||
u8 flag[2]; //Configuration information verification code: 0x57,0xab
|
||||
u8 user[10];
|
||||
u8 pass[10];
|
||||
} *Login_Cfg;
|
||||
|
||||
|
||||
typedef struct _st_http_request //Browser request information
|
||||
{
|
||||
char METHOD;
|
||||
char TYPE;
|
||||
char URL[MAX_URL_SIZE];
|
||||
}st_http_request;
|
||||
|
||||
typedef struct Para_Tab //Configuration information parameter table
|
||||
{
|
||||
char *para; //Configuration item name
|
||||
char value[20]; //Configuration item value
|
||||
}Parameter;
|
||||
|
||||
extern Basic_Cfg Basic_CfgBuf;
|
||||
|
||||
extern Login_Cfg Login_CfgBuf;
|
||||
|
||||
extern Port_Cfg Port_CfgBuf;
|
||||
|
||||
extern st_http_request *http_request;
|
||||
|
||||
extern u8 basicbuf[BASIC_CFG_LEN];
|
||||
|
||||
extern u8 portbuf[PORT_CFG_LEN];
|
||||
|
||||
extern u8 loginbuf[LOGIN_CFG_LEN];
|
||||
|
||||
extern u8 Basic_Default[BASIC_CFG_LEN];
|
||||
|
||||
extern u8 Login_Default[LOGIN_CFG_LEN];
|
||||
|
||||
extern u8 Port_Default[PORT_CFG_LEN];
|
||||
|
||||
extern u8 httpweb[200] ;
|
||||
|
||||
extern u8 RecvBuffer[];
|
||||
|
||||
extern u8 DealDataflag;
|
||||
|
||||
extern u8 socket;
|
||||
|
||||
extern void ParseHttpRequest(st_http_request *, char *);
|
||||
|
||||
extern void ParseURLType(char *, char *);
|
||||
|
||||
extern void MakeHttpResponse(unsigned char *, char);
|
||||
|
||||
extern char *GetURLName(char* url);
|
||||
|
||||
extern char *DataLocate(char *buf,char *name);
|
||||
|
||||
extern void copy_flash(const char *html, u32 len);
|
||||
|
||||
extern void Init_Para_Tab(void) ;
|
||||
|
||||
extern void Web_Server(void);
|
||||
|
||||
extern void WEB_ERASE(u32 Page_Address, u32 Length );
|
||||
|
||||
extern FLASH_Status WEB_WRITE( u32 StartAddr, u8 *Buffer, u32 Length );
|
||||
|
||||
extern void WEB_READ( u32 StartAddr, u8 *Buffer, u32 Length );
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user