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

📄 lan.c

📁 这是我自己写的用于嵌入式设备的CGI程序
💻 C
字号:
/*-----------------------------------------------------------------------------G1 CGI Modulelan.c:Local Network Settings* 	Description :*Created by KevinModification History:001. 09.19.2007: Created.-----------------------------------------------------------------------------*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include "cgic.h"#include "cgi_config.h"#include "session.h"#include "multi-language.h"//void HandleSubmit();int cgiMain(){    char* buffer = NULL;    char _buffer[1024*50]={0};    char mtmp[256];    int i=0;    REPLACEABLE_TAG_LIST tag_list = (REPLACEABLE_TAG_LIST)malloc(sizeof(REPLACEABLE_TAG) * 25);    char tag10[24],         tag11[24],         tag12[24],         tag13[24],         tag14[24],         tag15[24],         tag16[24],         tag18[48];    char net_type[24];    int net_type_select;    char msg1[72], msg2[72];    char cur_session_id[24];    int language_selected=0;    char cookie_session_id[24];    int result;    int auth=0;    //sessionCheckOnHead( cur_session_id );    result = cgiCookieString("COOKIE_SESSION_ID",cookie_session_id,24);    if ( result != cgiFormSuccess )    {        read_prev_selectd (&language_selected);        strcpy ( msg1, language_section_public [ language_selected -1 ][ L_ID_PUBLIC_NOT_EXIST ]);        alert_redirect ( msg1, "login.cgi");        free(buffer);        free(tag_list);        return 0;    }    strcpy ( cur_session_id, cookie_session_id );    get_user_authority ( cur_session_id, &auth );    if ( 0!= get_language_selected ( cur_session_id, &language_selected ))        language_selected = EN;    if ( auth <3 )    {        strcpy ( msg2, language_section_public [ language_selected -1 ][ L_ID_PUBLIC_AUTH_MSG ]);        alert_redirect ( msg2, "logout.cgi");        free(buffer);        free(tag_list);        return 0;    }    tag_list[0].tag = "[-TITLE-]";    tag_list[1].tag = "[-IP_ADDR-]";    tag_list[2].tag = "[-NETMASK-]";    tag_list[3].tag = "[-GATEWAY-]";    tag_list[4].tag = "[-DNS1-]";    tag_list[5].tag = "[-DNS2-]";    tag_list[6].tag = "[-DHCP-]";    tag_list[7].tag = "[-SAVE-]";    tag_list[8].tag = "[-RESET-]";    tag_list[9].tag = "[-STATIC_IP-]";    tag_list[10].tag = "[-VALUE_IPADDR-]";    tag_list[11].tag = "[-VALUE_NETMASK-]";    tag_list[12].tag = "[-VALUE_GW-]";    tag_list[13].tag = "[-VALUE_D_N_S1-]";    tag_list[14].tag = "[-VALUE_D_N_S2-]";    tag_list[15].tag = "[-STA_SELECTED-]";    tag_list[16].tag = "[-DHP_SELECTED-]";    tag_list[17].tag = "[-ERR_MSG-]";    tag_list[18].tag = "[-FINIT-]";    tag_list[19].tag = "[-MLAN-]";    tag_list[20].tag = "[-MDDNS-]";    tag_list[21].tag = "[-MPPPOE-]";    tag_list[22].tag = "[-MW_LAN-]";    tag_list[23].tag = "[-CDEFAULT-]";    tag_list[24].tag = "[-CALLDEF-]";    tag_list[0].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_TITLE ];    tag_list[1].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_IP_ADDR ];    tag_list[2].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_NETMASK ];    tag_list[3].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_GATEWAY ];    tag_list[4].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_DNS1 ];    tag_list[5].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_DNS2 ];    tag_list[6].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_DHCP ];    tag_list[7].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_SAVE ];    tag_list[8].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_RESET ];    tag_list[9].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_STATIC_IP ];    tag_list[17].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_ERR_MSG ];    tag_list[19].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_MLAN ];    tag_list[20].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_MDDNS ];    tag_list[21].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_MPPPOE ];    tag_list[22].value = language_section_lan [ language_selected -1 ][ L_ID_LAN_MWLAN ];    tag_list[23].value = language_section_public [ language_selected -1 ][ L_ID_PUBLIC_CDEFAULT ];    tag_list[24].value = language_section_public [ language_selected -1 ][ L_ID_PUBLIC_CALLDEF ];    GetVarFromFile (NET_CONFIG_PATH, "EIPADDR", tag10, "192.168.1.131");    GetVarFromFile (NET_CONFIG_PATH, "ENetMask", tag11, "255.255.255.0");    GetVarFromFile (NET_CONFIG_PATH, "EGateWay", tag12, "192.168.1.1");    GetVarFromFile (NET_CONFIG_PATH, "DNS1", tag13, "192.168.1.1");    GetVarFromFile (NET_CONFIG_PATH, "DNS2", tag14, "192.168.1.2");    get_var_from_file(NET_CONFIG_PATH, "EDHCP", net_type);    if ( atoi ( net_type ) ==0 )    {        strcpy (tag15, "checked=\"checked\"");        strcpy (tag16, " ");        strcpy (tag18, " ");    }    else if ( atoi ( net_type ) ==1 )    {        strcpy (tag15, " ");        strcpy (tag16, "checked=\"checked\"");        strcpy (tag18, "onload=\"finit()\"");    }    else    {        strcpy (tag15, " ");        strcpy (tag16, " ");        strcpy (tag18, " ");    }    tag_list[10].value = tag10;    tag_list[11].value = tag11;    tag_list[12].value = tag12;    tag_list[13].value = tag13;    tag_list[14].value = tag14;    tag_list[15].value = tag15;    tag_list[16].value = tag16;    tag_list[18].value = tag18;    cgiHeaderContentType("text/html");    //printf("language_selected:%d\n", language_selected);    buffer = read_template(LAN_TEMPLATE);    if (buffer == NULL)    {        fprintf(cgiOut, "Warning: Can't read template file: %s.<br />\n",LAN_TEMPLATE);        free(buffer);        free(tag_list);        return -1;    }    //parse_template(& buffer, tag_list, 25);    //fprintf(cgiOut, "%s", buffer);    memcpy ( _buffer, buffer, strlen ( buffer ));    for ( i = 0; i<25; i++ )        StringReplace(_buffer, (char *)tag_list[i].tag, (char *)tag_list[i].value);/*    i=0;    while (i< strlen (_buffer))    {        //fprintf(cgiOut, "%s", _buffer + i);        strncpy (mtmp, _buffer +i, 256 );        fprintf(cgiOut, "%s", mtmp);        i = i +256;    }*/    fprintf(cgiOut, "%s", _buffer);    free(tag_list);    free(buffer);    return 0;}

⌨️ 快捷键说明

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