index.c
来自「这是我自己写的用于嵌入式设备的CGI程序」· C语言 代码 · 共 314 行
C
314 行
/*-----------------------------------------------------------------------------G1 CGI Moduleindex.c:Homepage* Description :*Created by KevinModification History:001. 09.18.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"SESSION_DATA cur_session_data;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) * 37); char tag12[24], tag13[24], tag14[24], tag15[24], tag16[24], tag17[24], tag18[24], tag19[24], tag20[24], tag21[24], tag22[24], tag23[24], tag24[24], tag28[36], tag30[24], tag30_[24], mjpeg[24]; char md_tmp[24], md1[24], md2[24], md3[24]; char msg1[72]; char cur_session_id[24]; int language_selected=0; int sd_space, sd_free; char cookie_session_id[24]; int result; int auth=0; //send_command("FStarter start"); //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 ); sessionCheck ( cur_session_id, &cur_session_data ); if ( 0!= get_language_selected ( cur_session_id, &language_selected )) language_selected = EN; tag_list[0].tag = "[-BRIGHTNESS-]"; tag_list[1].tag = "[-SATURATION-]"; tag_list[2].tag = "[-CONTRAST-]"; tag_list[3].tag = "[-HUE-]"; tag_list[4].tag = "[-DEVICE_SN-]"; tag_list[5].tag = "[-DEVICE_REMARK-]"; tag_list[6].tag = "[-SD_SPADCE-]"; tag_list[7].tag = "[-SOFT_VERSION-]"; tag_list[8].tag = "[-PLAY-]"; tag_list[9].tag = "[-TALK-]"; tag_list[10].tag = "[-MD-]"; tag_list[11].tag = "[-LD-]"; tag_list[29].tag = "[-FOCUS-]"; tag_list[0].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_BRIGHTNESS ]; tag_list[1].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_SATURATION ]; tag_list[2].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_CONTRAST ]; tag_list[3].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_HUE ]; tag_list[4].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_DEVICE_SN ]; tag_list[5].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_DEVICE_REMARK ]; tag_list[6].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_SD_SPADCE ]; tag_list[7].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_SOFT_VERSION ]; tag_list[8].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_PLAY ]; tag_list[9].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_TALK ]; tag_list[10].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_MD ]; tag_list[11].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_LD ]; tag_list[11].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_LD ]; tag_list[29].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_FOCUS ]; tag_list[12].tag = "[-I_D-]"; tag_list[13].tag = "[-REMARK-]"; tag_list[14].tag = "[-SPACE-]"; tag_list[15].tag = "[-VER-]"; tag_list[16].tag = "[-RTSP_PORT-]"; tag_list[17].tag = "[-CONTROL_PORT-]"; tag_list[18].tag = "[-B_VALUE-]"; tag_list[19].tag = "[-S_VALUE-]"; tag_list[20].tag = "[-C_VALUE-]"; tag_list[21].tag = "[-H_VALUE-]"; tag_list[22].tag = "[-CURUSER-]"; tag_list[23].tag = "[-CPASSWD-]"; tag_list[24].tag = "[-VERTICAL-]"; tag_list[25].tag = "[-RECORD-]"; tag_list[26].tag = "[-OCXP-]"; tag_list[27].tag = "[-FLASH-]"; tag_list[25].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_RECORD ]; tag_list[26].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_OCXP ]; tag_list[27].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_FLASH ]; tag_list[28].tag = "[-CONTROL-]"; tag_list[30].tag = "[-FRVALUE-]"; tag_list[31].tag = "[-FULLSCR-]"; tag_list[32].tag = "[-CLEANALR-]"; tag_list[33].tag = "[-MD1-]"; tag_list[34].tag = "[-MD2-]"; tag_list[35].tag = "[-MD3-]"; tag_list[36].tag = "[-MJPEG-]"; GetVarFromFile (MOTION_CONFIG_PATH, "Detection1", md_tmp, "0"); sprintf(md1, "%s", 0==atoi(md_tmp)?"disabled":""); tag_list[33].value = md1; GetVarFromFile (MOTION_CONFIG_PATH, "Detection2", md_tmp, "0"); sprintf(md2, "%s", 0==atoi(md_tmp)?"disabled":""); tag_list[34].value = md2; GetVarFromFile (MOTION_CONFIG_PATH, "Detection3", md_tmp, "0"); sprintf(md3, "%s", 0==atoi(md_tmp)?"disabled":""); tag_list[35].value = md3; GetVarFromFile (VIDEO_CONFIG_PATH, "Mode", md_tmp, "1"); sprintf(mjpeg, "%s", 2==atoi(md_tmp)?"/jpeg":""); tag_list[36].value = mjpeg; tag_list[31].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_FULLSCR ]; tag_list[32].value = language_section_main [ language_selected -1 ][ L_ID_MAIN_CLEANALR ]; //tag_list[31].tag = "[-ALMPORT-]"; if (NULL== GetVarFromFile (VIDEO_CONFIG_PATH, "FrameRate", tag30, "6")) strcpy(tag30, "6"); sprintf(tag30_, "%d", atoi(tag30)*5 ); tag_list[30].value = tag30_; //if (NULL== GetVarFromFile (VIDEO_CONFIG_PATH, "FrameRate", tag31, "22")) // strcpy(tag31, "22"); if (NULL== GetVarFromFile (INFO_CONFIG_PATH, "id", tag12, "BLOOM-TECH")) strcpy(tag12, "BLOOM-TECH"); tag_list[12].value = tag12; if (NULL == GetVarFromFile (INFO_CONFIG_PATH, "remark", tag13, "BLOOM-TECH ")) strcpy(tag13, "BLOOM-TECH "); tag_list[13].value = tag13; get_sd_space(&sd_space,&sd_free); sprintf(tag14, "%d", sd_space); tag_list[14].value = tag14; tag_list[15].value = cgi_SOFTWARE_VERSION; GetVarFromFile (VIDEO_CONFIG_PATH, "rtsp_port", tag16, "554"); GetVarFromFile (VIDEO_CONFIG_PATH, "control_port", tag17, "21"); GetVarFromFile (IMAGE_CONFIG_PATH, "SA7113_Brightness", tag18, "152"); GetVarFromFile (IMAGE_CONFIG_PATH, "SA7113_Contrast", tag19, "72"); GetVarFromFile (IMAGE_CONFIG_PATH, "SA7113_Saturation", tag20, "72"); GetVarFromFile (IMAGE_CONFIG_PATH, "SA7113_Hue", tag21, "0"); tag_list[16].value = tag16; tag_list[17].value = tag17; tag_list[18].value = tag18; tag_list[19].value = tag19; tag_list[20].value = tag20; tag_list[21].value = tag21; tag_list[22].value = cur_session_data.username; tag_list[23].value = cur_session_data.password; GetVarFromFile (REVERSAL_CFG, "VideoReversal", tag24, "0"); if (atoi(tag24) == 1) tag_list[24].value = "True"; else tag_list[24].value = "False"; if ( auth < 2 ) strcpy(tag28, ".EnabledControl=False"); else strcpy(tag28, ""); tag_list[28].value = tag28; cgiHeaderContentType("text/html"); //printf("username:%s\n", cur_session_data.username); //printf("password:%s\n", cur_session_data.password); buffer = read_template(MAIN_TEMPLATE); if (buffer == NULL) { fprintf(cgiOut, "Warning: Can't read template file: %s.<br />\n",MAIN_TEMPLATE); free(buffer); free(tag_list); return -1; } //parse_template(& buffer, tag_list, 28); //fprintf(cgiOut, "%s", buffer); memcpy ( _buffer, buffer, strlen ( buffer )); for ( i = 0; i<37; 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(buffer); free(tag_list); return 0;}int get_sd_space(long int * total,long int * remain){ FILE *fd; long int kcout,used,available,use_rate; int ret,found = 0; char get_name[32],path[64]; system("df>sdtmp.txt"); fd = fopen("sdtmp.txt","r"); if (fd < 0) { *total = 0; *remain = 0; return -1; } while (feof(fd) == 0) { ret = fscanf(fd,"%s %d %d %d %d%% %s",get_name,&kcout,&used,&available,&use_rate,path); if (ret == 0) fprintf(stderr,"fscanf not read\n"); if(strcmp("/dev/cpesda",get_name)== 0) { found = 1; break; } } fclose(fd); unlink("sdtmp.txt"); if(total == NULL || remain == NULL) return -1; else { if(found) { *total = kcout; *remain = available; } else { *total = 0; *remain = 0; } } return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?