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

📄 htmlmanager.c

📁 vxworks下或者任何一个操作系统下http任务的cgi层的实现例子
💻 C
📖 第 1 页 / 共 5 页
字号:
                //int ifNo=0;
               // ifNo = getAVirIfNo(index);
                memset(&inputInfo, 0, sizeof(inputInfo));
                strcpy(inputInfo.type, "hidden"); 
                sprintf(inputInfo.name, "password%d", ethNo); 
                sprintf(inputInfo.value, "%s", getPapPassword(index));
                ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));

                sprintf(inputInfo.name, "chapPassFlag%d", ethNo); 
                strcpy(inputInfo.type, "hidden");  
                if (useChap(index))
                {
                    sprintf(inputInfo.value,"1");
                }
                else
                {
                    sprintf(inputInfo.value,"0");
                }
                ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));

                strcpy(inputInfo.type, "hidden"); 
                sprintf(inputInfo.name, "chapPassword%d", ethNo); 
                sprintf(inputInfo.value, "%s", getChapPassword(index));
                ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
    	 }
//SelDHCP
	{
                memset(&inputInfo, 0, sizeof(inputInfo));
                strcpy(inputInfo.type, "hidden"); 
                sprintf(inputInfo.name, "dhcp%d", ethNo); 
                if(haveSetDhcp(index))//dhcp已设置
                {
                    sprintf(inputInfo.value,"1");
                }
                else//静态设置的ip
                {
                    sprintf(inputInfo.value,"0");
                }
                 ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));

       }

 return 1;
}

