📄 main.c.bak
字号:
#class auto
#ifdef FREQ_184320
#define FREQ_9600 60
#define FREQ_19200 30
#else
#define FREQ_9600 36
#define FREQ_19200 18
#endif
#define HTTP_MAXSERVERS 1
#define MAX_TCP_SOCKET_BUFFERS 1
#define USE_ETHERNET 0x01
//#define HTTP_SOCK_BUF_SIZE 4096
//#define USE_HTTP_DIGEST_AUTHENTICATION 1
#define HTTP_MAXBUFFER 0x2000
#define FORM_ERROR_BUF 2048
#define TCPCONFIG 0
#define LOCAL_IP "192.192.4.12"
#define LOCAL_NETMASK "255.255.255.0"
#define LOCAL_GATEWAY "192.192.4.1"
/********************************
* End of configuration section *
********************************/
#define TIMEZONE -8
#memmap xmem
//#ifdef _RAM_
// #use "HuaHTFTP.lib"
// #use "BootRom.c"
//#endif
#use "dcrtcp.lib"
#use "http.lib"
#use "Variables.c"
#use "Funcs.c"
#use "Chip.c"
#use "Store.c"
#use "Cgi.c"
#use "Arp.c"
#define DISABLE_DNS
#define DISABLE_UDP
#ximport "D:/Dowork/Ethux/myweb/index.htm" index_html
#ximport "D:/Dowork/Ethux/myweb/leftFrame.htm" leftFrame_html
#ximport "D:/Dowork/Ethux/myweb/EqInfo.shtml" EqInfo_html
//#ximport "D:/Dowork/Ethux/myweb/Ethinfo.htm" Ethinfo_html
#ximport "D:/Dowork/Ethux/myweb/E1info.htm" E1info_html
#ximport "D:/Dowork/Ethux/myweb/Password.htm" Password_html
#ximport "D:/Dowork/Ethux/myweb/SetEthinfo.htm" SetEthinfo_html
#ximport "D:/Dowork/Ethux/myweb/SetE1Lb.htm" SetE1Lb_html
#ximport "D:/Dowork/Ethux/myweb/SetE1info.htm" SetE1info_html
#ximport "D:/Dowork/Ethux/myweb/hh.htm" hh_html
#ximport "D:/Dowork/Ethux/myweb/Reboot.htm" Reboot_html
//#ximport "D:/Dowork/Ethux/myweb/js/confirm.js" confirm_js
#ximport "D:/Dowork/Ethux/myweb/pic/r.gif" r_gif
#ximport "D:/Dowork/Ethux/myweb/pic/rn.gif" rn_gif
#ximport "D:/Dowork/Ethux/myweb/pic/b.gif" b_gif
#ximport "D:/Dowork/Ethux/myweb/pic/bn.gif" bn_gif
SSPEC_MIMETABLE_START
SSPEC_MIME_FUNC(".shtml", "text/html", shtml_handler),
SSPEC_MIME(".html", "text/html"),
SSPEC_MIME(".gif", "image/gif"),
SSPEC_MIME(".jpg", "image/jpg"),
SSPEC_MIME(".cgi", "")
SSPEC_MIMETABLE_END
extern char bios_divider19200;
extern char freq_divider;
SSPEC_RESOURCETABLE_START
SSPEC_RESOURCE_XMEMFILE("/index.html", index_html),
SSPEC_RESOURCE_XMEMFILE("leftFrame.htm", leftFrame_html),
SSPEC_RESOURCE_XMEMFILE("EqInfo.shtml", EqInfo_html),
//SSPEC_RESOURCE_XMEMFILE("Ethinfo.htm", Ethinfo_html),
SSPEC_RESOURCE_XMEMFILE("E1info.htm", E1info_html),
SSPEC_RESOURCE_XMEMFILE("Password.htm", Password_html),
SSPEC_RESOURCE_XMEMFILE("SetEthinfo.htm", SetEthinfo_html),
SSPEC_RESOURCE_XMEMFILE("SetE1Lb.htm", SetE1Lb_html),
SSPEC_RESOURCE_XMEMFILE("SetE1info.htm", SetE1info_html),
SSPEC_RESOURCE_XMEMFILE("/Admin/hh.htm", hh_html),
SSPEC_RESOURCE_XMEMFILE("Reboot.htm", Reboot_html),
//SSPEC_RESOURCE_XMEMFILE("js/confirm.js", confirm_js),
SSPEC_RESOURCE_XMEMFILE("/r.gif", r_gif),
SSPEC_RESOURCE_XMEMFILE("/rn.gif", rn_gif),
SSPEC_RESOURCE_XMEMFILE("/b.gif", b_gif),
SSPEC_RESOURCE_XMEMFILE("/bn.gif", bn_gif),
SSPEC_RESOURCE_FUNCTION("/Admin/AdRet.cgi",AdRetCgi),
SSPEC_RESOURCE_FUNCTION("/Reboot.cgi",RebootCgi),
SSPEC_RESOURCE_FUNCTION("/SetEth.cgi", SetEthCgi),
SSPEC_RESOURCE_FUNCTION("/SetLb.cgi",SetLbCgi),
SSPEC_RESOURCE_FUNCTION("/SetE1info1.cgi",SetE1info1Cgi),
SSPEC_RESOURCE_FUNCTION("/SetE1info2.cgi",SetE1info2Cgi),
SSPEC_RESOURCE_FUNCTION("/SetE1info3.cgi",SetE1info3Cgi),
SSPEC_RESOURCE_FUNCTION("/ChPwd.cgi",ChPwdCgi),
SSPEC_RESOURCE_ROOTVAR("Logo", &LogoPic, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("g_HardwareVer", &g_HardwareVer, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("g_SoftVer", &g_SoftVer, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("ucIPAddr", &g_DispAddrInfo.ip[0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("ucMask", &g_DispAddrInfo.netmask[0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("ucGateway", &g_DispAddrInfo.gateway[0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("ucMacAddr", &g_DispAddrInfo.macaddress[0], PTR16, "%s"),
///////////////////////////For Advance Para/////////////////////////////////////
SSPEC_RESOURCE_ROOTVAR("Oem0", &AdvanPara.OemUser[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Oem1", &AdvanPara.OemUser[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Oem2", &AdvanPara.OemUser[2][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Maddr", &AdvanPara.EqMac[0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("FrmTyp", &AdvanPara.EthFrmType, INT16, "%04X"),
SSPEC_RESOURCE_ROOTVAR("EnpFlg", &AdvanPara.EnpFlg, INT16, "%04X"),
SSPEC_RESOURCE_ROOTVAR("SrcU", &AdvanPara.SrcPort, INT16, "%04X"),
SSPEC_RESOURCE_ROOTVAR("DstU", &AdvanPara.DstPort, INT16, "%04X"),
SSPEC_RESOURCE_ROOTVAR("EnpPro", &(AdvanPara.Protocol), INT8, "%02X"),
SSPEC_RESOURCE_ROOTVAR("Fitl", &(AdvanPara.Filter), INT8, "%02X"),
SSPEC_RESOURCE_ROOTVAR("IpTl", &(AdvanPara.SetTtl), INT8, "%02X"),
////////////////////////////////////////////////////////////////////
//SSPEC_RESOURCE_ROOTVAR("FirUpLink", &FirstUp.Link[0], PTR16, "%s"),
//SSPEC_RESOURCE_ROOTVAR("FirDataLink", &FirstData.Link[0], PTR16, "%s"),
//SSPEC_RESOURCE_ROOTVAR("SedDataLink", &SecondData.Link[0], PTR16, "%s"),
//SSPEC_RESOURCE_ROOTVAR("FirUpModel", &FirstUp.Model[0], PTR16, "%s"),
//SSPEC_RESOURCE_ROOTVAR("FirDataModel", &FirstData.Model[0], PTR16, "%s"),
//SSPEC_RESOURCE_ROOTVAR("SedDataModel", &SecondData.Model[0], PTR16, "%s"),
//SSPEC_RESOURCE_ROOTVAR("FirUpSpeed", &FirstUp.Speed, INT8, "%d"),
//SSPEC_RESOURCE_ROOTVAR("FirDataSpeed", &FirstData.Speed, INT8, "%d"),
//SSPEC_RESOURCE_ROOTVAR("SedDataSpeed", &SecondData.Speed, INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("LOS0", &E1State[0].Los, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("LOS1", &E1State[1].Los, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("LOS2", &E1State[2].Los, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("LOS3", &E1State[3].Los, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("AIS0", &E1State[0].Ais, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("AIS1", &E1State[1].Ais, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("AIS2", &E1State[2].Ais, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("AIS3", &E1State[3].Ais, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("LLB0", &E1State[0].Llb, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("LLB1", &E1State[1].Llb, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("LLB2", &E1State[2].Llb, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("LLB3", &E1State[3].Llb, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("RLB0", &E1State[0].Rlb, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("RLB1", &E1State[1].Rlb, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("RLB2", &E1State[2].Rlb, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("RLB3", &E1State[3].Rlb, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("CL0", &E1State[0].CtrlL, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("CL1", &E1State[1].CtrlL, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("CL2", &E1State[2].CtrlL, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("CL3", &E1State[3].CtrlL, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("CR0", &E1State[0].CtrlR, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("CR1", &E1State[1].CtrlR, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("CR2", &E1State[2].CtrlR, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("CR3", &E1State[3].CtrlR, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Eq_IP0", &NetworkCfg.DstIp[0], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_IP1", &NetworkCfg.DstIp[1], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_IP2", &NetworkCfg.DstIp[2], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_IP3", &NetworkCfg.DstIp[3], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_Mk0", &NetworkCfg.Mask[0], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_Mk1", &NetworkCfg.Mask[1], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_Mk2", &NetworkCfg.Mask[2], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_Mk3", &NetworkCfg.Mask[3], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_Gy0", &NetworkCfg.Gateway[0], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_Gy1", &NetworkCfg.Gateway[1], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_Gy2", &NetworkCfg.Gateway[2], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Eq_Gy3", &NetworkCfg.Gateway[3], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("Enable0", &DispE1Para1[0].Enable, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Enable1", &DispE1Para1[1].Enable, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Enable2", &DispE1Para1[2].Enable, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Enable3", &DispE1Para1[3].Enable, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map0_0", &DispE1Para1[0].Port[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map0_1", &DispE1Para1[0].Port[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map0_2", &DispE1Para1[0].Port[2][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map0_3", &DispE1Para1[0].Port[3][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map1_0", &DispE1Para1[1].Port[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map1_1", &DispE1Para1[1].Port[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map1_2", &DispE1Para1[1].Port[2][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map1_3", &DispE1Para1[1].Port[3][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map2_0", &DispE1Para1[2].Port[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map2_1", &DispE1Para1[2].Port[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map2_2", &DispE1Para1[2].Port[2][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map2_3", &DispE1Para1[2].Port[3][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map3_0", &DispE1Para1[3].Port[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map3_1", &DispE1Para1[3].Port[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map3_2", &DispE1Para1[3].Port[2][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Map3_3", &DispE1Para1[3].Port[3][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("IP0_0", &DispE1Para1[0].DstIp[0], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP0_1", &DispE1Para1[0].DstIp[1], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP0_2", &DispE1Para1[0].DstIp[2], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP0_3", &DispE1Para1[0].DstIp[3], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP1_0", &DispE1Para1[1].DstIp[0], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP1_1", &DispE1Para1[1].DstIp[1], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP1_2", &DispE1Para1[1].DstIp[2], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP1_3", &DispE1Para1[1].DstIp[3], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP2_0", &DispE1Para1[2].DstIp[0], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP2_1", &DispE1Para1[2].DstIp[1], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP2_2", &DispE1Para1[2].DstIp[2], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP2_3", &DispE1Para1[2].DstIp[3], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP3_0", &DispE1Para1[3].DstIp[0], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP3_1", &DispE1Para1[3].DstIp[1], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP3_2", &DispE1Para1[3].DstIp[2], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("IP3_3", &DispE1Para1[3].DstIp[3], INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("CacLen0", &DispE1Para2[0].JitBuf, INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("CacLen1", &DispE1Para2[1].JitBuf, INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("CacLen2", &DispE1Para2[2].JitBuf, INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("CacLen3", &DispE1Para2[3].JitBuf, INT8, "%d"),
SSPEC_RESOURCE_ROOTVAR("EnVl0", &DispE1Para2[0].Vlan, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EnVl1", &DispE1Para2[1].Vlan, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EnVl2", &DispE1Para2[2].Vlan, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EnVl3", &DispE1Para2[3].Vlan, PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("VId0", &DispE1Para2[0].V_ID, INT16, "%04x"),
SSPEC_RESOURCE_ROOTVAR("VId1", &DispE1Para2[1].V_ID, INT16, "%04x"),
SSPEC_RESOURCE_ROOTVAR("VId2", &DispE1Para2[2].V_ID, INT16, "%04x"),
SSPEC_RESOURCE_ROOTVAR("VId3", &DispE1Para2[3].V_ID, INT16, "%04x"),
SSPEC_RESOURCE_ROOTVAR("EnLev0", &DispE1Para3.EnLev[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EnLev1", &DispE1Para3.EnLev[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EnLev2", &DispE1Para3.EnLev[2][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EnLev3", &DispE1Para3.EnLev[3][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EnLev4", &DispE1Para3.EnLev[4][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EorT0", &DispE1Para3.E1orT1[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("EorT1", &DispE1Para3.E1orT1[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("IpOk0", &DispE1Para3.EnIp[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("IpOk1", &DispE1Para3.EnIp[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Clk0", &DispE1Para3.ClkMod[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("Clk1", &DispE1Para3.ClkMod[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("App0", &DispE1Para3.AppMod[0][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("App1", &DispE1Para3.AppMod[1][0], PTR16, "%s"),
SSPEC_RESOURCE_ROOTVAR("IpTos", &DispE1Para3.uiTos, INT8, "%02x"),
SSPEC_RESOURCE_ROOTVAR("Uband", &DispE1Para3.uiUp, INT16, "%u")
SSPEC_RESOURCETABLE_END
const void (* g_Tasks[]) ( ) = {
Updata,
RefCfg,
Calcval
};
void main()
{
unsigned char ucTaskIndx,i;
#GLOBAL_INIT
{
freq_divider = FREQ_9600;
bios_divider19200 = FREQ_19200;
}
ucTaskIndx=0;
InitSystem();
DefVarsInit();
InitPurview();
sock_init();
SetAddr();
http_init();
tcp_reserveport(80);
CfgFpga();
while (1)
{
ucTaskIndx = (ucTaskIndx + 1) % (sizeof(g_Tasks)/sizeof(g_Tasks[0]));
g_Tasks[ucTaskIndx]( );
ChkPlectrum();
http_handler();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -