int main (int argc, char *argv[]) { int rc=0; if ((rc = cgl_init()) < 0) { fprintf (stderr, "cgl_init() error %d\n", rc); return -1; } cgl_html_header (); cgl_html_begin ("nullcgi!"); output_form (); cgl_html_end(); cgl_freeall(); return 0; }
int main(int argc, char **argv) { int ParNumAux; long segjulqm,IndHis; struct tm *newtime; FILE *fh; char path[80]; if (cgl_initenv() == -1) { cgl_perror(stderr, "segjulhistcgi"); exit(1); } if (strcmp(cgl_Env->request_method, "POST") == 0) { cgl_html_header(); cgl_html_begin("Modificar Ultimo QM Recibido"); printf("<TABLE BORDER=\"0\" WIDTH=\"900px\" CELLSPACING=\"0\" CELLPADDING=\"0\">"); printf("<TR><TD ALIGN=\"center\" VALIGN=\"center\" HEIGHT=\"91\" BGCOLOR=\"#ffd700\">"); printf("<A HREF=\"http://www.chebro.es\"><H2>CONFEDERACION HIDROGRAFICA DEL EBRO</H2></a></TD>"); printf("<TD VALIGN=\"CENTER\" ALIGN=\"CENTER\" WIDTH=\"50%\" HEIGHT=\"91\" BGCOLOR=\"#ffd700\">"); printf("<A HREF=\"http://195.55.247.237/saihebro/\"><H1>SAIH</H1></A></TD>"); printf("<TD VALIGN=\"MIDDLE\" ALIGN=\"RIGHT\" BGCOLOR=\"#d1d1d1\"> </TD></TR>"); printf("</TABLE>"); printf("<br><br><center>"); cgl_put_heading(2, "Modificar Ultimo QM Recibido"); printf("<br><br></center>"); if (cgl_initformdata() == -1) { cgl_perror(stderr, "segjulhistcgi"); exit(1); } //lectura estructura gn memset((char *)&gn,0,sizeof(GN)); // para Axis por ahora es necesario fijar la variable de entorno a mano // en la version 0.94 de Boa se puede establecer en boa.conf if(CompilarAxis){ if(setenv("SAIHBD","/mnt/flash/loger/",1) !=0){ printf(stderr,"\n\tReadSacBd:No es posible SET Variable Entorno SAIHBD");exit(1);} } if(DEBUG){ printf("debugCGI %s\n<BR>",(char *)getenv("SAIHBD"));} if( (char *)getenv("SAIHBD") == NULL){ printf(stderr,"\n\tReadSacBd:Variable Entorno SAIHBD NO SET");fflush(stdout);exit(1);} strcat(strcpy(path,(char *)getenv("SAIHBD")),("LogerGen.dat")); // Parametros Generales if((fh=fopen(path,"r+b"))==NULL){ fprintf(stderr,"\nReadSacGN:No se puede abrir:%s",path); exit(1);} if(!fread(&gn,sizeof(GN),1,fh)){ fprintf(stderr,"\nReadSacGN:Error_En_read:%s Errn=%d",path,errno); fclose(fh); exit(1);} printf("<br><br><table border=\"1\">"); printf("<tr><td>Ultimo Indice Anterior </td><td><input type=text value=\"%ld\" size=4 maxlen=4 name=\"ind\"></td></tr>",gn.IndHisAna); sscanf(cgl_getvalue("ind"),"%ld",&IndHis); gn.IndHisAna=IndHis; if((fseek(fh,0L,SEEK_SET))==-1){ fprintf(stderr,"\n\tFseekSacGn:Error:%s errno=%d",path,errno); fclose(fh); return(-1);} if(!fwrite(&gn,sizeof(GN),1,fh)){ fprintf(stderr,"\nWriteSacGn:No se puede crear:%s Errno=%d",path,errno); fclose(fh); return(-1);} if(fclose(fh)!=0) fprintf(stderr,"\n\tReadSacGN:Error en fclose:%d ",errno); printf("<tr><td>Ultimo Indice Final </td><td><input type=text value=\"%ld\" size=4 maxlen=4 name=\"ind\"></td></tr></table>",gn.IndHisAna); fflush(stdout); cgl_freeformdata(); printf("<br><br><hr><a href=\"/index.html\">Volver</a>"); cgl_html_end(); /*********************************************************************************/ } return 0; }
int main(int argc, char **argv) { int i,AnaIni,iMostrar; char AnaFinChar[5],TipSen[24]; if (cgl_initenv() == -1) { cgl_perror(stderr, "analogicascgi"); exit(1); } if (strcmp(cgl_Env->request_method, "POST") == 0) { cgl_html_begin("Configuracion Analogicas"); cgl_put_heading(2, "Configuracion Analogicas"); if (cgl_initformdata() == -1) { cgl_perror(stderr, "analogicascgi"); exit(1); } // Lectura Analogica inicial sscanf(cgl_getvalue("AnaIni"),"%d",&AnaIni); if(DEBUG){ printf("debugCGI Analogica Inicial %d\n<BR>",AnaIni);} // Conversion Analogica Fin a char /* sprintf(&AnaFinChar,"%d%",AnaIni+NUMANACONF); if(DEBUG){ printf("debugCGI Analogica Final %d %s\n<BR>",AnaIni+NUMANACONF,AnaFinChar);} */ /***********************************************************/ /* Lectura-Escritura BBDD SAC */ /***********************************************************/ memset((char *)&BdConf,0,sizeof(BdConf)); // para Axis por ahora es necesario fijar la variable de entorno a mano // en la version 0.94 de Boa se puede establecer en boa.conf if(CompilarAxis){ if(setenv("SAIHBD",SAIHBD_PATH,1) !=0){ printf(stderr,"\n\tReadLogerBd:No es posible SET Variable Entorno SAIHBD");exit(1);} } if(DEBUG){ printf("debugCGI %s\n<BR>",(char *)getenv("SAIHBD"));} if( (char *)getenv("SAIHBD") == NULL){ printf(stderr,"\n\tReadLogerBd:Variable Entorno SAIHBD NO SET");fflush(stdout);exit(1);} if(i=ReadLogerBd(&BdConf)!=0){ /*Leer Objeto B.D BDCONF */ printf("\n\tReadLogerBd:Error=%d",i); exit(1);} fflush(stdout); // formulario conf analogicas printf("<form action=escribiranalogicas.sh method=POST>\n"); printf("<table class=\"datos\"><tr><td></td><td>Tag</td><td>Descripcion</td><td>Unidades</td></tr>"); for(i=AnaIni;i<AnaIni+NUMANACONF;i++){ if(DEBUG){ printf("\n\t%-12s: %-30s Unidades=%-7s \t\tFCM=%f FCA=%f\n<br>",BdConf.anaconf.tag[i],BdConf.anaconf.desc[i],BdConf.anaconf.uni[i],BdConf.anaconf.fcm[i],BdConf.anaconf.fca[i]); } //presentacion en campos de texto // segun el numero de la senial analogica se diferencia el tipo: // 0-15: analogicas // 16-43: grays // 44-59: RS232 // 60-63: contadores if(i<C1){ strcpy(TipSen,"Analógica(IN)");iMostrar=i+1;} else {break;} printf("<tr>"); printf("<td>%s %d</td>",TipSen,iMostrar); printf("<td><input class=\"anal\" type=text value =\"%s\" size=12 maxlen=12 name=\"TAG%d\"></td>\n",BdConf.anaconf.tag[i],i); printf("<td><input class=\"anal\" type=text value =\"%s\" size=35 maxlen=35 name=\"DESC%d\"></td>\n",BdConf.anaconf.desc[i],i); printf("<td><input class=\"anal\" type=text value =\"%s\" size=6 maxlen=6 name=\"UNI%d\"></td>\n",BdConf.anaconf.uni[i],i); printf("<td><input class=\"anal\" type=text value =\"%f\" size=9 maxlen=9 name=\"FCM%d\"></td>\n",BdConf.anaconf.fcm[i],i); printf("<td><input class=\"anal\" type=text value =\"%f\" size=9 maxlen=9 name=\"FCA%d\"></td>\n",BdConf.anaconf.fca[i],i); printf("</tr>"); iMostrar++; } printf("</table>"); cgl_put_hidden("AnaIni",cgl_getvalue("AnaIni")); printf("<br><input type=submit value=\"Enviar Configuracion\">\n"); printf("</form>\n"); /*************** Enlace configuracion analogicas remota*********************/ printf("<br><hr><br>"); printf("<table><tr>"); if (AnaIni > 0){ sprintf(&AnaFinChar,"%d%",AnaIni-NUMANACONF); if(DEBUG){ printf("debugCGI Analogica Inicial %d\n<BR>",AnaIni);} printf("<td><form action=analogicas.sh method=POST>\n"); printf("<input type=submit value=\"Anteriores\">\n"); cgl_put_hidden("AnaIni",AnaFinChar); printf("</form></td>\n"); } sprintf(&AnaFinChar,"%d%",AnaIni+NUMANACONF); if(DEBUG){ printf("debugCGI Analogica Inicial %d\n<BR>",AnaIni);} printf("<td><form action=analogicas.sh method=POST>\n"); printf("<input type=submit value=\"Siguientes\">\n"); cgl_put_hidden("AnaIni",AnaFinChar); printf("</form></td>\n"); printf("</tr></table>"); printf("<br><hr><br>"); fflush(stdout); cgl_freeformdata(); cgl_html_end(); /*********************************************************************************/ } return 0; }