📄 web.h
字号:
#ifndef _WEB_H_
#define _WEB_H_
#include "config.h"
#include "web1.h"
#include "struct.h"
#define AT24C01 0xA2
#define AUTH_MAX_COMMS 10
#define WEBMAXKIND 50
#define XMLHEAD "<?xml version=\"1.0\" encoding=\"gb2312\" ?><result>"
extern GlobalInf mGlobalInf;
//------------------------------------------------------------------------------------------------
uint8 logo_gif[] = {//982
0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x64, 0x00, 0x32, 0x00, 0xA2, 0x00, 0x00, 0xC5, 0xC5, 0xC5,
0xA6, 0xA6, 0xA6, 0x7A, 0x7A, 0x7A, 0x48, 0x48, 0x48, 0xF0, 0xF0, 0xF0, 0xDC, 0xDC, 0xDC, 0x15,
0x15, 0x15, 0xFF, 0xFF, 0xFF, 0x21, 0xF9, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00,
0x00, 0x00, 0x64, 0x00, 0x32, 0x00, 0x00, 0x03, 0xFF, 0x78, 0xBA, 0xDC, 0xFE, 0x30, 0xCA, 0x49,
0x6B, 0x23, 0x42, 0x14, 0xCB, 0xBB, 0xFF, 0x5D, 0x20, 0x04, 0x01, 0x68, 0x9E, 0x68, 0x55, 0x88,
0x64, 0xEA, 0xBE, 0x29, 0x41, 0xB6, 0x70, 0x6D, 0x5B, 0x24, 0x50, 0xDE, 0x7C, 0x7F, 0x01, 0x00,
0x82, 0x6F, 0x48, 0x8C, 0x10, 0x08, 0x05, 0x61, 0x71, 0x89, 0x02, 0x08, 0x06, 0x86, 0xE8, 0x40,
0x03, 0xC1, 0x64, 0xAE, 0x92, 0x2B, 0x56, 0xA1, 0xD5, 0xEE, 0x14, 0x56, 0x6F, 0xB8, 0x9B, 0x01,
0x1C, 0xC6, 0xD7, 0xCD, 0x04, 0x23, 0xCD, 0x40, 0xA3, 0x01, 0x25, 0xA3, 0x10, 0xAD, 0x1B, 0xD4,
0x0E, 0x80, 0x3D, 0x0A, 0xDE, 0xD7, 0x07, 0x73, 0x7E, 0x02, 0x04, 0x7E, 0x76, 0x25, 0x74, 0x7E,
0x5F, 0x10, 0x05, 0x6F, 0x5F, 0x6C, 0x51, 0x02, 0x0E, 0x04, 0x4E, 0x86, 0x10, 0x02, 0x76, 0x54,
0x0A, 0x2B, 0x7B, 0x41, 0x0D, 0x3A, 0x52, 0x00, 0x1B, 0x9B, 0x7B, 0x02, 0x9D, 0x48, 0x97, 0xA0,
0x72, 0x0F, 0x04, 0x8D, 0x0E, 0xA8, 0x06, 0x91, 0x0E, 0x88, 0x52, 0xAA, 0x0B, 0x6F, 0x51, 0xB5,
0x07, 0xAF, 0x8A, 0x0D, 0x50, 0xBC, 0xB3, 0x51, 0x78, 0x9A, 0x90, 0xB9, 0xAE, 0x90, 0x10, 0xB7,
0x66, 0x0D, 0xC0, 0x77, 0xB2, 0x7B, 0xC2, 0x5C, 0x75, 0xBC, 0x0C, 0x97, 0xCA, 0x0C, 0x01, 0x98,
0x0D, 0x97, 0x80, 0x14, 0x7A, 0x51, 0xD6, 0x0D, 0xD8, 0xB4, 0xCB, 0x7B, 0xD3, 0xAF, 0x06, 0x03,
0xD0, 0xBA, 0x75, 0xE0, 0xDA, 0x06, 0xED, 0x0A, 0xB7, 0xCD, 0x0A, 0xE2, 0xC5, 0x0E, 0x6F, 0x03,
0xF6, 0xAC, 0xEC, 0x9E, 0xE8, 0x7F, 0xF7, 0x53, 0xEA, 0xA8, 0xDB, 0x15, 0xA1, 0xDA, 0x03, 0x60,
0xDC, 0x10, 0xC1, 0x5B, 0x55, 0x27, 0x96, 0xA5, 0x86, 0xFD, 0x02, 0xDC, 0x12, 0x46, 0x27, 0x03,
0x3F, 0x77, 0xDF, 0x0A, 0xBE, 0x7B, 0x28, 0xED, 0xFF, 0x00, 0x14, 0x87, 0x13, 0xC4, 0xC1, 0x92,
0x20, 0x32, 0xDF, 0x35, 0x03, 0x22, 0x3A, 0x2E, 0xA8, 0xF6, 0x0A, 0x1E, 0xC1, 0x87, 0x0B, 0x0F,
0x30, 0xFA, 0xB3, 0x8D, 0xC3, 0x4B, 0x08, 0xDE, 0x82, 0x9D, 0x04, 0xF2, 0xCF, 0x96, 0x81, 0x47,
0x1B, 0x31, 0x06, 0x7D, 0x60, 0x10, 0x82, 0x48, 0x81, 0x1C, 0x92, 0x49, 0x00, 0x26, 0xAC, 0xDA,
0x3E, 0x9D, 0x07, 0xF4, 0x44, 0x6A, 0x69, 0x0C, 0x8E, 0xC6, 0x98, 0xF1, 0x2A, 0x71, 0xB0, 0x83,
0xF5, 0x0C, 0x57, 0x6A, 0x1B, 0x5F, 0x5E, 0x2A, 0x71, 0x73, 0xE5, 0x45, 0xA2, 0x43, 0x0F, 0x66,
0xDB, 0xAA, 0xB2, 0x8A, 0x52, 0xB3, 0x66, 0x4A, 0x66, 0x15, 0x22, 0xD2, 0x5C, 0x5B, 0x63, 0x5D,
0xD7, 0x9D, 0xA5, 0xA0, 0xB5, 0x8A, 0x9D, 0xA6, 0xCD, 0x9E, 0x1A, 0x90, 0x39, 0xF2, 0x40, 0xDD,
0xAA, 0x69, 0xDD, 0x75, 0xCD, 0x39, 0xAE, 0xC2, 0x2D, 0x90, 0x92, 0x6E, 0xA9, 0xBA, 0xA4, 0x64,
0x17, 0xB6, 0x1D, 0x87, 0x85, 0x4E, 0x83, 0x6B, 0x04, 0x8A, 0x3C, 0xC8, 0x1A, 0x8F, 0x45, 0x98,
0xC5, 0xCD, 0xA7, 0x12, 0x91, 0x4F, 0x7E, 0xD2, 0x83, 0xA8, 0xF9, 0xAA, 0x46, 0x40, 0xF2, 0xEC,
0x85, 0xEB, 0x89, 0xF3, 0xAE, 0x47, 0x93, 0x67, 0x3E, 0x2F, 0xC8, 0x7C, 0xD2, 0x2A, 0xB2, 0x79,
0x0E, 0xC4, 0x89, 0x5A, 0x3B, 0x81, 0x69, 0x68, 0xE0, 0xF1, 0x70, 0xEB, 0xF5, 0x1D, 0x95, 0x75,
0xEF, 0xC2, 0x92, 0xD0, 0x2D, 0x62, 0x7E, 0x2E, 0x6F, 0x34, 0xD1, 0x0F, 0xDE, 0x40, 0x66, 0x55,
0xDA, 0xB0, 0x1D, 0x39, 0x39, 0x41, 0xE7, 0xEC, 0x7E, 0x92, 0xBC, 0x4F, 0x90, 0x82, 0xCD, 0xAB,
0x6D, 0x4C, 0x0E, 0xEA, 0x02, 0x42, 0xDD, 0x9F, 0x82, 0x0C, 0x1F, 0x19, 0xE9, 0x3D, 0x94, 0x68,
0x95, 0xAF, 0xB6, 0xCD, 0x11, 0x3A, 0x83, 0x56, 0xFF, 0x17, 0x48, 0x07, 0x16, 0x7E, 0x0B, 0x8C,
0x87, 0x16, 0x28, 0x0C, 0x3C, 0x92, 0x8B, 0x38, 0x0B, 0xC9, 0x63, 0xDD, 0x72, 0xBC, 0xA0, 0x02,
0xDA, 0x23, 0x9D, 0xEC, 0x27, 0x07, 0x50, 0x77, 0xD4, 0x22, 0x18, 0x3A, 0x22, 0xA4, 0x46, 0xE0,
0x02, 0x05, 0xEC, 0xA2, 0xA1, 0x3C, 0xEF, 0xC8, 0x66, 0x16, 0x24, 0xA1, 0x00, 0xA0, 0x9D, 0x33,
0x76, 0x28, 0x27, 0xE0, 0x72, 0x2D, 0xE6, 0x51, 0x88, 0x6D, 0x8C, 0xD9, 0xE7, 0x5D, 0x21, 0xFA,
0xE1, 0x44, 0x22, 0x3A, 0x0B, 0xA9, 0x38, 0xC0, 0x8F, 0x3F, 0xCA, 0x31, 0xC2, 0x4A, 0x40, 0x16,
0xA9, 0x1E, 0x86, 0x08, 0x7A, 0x62, 0xE4, 0x8F, 0x78, 0x60, 0xB3, 0xE4, 0x8B, 0x14, 0xC8, 0x30,
0x83, 0x89, 0x47, 0x54, 0x29, 0x41, 0x95, 0x58, 0x52, 0x59, 0x00, 0x10, 0x15, 0xAE, 0x92, 0x65,
0x31, 0x58, 0x32, 0x21, 0xE6, 0x98, 0x64, 0x96, 0x69, 0xE6, 0x99, 0x68, 0xA6, 0x79, 0x01, 0x18,
0x26, 0xAA, 0x59, 0x20, 0x3C, 0x48, 0x9C, 0x91, 0x65, 0x82, 0x71, 0xCD, 0x10, 0xC7, 0x32, 0x83,
0xE8, 0x02, 0x9A, 0x9B, 0x86, 0x01, 0xD9, 0x61, 0x1E, 0xE9, 0xF8, 0xE3, 0x19, 0x03, 0x2A, 0xAE,
0x10, 0x10, 0x68, 0x12, 0x1D, 0x21, 0x82, 0x95, 0x7C, 0x72, 0x51, 0x4A, 0x00, 0x21, 0x8E, 0x70,
0xA7, 0x2D, 0x90, 0x66, 0x50, 0xC0, 0xA5, 0xDA, 0x44, 0x22, 0x91, 0x7A, 0x6E, 0x14, 0x99, 0x98,
0x9A, 0x19, 0x18, 0xE6, 0x23, 0x14, 0xAA, 0x04, 0x10, 0xD7, 0x9E, 0x67, 0xE8, 0x90, 0x5A, 0x29,
0xBD, 0x70, 0x09, 0xC4, 0xA5, 0x6D, 0x92, 0xF9, 0x44, 0x87, 0x83, 0x84, 0x38, 0xC7, 0x69, 0xE8,
0x0C, 0x00, 0x4E, 0x28, 0xAC, 0x38, 0xF1, 0x67, 0x81, 0xEF, 0x6C, 0x3A, 0x6B, 0xA3, 0x2B, 0x09,
0x2B, 0x51, 0x97, 0xFB, 0x98, 0x91, 0x01, 0x2B, 0x9B, 0x8E, 0x04, 0x39, 0xC5, 0xB3, 0x20, 0xFD,
0x98, 0xE2, 0x96, 0xA1, 0x10, 0xCB, 0x85, 0x13, 0x91, 0xB0, 0x52, 0x0B, 0x23, 0xCA, 0x2A, 0xCB,
0x4B, 0x3A, 0x23, 0x0C, 0xF0, 0xEB, 0x19, 0x2C, 0x3C, 0x01, 0x24, 0xAA, 0x68, 0x96, 0xF2, 0xC4,
0x11, 0x9F, 0xB2, 0x9A, 0x8E, 0x2E, 0x11, 0x32, 0x52, 0x24, 0x64, 0xA5, 0x20, 0x71, 0x69, 0x12,
0xD6, 0xEA, 0x99, 0x46, 0xBB, 0x24, 0x00, 0xD2, 0xAB, 0x36, 0xDC, 0x8A, 0x1B, 0x2A, 0x35, 0x9F,
0x9C, 0x9B, 0xAF, 0xA5, 0x8A, 0x4E, 0xE1, 0x8A, 0x8A, 0x41, 0x30, 0xD9, 0x8B, 0xAD, 0xEA, 0xD2,
0x3B, 0x03, 0x3D, 0xE8, 0x9E, 0xF9, 0x44, 0x19, 0xE9, 0x88, 0x4B, 0x28, 0x87, 0x0A, 0x54, 0x0B,
0x56, 0xA8, 0x9F, 0xB4, 0xF3, 0xA8, 0xB8, 0xE3, 0x36, 0x8A, 0xED, 0x25, 0x91, 0xE8, 0x61, 0x0D,
0xC9, 0x4B, 0xAA, 0xC1, 0x4A, 0x88, 0x53, 0xB8, 0x91, 0xC9, 0xB5, 0xE6, 0xA2, 0x9C, 0x2F, 0x88,
0xA5, 0x75, 0xA9, 0xC6, 0x0A, 0x1D, 0x4E, 0x7A, 0x86, 0x26, 0xB4, 0x42, 0x66, 0xAA, 0xA9, 0x1D,
0x6F, 0x96, 0x42, 0x02, 0x00, 0x3B,
};
//------------------------------------------------------------------------------------------------
uint8 webHtmls[WEBMAXKIND][30] = {
"index.jsp","busy.gif", "idle.gif", "logo.gif", "InitMenu.js","objTree.js","Tree.htm",
"VersionShow", "DefaultCfg","Redir.js","common.js","snmp.js","Comm.htm","Trap.htm",
"AddComm","Login","Logout","PwCfgShow","GetUserInfo","NetCfgShow","Misc","setmac",
"Restart","upload.htm","box.htm","bandwidth.htm","loopback.htm","parameter.htm",
"vlantable.htm","vlanconfig.htm","vcg.htm","gfp.htm","clock.htm","error.htm",
"mode.htm","reset.htm","parsexml.js","limit.htm","mask.htm","capability.htm",
};
//------------------------------------------------------------------------------------------------
uint8 httpHead[]={
"HTTP/1.1 200 OK\r\n"
"Date: Mon, 24 Nov 2003 01:24:17 GMT\r\n"
"Server: microHttp/1.0 Tianjin OMUX communicaion technology co.,ltd.\r\n"
"Connection: Keep-Alive\r\n"
"Content-Type: text/html\r\n"
"Cache-Control: no-cache\r\n"
"\r\n"};
//------------------------------------------------------------------------------------------------
uint8 httpHeadXML[]={
"HTTP/1.1 200 OK\r\n"
"Date: Mon, 24 Nov 2003 01:24:17 GMT\r\n"
"Server: microHttp/1.0 Tianjin OMUX communicaion technology co.,ltd.\r\n"
"Connection: Keep-Alive\r\n"
"Content-Type: text/xml\r\n"
"Cache-Control: no-cache\r\n"
"\r\n"};
//------------------------------------------------------------------------------------------------
uint8 httpImg[]={
"HTTP/1.1 200 OK\r\n"
"Date: Mon, 24 Nov 2003 01:24:17 GMT\r\n"
"Server: microHttp/1.0 Tianjin OMUX communicaion technology co.,ltd.\r\n"
"Connection: Keep-Alive\r\n"
"Content-Type: image/gif\r\n"
"\r\n"};
//------------------------------------------------------------------------------------------------
uint8 ClientHost[5],nDisplayHome = FALSE,SuperUserIp[4];
uint8 OldSuperIp[4];
uint8 IsSuperUser=0;
int VlanPos[2] ={0,0};
uint8 VlanListPos[2] ={0,0};
/***********************************************************
* 外部变量声明start *
***********************************************************/
extern uint8 TcpTemp;
extern uint8 LogoutFlag;
extern uint8 nLogout ;
extern uint32 nTimeout ;
extern GlobalConfig mGloablCfg; //全局网络参数配置
extern GlobalInf mGlobalInf; //全局信息参数配置
//第6位 0:表示v1 1:表示v2
extern uint8 nResetFlag;
extern uint8 nLogin ;
extern uint32 nBoxAddr;
extern box_t pBox[2];
extern vlan_t pVlan[2][4095];
extern vlanlist_t pVlanList[2][4];
extern packet_t packet[2][4];
extern uint32 e1_packet[2][16];
//------------------------------------------------------------------------------------------------
//十进制转字符
char * IntToStr(uint32 n,char *p);
char * ValueToStr(uint8 *buf,char *p);
//十六进制转字符
char * HexToStr(uint8 n,char *p);
//字符转十进制
uint32 StrToInt(char *p);
//字符转16进制
uint32 StrToHex(char *p);
//10的n次方
uint32 func10n(int n);
//16的n次方
uint32 func16n(int n);
//获得回应
void GetResponse(char *dest,char *src,char *content);
//web处理
uint8 ProcessWeb(tcplist *tcpbuf);
//解析http
uint8 ParseHttp(uint8* buf,http* list,uint8 *listLen);
int ParseHttpLength(uint8* buf);
//发送web信息到client
uint8 SendToClient(uint8* buf,uint8 tcpid);
//用户登录首页
void web_login(uint8 tcpid);
//获取ip值
void GetIp(uint8 *dest,uint8 *src);
//解析web请求
void ParseWebRequest(uint8 type,http *list,uint8 tcpid);
//用户登录错误
void web_loginErr(uint8 tcpid);
//验证用户登录信息
uint8 web_loginCheck(char* username,char* pw,uint8 tcpid);
//验证用户是否已经登录
uint8 CheckUserIp(uint8* ip);
//获取网管卡信息
void GetNetInfo(uint8 *buf);
void GetCommInfo(uint8 *buf);
void GetTrapInfo(uint8 *buf);
void web_TrapIpDel(http *buf);
void web_TrapIpAdd(http *buf);
void web_CommDel(http *buf);
void GetComm(uint8 *dest,uint8 *src);
void web_CommAdd(http *buf);
void web_MacSet(void);
void GetMac(uint8 *dest,uint8 *src);
uint8 web_NetSet(void);
void web_CommTrapSet(void);
void web_UserInfoSet(void);
void RestoreDef(void);
uint8 web_Upload(http *list);
void GetTemp(uint8 t,char *buf);
void SetStates(http *list,uint8* buf);
void GetEquStates(uint8 *buf,int i);
void GetEquTxRx(uint8 *buf,int i);
void GetEquConfig(uint8 *buf,int type,int i);
void GetVlanId(uint8 *buf,int i,int n,int pos);
void GetVlanList(uint8 *buf,int i);
void GetPackets(uint8 *buf,int i);
void SetLimitValue(http *list);
uint8 CheckLoginUser(uint8* ip,uint8 tcpid,http *list);
uint8 CheckSuperUser(uint8* ip,uint8 tcpid,http *list);
uint8 CheckSuperUserIp(uint8* ip,uint8* src);
extern uint16 send( uint8 num, uint8 *buf, uint16 len, int flags );
extern uint8 ISendStr(uint8 sla, uint32 suba, uint8 *s, uint32 num);
extern void DelayNS(uint32 dly);
extern void restartsys(uint16 box);
extern int PostMsg(uint8* buf);
//------------------------------------------------------------------------------------------------
#endif /* __WEB_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -