⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmlmanager.c

📁 vxworks下或者任何一个操作系统下http任务的cgi层的实现例子
💻 C
📖 第 1 页 / 共 5 页
字号:
		         	        ASSERT_BUILD_PAGE_SUCCESS(addText("IP地址:", pPage));
		         	        addLanguage("<INPUT class=text maxLength=15 size=15  value=\"\" name=\"ethIp\" onChange=ChangeTitle('NetChgFlag')>", pPage);
		         	  E_D(pPage)
		         	  B_D(pPage)
                                   ASSERT_BUILD_PAGE_SUCCESS(addText("子网掩码:", pPage));
		         	       addLanguage("<INPUT class=text maxLength=15 size=15 value=\"\" name=\"ethMask\" onChange=ChangeTitle('NetChgFlag')>", pPage);
		         	       addLanguage("&nbsp;删除<INPUT type=checkbox name=SetNetaddr value=\"on\" onclick=ChangeTitle('NetChgFlag')>", pPage);
		         	  E_D(pPage)
		         E_L(pPage)
		     E_T(pPage)
		     //table2 end
                   //table3 start
                   addLanguage("<TABLE width=440 align=center border=0><tbody>", pPage);
		         B_L("left",pPage)
		         	  B_D(pPage)
		         	        addLanguage("<INPUT type=hidden name=vLanChgFlag value=\"0\">", pPage);   //判断是否修改的标志量 0:未修改1:修改了
		         	        addLanguage("·vLan号:&nbsp;&nbsp;", pPage);
		         	        //addLanguage("<INPUT type=checkbox name=SetvLan value=\"off\" onclick=\"CheckvLan()\">", pPage);
		         	  E_D(pPage)
		         E_L(pPage)
		     E_T(pPage)
		     //table3 end
		     //table4 start
                   addLanguage("<TABLE width=400 align=center border=0><tbody>", pPage);
		         B_L("left",pPage)
		         	  B_D(pPage)
		         	        addLanguage("vLan号:<INPUT class=text maxLength=4 name=\"vLan\" size=4 value=\"1\" onChange=ChangeTitle('vLanChgFlag')>&nbsp;(1~4095)", pPage);
		                      addLanguage("&nbsp;删除<INPUT type=checkbox name=SetvLan value=\"on\" onclick=\"CheckvLan()\">", pPage);
		         	  E_D(pPage)
		         E_L(pPage)
		     E_T(pPage)
		     
		         	  
                   ASSERT_BUILD_PAGE_SUCCESS(addLanguage("</TD><TD class=vline rowSpan=15><BR></TD>", pPage));
                   E_L(pPage)
                   //下面是表的结束部分:提交按钮
                   buildSingleButton(pPage);

    //表尾(相同)
    EndPage(pPage);
    
    //隐藏数据
    addLanguage("<div id=HiddenData></div>", pPage);
    //打印相关数据便于界面解析
    addSubEBody(pPage);

    //end of action
    ASSERT_BUILD_PAGE_SUCCESS(addEndActionObject(pPage));
    ASSERT_BUILD_PAGE_SUCCESS(addLanguage("</CENTER>", pPage));
    //script
    ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<script language=\"javascript\" src=\"NetSubeth.js\" type=\"text/javascript\"></script>", pPage));
    return TRUE;

}

int addSubEBody(UINT8* pPage)
{
    int subEthNum = 0;
    int subEthMaster = 0,subEthSlave = 0;
    int i = 0;

    subEthNum = getSubEthNum();//sub-eth 总数
    for(i=0; i <subEthNum; i++)
    {
        getASubEthNo(i, &subEthMaster, &subEthSlave);
        //debugPrintf(1,"i:%d,master:%d,slave:%d\n",i, subEthMaster, subEthSlave);
        addOneSubE(pPage, subEthMaster, subEthSlave);
    }
	return 1;
}
int addOneSubE(UINT8* pPage, int subEthMaster, int subEthSlave)
{
    INPUT_INFO inputInfo;
    int vlanId = 0;
//网络地址
     {
            memset(&inputInfo, 0 , sizeof(inputInfo));
            sprintf(inputInfo.type, "hidden");
            sprintf(inputInfo.value, "1");
            sprintf(inputInfo.name, "setNetAddr%d-%d", subEthMaster, subEthSlave);
            ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));

        }