int onActionNetwork(char * dataBuf, long bufLen, char * pageBuf, long pageLen)
{
    UINT8 * param;
    int ifNum =0;
    int ifunit = 0;
    char* ip = 0;
    char* mask = 0;
    char* papuser = 0;
    char* pappassword = 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打印的控键名称*************************************
//接口单元总数:              ifUnitnum
//接口号                      :   chgifUnit
//是否使用网络地址:   chgSetNetaddr
//ip、mask              :                 chgethIp 、chgethMask
//PPPOE                     :                 chgProtoType
//用户名、密码    :          chgUsername、chgpassword 、chgDelPro(是否删除)
//主机名、密码    :          chgchapNameFlag、chgchapName、chgchapPassFlag、chgchapPass
//DHCP                             :          chgdhcp
//******************************************************************************************

//没选中则取得的值为NULL    
//网络地址:    

//修改标识符CNetChgFlag、CPChgFlag、CPNChgFlag、CDChgFlag  //判断是否修改的标志量 0:未修改1:修改了
    param = getParamsValue("ifUnitnum");
    if (!isValidStr(param))
    {
        lpt1(PT_WARN, "ifUnitnum %s\n", param);
        return FALSE;
    }
    ifNum = atoi(param);//接口数量

    for (i=0; i<ifNum; i++)
    {
        param = getp("chgifUnit", i);
        if (!isValidStr(param))
        {
            lpt(PT_WARN, "find chgifUnit error\n");
            continue;
        }
        ifunit = atoi(param);

        /*************dhcp设置项***************************/
        if (isValidStr(getp("chgdhcp", ifunit)))
        {
            nipEthSetDhcp(ifunit, NIP_CMD_ADD);
        }
        else
        {
            //取消使用dhcp,但本来是dhcp,必须将ip地址设上,否则将不能访问
            if (ethIsDhcp(ifunit))
            {
                ip = getp("chgethIp", ifunit);
                mask = getp("chgethMask", ifunit);
                nipSetIfIp("eth", ifunit, 0, ip, mask, NIP_CMD_ADD);
            }
            else//本来就不是dhcp,则设置ip地址
            {
                /*************ip 地址的设置*****************/
                if (isValidStr(getp("chgSetNetaddr", ifunit)))//删除接口ip
                {
                    nipSetIfIp("eth", ifunit, 0, 0, 0, NIP_CMD_DEL);//需要删除ip地址
                }
                else
                {
                    if (strcmp(getParamsValue("CNetChgFlag"), "1") ==0)//ip地址已修改
                    {
                        ip = getp("chgethIp", ifunit);
                        mask = getp("chgethMask", ifunit);
                        nipSetIfIp("eth", ifunit, 0, ip, mask, NIP_CMD_ADD);
                    }
                }
            }

            nipEthSetDhcp(ifunit, NIP_CMD_DEL);
        }
        
        /***********绑定pppoe协议设置***************/
        if (isValidStr(getp("chgProtoType", ifunit)))//在eth设置pppoe 
        {
           //printf("PPPOEflag is %s\n",getp("chgProtoType", ifunit));
            nipEthSetProtocol(i, 16, NIP_CMD_ADD);
        }
        else
        {
            nipEthSetProtocol(i, 16, NIP_CMD_DEL);//取消绑定
        }

        if(isValidStr(getp("chgDelPro", ifunit)))//删除用户和密码
        {
           nipVirIfSetPapinfo("virtual", 16, 0, 0, NIP_CMD_DEL);//删除pppoe帐号密码
           nipVirIfSetChaphostname("virtual", 16, 0, NIP_CMD_DEL);
           nipVirIfSetChapPassword("virtual", 16, 0, NIP_CMD_DEL);
        }
        else
        {
             if (strcmp(getParamsValue("CPNChgFlag"), "1") == 0)//帐号密码有修改
             {
                 papuser = getp("chgUsername", ifunit);
                 pappassword = getp("chgpassword", ifunit);
                 if (isValidStr(papuser) && isValidStr(pappassword))
                 {
                     nipVirIfSetPapinfo("virtual", 16, papuser, pappassword, NIP_CMD_ADD);
                     nipVirIfSetChaphostname("virtual", 16, papuser, NIP_CMD_ADD);
                     nipVirIfSetChapPassword("virtual", 16, pappassword, NIP_CMD_ADD);
                 }
             }
        }   

    }

    buildNetworkPage(pageBuf, pageLen);
    return TRUE;    
}
int buildNetSubEPage(char * fileBuf, long bufLen)
{
    UINT8 * pPage;
    SELECT_INFO selectInfo;
//     int subEthNum = 0;
     int subEthMaster = 0;//,subEthSlave = 0;
     int masterUnitNum = 0;
    int i = 0;
//    int j = 0;

    getAllIf();//zzw
     
    pPage=buildHtmlFile("NetSubeth.htm", fileBuf, bufLen);
    addTitle("PPP设置", 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("/NetSubeth.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(470, "space", "true", "Tbhead", "Tbhead", pPage)
                       B_L("left",pPage) 
		         	  ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD>设置以太网子接口的ip地址和vlan ID。</TD>", pPage));
		         E_L(pPage)
		     E_T(pPage)
                   //table1 start
                   addLanguage("<TABLE width=470 align=center border=0><tbody>", pPage);
		         B_L("left",pPage)
		         	  //B_DL(pPage)
		         	  addLanguage("<TD width=150>", pPage);
		         	        ASSERT_BUILD_PAGE_SUCCESS(addText("接口类型:", pPage));
                                    strcpy(selectInfo.name,"ifName");
                                    strcpy(selectInfo.event,"doChange()");
                                    selectInfo.paramsNum = 2;
                                    strcpy(selectInfo.params[0],"eth");           
                                    strcpy(selectInfo.params[1],"sub-eth");  
                                    selectInfo.index = 1;
                                    selectInfo.width=70;
                                    strcpy( selectInfo.id, "ifName");
                                    strcpy(selectInfo.spanid,"ifNamespan");
                                  ASSERT_BUILD_PAGE_SUCCESS(addSelectN((void *)&selectInfo, pPage, selectInfo.index));
		         	  E_D(pPage)
		         	  //B_DL(pPage)
		         	  addLanguage("<TD width=350>", pPage);
                                {
                                    memset(&selectInfo, 0 , sizeof(selectInfo));
                                    ASSERT_BUILD_PAGE_SUCCESS(addText("主接口:", pPage));
                                    selectInfo.paramsNum = getSubEthMasterUnitNum();//得到主口的个数
                                    selectInfo.width = 40;
                                    selectInfo.index = 0;
                                    strcpy(selectInfo.name,"ifUnitC");
                                    strcpy(selectInfo.event,"doChange()");
                                    sprintf(selectInfo.id, "ifUnitC");
                                    strcpy(selectInfo.spanid,"ifUnitCspan");
                                    for(i=0; i <selectInfo.paramsNum; i++)
                                    {
                                        subEthMaster = getASubEthMasterNoAt(i);//主口号
                                        sprintf(selectInfo.params[i],"%d", subEthMaster);
                                    }
                                    ASSERT_BUILD_PAGE_SUCCESS(addSelectN((void *)&selectInfo, pPage, selectInfo.index));

                                    memset(&selectInfo, 0 , sizeof(selectInfo));
                                    addLanguage("&nbsp;子接口:", pPage);
                                    masterUnitNum  = getSubEthMasterUnitNum();//得到主口的个数
                                    selectInfo.width = 40;
                                    selectInfo.index = 0;
                                    strcpy(selectInfo.name,"ifUnitS");
                                    strcpy(selectInfo.event,"UnitChange()");
                                    sprintf(selectInfo.id, "ifUnitS");
                                    //for(i=0; i <masterUnitNum; i++)
                                    {
                                        /*subEthMaster = getASubEthMasterNoAt(i);//主口号
                                        subEthNum  = getSubEthNumByMaster(subEthMaster);//主口号下子口的个数
                                        selectInfo.paramsNum = subEthNum;
                                        //debugPrintf(1,"%d \n", subEthMaster);
                                        for(j =0; j<subEthNum; j++)
                                        {
                                            getASubEthNoByMaster(j, subEthMaster, &subEthSlave);//得到主口下的子口号
                                            sprintf(selectInfo.params[j], "%d", subEthSlave);   
                                        }*/
                                        selectInfo.paramsNum = 4;
                                        strcpy(selectInfo.params[0],"1");
                                        strcpy(selectInfo.params[1],"2");
                                        strcpy(selectInfo.params[2],"3");
                                        strcpy(selectInfo.params[3],"4");
                                        ASSERT_BUILD_PAGE_SUCCESS(addSelectN((void *)&selectInfo, pPage, selectInfo.index));
                                    }
                                    addLanguage("&nbsp;删除当前接口配置:<input type=checkbox name=delPIntinfo value=off>", pPage);
		         	  }
		         	  E_D(pPage)
		         	  /*B_DL(pPage)
		         	      addLanguage("删除接口:<input type=checkbox name=delNum value=\"off\">", pPage);
		         	  E_D(pPage)*/
		         	  /*B_DL(pPage)
					addLanguage("<INPUT class=text name=EditUnit value=\"0\" id=EditUnit size=2 maxlength=2>", pPage);
		         	  E_D(pPage)
		         	  B_DL(pPage)
					addLanguage("<INPUT class=button id=Add type=button value=\"添 加\" name=Add onclick=AddUnit();>", pPage);
		         	  E_D(pPage)
		         	  B_DL(pPage)
					addLanguage("<INPUT class=button id=Del type=button value=\"删除当前接口\" name=Del onclick=DelUnit();>", pPage);
		         	  E_D(pPage)*/
		         E_L(pPage)
		     E_T(pPage)
		     //table1 end
                   //table2 start
                   addLanguage("<TABLE width=440 align=center border=0><tbody>", pPage);
		         B_L("left",pPage)
		         	  B_D(pPage)
		         	        addLanguage("<INPUT type=hidden name=NetChgFlag value=\"0\">", pPage);    //判断是否修改的标志量 0:未修改1:修改了
		         	        ASSERT_BUILD_PAGE_SUCCESS(addText("·网络地址:", pPage));
		         	        //addLanguage("&nbsp;删除<INPUT type=checkbox name=SetNetaddr value=\"on\">", pPage);
		         	  E_D(pPage)
		         E_L(pPage)
		      E_T(pPage)
                   addLanguage("<TABLE width=400 align=center border=0><tbody>", pPage);
		         B_L("left",pPage)
		         	  B_D(pPage)

⌨️ 快捷键说明

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