//IP
        {
            memset(&inputInfo, 0 , sizeof(inputInfo));
            sprintf(inputInfo.type, "hidden");
            sprintf(inputInfo.name, "ipAddr%d-%d", subEthMaster, subEthSlave);
            sprintf(inputInfo.value, "%s", getASubEthIp(subEthMaster, subEthSlave));
            ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
      }
//Mask
	{
            memset(&inputInfo, 0 , sizeof(inputInfo));
            sprintf(inputInfo.type, "hidden");
            sprintf(inputInfo.name, "mask%d-%d", subEthMaster, subEthSlave);
            sprintf(inputInfo.value, "%s", getASubEthMask(subEthMaster, subEthSlave));
            ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
        }
//vLanSel
        {
            memset(&inputInfo, 0 , sizeof(inputInfo));
            sprintf(inputInfo.type, "hidden");
            getASubEthVlanId(subEthMaster, subEthSlave, &vlanId);
            if (vlanId != 0)
            {
                sprintf(inputInfo.value, "1");
            }
            else
            {
                sprintf(inputInfo.value, "0");
            }   
            sprintf(inputInfo.name, "setvLan%d-%d", subEthMaster, subEthSlave);
            ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));

        }
//vLanNo
        {
        memset(&inputInfo, 0 , sizeof(inputInfo));
        sprintf(inputInfo.type, "hidden");

        if (getASubEthVlanId(subEthMaster, subEthSlave, &vlanId) == TRUE)
        {
            if (vlanId == 0)
            {
                inputInfo.value[0] = 0;
            }
            else
            {
                sprintf(inputInfo.value, "%d", vlanId);
            }
        }
        else
        {
            inputInfo.value[0] = 0;
        }   
        sprintf(inputInfo.name, "vlanid%d-%d", subEthMaster, subEthSlave);
        ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
        }
	return 1;
}
int onActionNetSubE(char * dataBuf, long bufLen, char * pageBuf, long pageLen)
{
//    UINT8 paramName[MAX_PARAM_NAME_LEN];
    UINT8 * param;
//    int ifNum = 0;
    char* ip = 0;
    char* mask = 0;
    int vlanId = 0;
    int subEthNo = 0;
    int i = 0, j = 0;//, k = 0;

    if (getHtmlParams(dataBuf, bufLen) != TRUE)
    {
        lpt(PT_WARN, "POST get html param error \n");
        return ERROR;
    }

//*****************web控键名称***********************
//子接口单元总数     :   ifUnitSnum
//子接口号                      :   chgifUnit
//是否使用网络地址:   chgsetNetAddr
//IP、mask                           :    chgipAddr 、chgmask
//vLanSel                                :    chgsetvLan
//vLanNo                                 :    chgvlanid
//*********************************************************

    for(i=0; i<4; i++)
    {
        param =  getp("chgifUnit", i);
        if(!isValidStr(param))
        {
            lpt(PT_WARN, "find chgifUnit error\n");
            continue;
        }
        subEthNo = atoi(param);
        
        /*chgsetNetAddr 查找不到即表示删除ip*/
        if (!isValidStr(getp2("chgsetNetAddr", 0, subEthNo)))//注意! 现在只能添加eth0接口上的子接口
        {
            param =  getParamsValue("CNetChgFlag");
            if(strcmp(param, "1") == 0)//ip地址已经修改了
            {
                ip = getp2("chgipAddr", 0, subEthNo);
                mask = getp2("chgmask", 0, subEthNo);

                if (isValidStr(ip) && isValidStr(mask))
                {
                    nipSetIfIp("sub-eth", 0, subEthNo, ip, mask, NIP_CMD_ADD);
                }
            }
        }
        else
        {
            nipSetIfIp("sub-eth", 0,  subEthNo, 0, 0, NIP_CMD_DEL);
        }

        if (!isValidStr(getp2("chgsetvLan", 0, subEthNo)))
        {
            param =  getParamsValue("CvLanChgFlag");
            if(strcmp(param, "1") == 0)//vlanid已经修改了
            {
                param = getp2("chgvlanid", 0, subEthNo);
                if (isValidStr(param))
                {
                    vlanId = atoi(param);
                    nipSetSubEthVlan("sub-eth", 0, subEthNo, vlanId, NIP_CMD_ADD);
                }
            }
        }
        else
        {
            nipSetSubEthVlan("sub-eth", 0, subEthNo, vlanId, NIP_CMD_DEL);
        }
    }
    
    for(i=0; i<1; i++)
    {
        for(j=1; j<=4; j++)
        {
            param = getp2("chgDelPinfo", i, j);
            if (isValidStr(param))
            {
                nipSetIfIp("sub-eth", i,  j, 0, 0, NIP_CMD_DEL);
                nipSetSubEthVlan("sub-eth", i, j, 0, NIP_CMD_DEL);
            }
        }
    }

    for(i=0; i<1; i++)
    {
        for(j=1; j<=4; j++)
        {
            nipIfAdd("sub-eth", i, j);
        }
    }

    buildNetSubEPage(pageBuf, pageLen);
    return TRUE;    
}

int buildNetRoutPage(char * fileBuf, long bufLen)
{
    UINT8 * pPage;
    INPUT_INFO inputInfo;
    
    
    pPage=buildHtmlFile("NetRout.htm", fileBuf, bufLen);
    addTitle("默认网关设置", 0, pPage);
    
   //script cookies
   addLanguage("<script language=\"javascript\" src=\"ChkLogin.Js\" type=\"text/javascript\"></script>", pPage);
   addLanguage("<script language=\"javascript\" src=\"protect.Js\" type=\"text/javascript\"></script>", pPage);
     //style
    ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<LINK href=\"style.css\" type=text/css rel=stylesheet>", pPage));
    ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<CENTER>", pPage));
    //begin of action
    ASSERT_BUILD_PAGE_SUCCESS(addBeginActionObject("/NetRout.htm", pPage));
    //界面
    B_T1(502, pPage)
        B_L("left",pPage) 
            ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD class=title width=7><IMG height=24 src=\"bmp/arc.gif\"  width=7></TD>", pPage));
            ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD class=title vAlign=center align=left width=495>默认网关</TD>", pPage));
        E_L(pPage)
        B_L("left",pPage) 
        
            ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD colSpan=2>", pPage));
            B_T1(502, pPage)
	            B_L("left",pPage) 
                   ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD class=vline rowSpan=15><BR></TD><TD width=500>", pPage));
                   B_T2(420, "space", "true", "Tbhead", "Tbhead", pPage)
                       B_L("left",pPage) 
		         	  //ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD>设置默认网关的ip地址。</TD>", pPage));
		         E_L(pPage)
		     E_T(pPage)
                   //table1 start
                   B_T2(420, "space", "false", "TbData", "TbData" ,pPage)
		         B_L("left",pPage)
		         	  B_D(pPage)
		         	      ASSERT_BUILD_PAGE_SUCCESS(addText("默认网关:", pPage));
                   		      memset(&inputInfo, 0, sizeof(inputInfo));
                                  strcpy(inputInfo.name, "defauGw");
                                  strcpy(inputInfo.type, "text");
                                  getDefaultRoute(inputInfo.value);
                                  inputInfo.size = 15; 
                                  inputInfo.maxlength= 15; 
                                 ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
                                 addLanguage("&nbsp;&nbsp;删除<input type=checkbox name=delDefGw value=off>", pPage);
		         	  E_D(pPage)
		         E_L(pPage)
		         
		     E_T(pPage)
		     //table1 end
                   ASSERT_BUILD_PAGE_SUCCESS(addLanguage("</TD><TD class=vline rowSpan=15><BR></TD>", pPage));
                   E_L(pPage)
                   //下面是表的结束部分:提交按钮
                   buildSingleButton(pPage);

    //表尾(相同)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -