📄 hello.c
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <strings.h>
#include <sqlite3.h>
#include <unistd.h>
#include <fcntl.h>
sqlite3 *db;
sqlite3 *db2;
char *zErrMsg = 0;
int rc;
char localip[16]="192.168.0.213";
char serverip[16]="192.168.0.212";
char lsport[6]="30000";
//char dtport[6]="30001"; //old version
char dtport1[6]="30002";
char dtport2[6]="30001";
char dtport3[6]="30003";
char dtport4[6]="30004";
int uartspd2=115200;
int uartdb2=8;
char uartpr2='N';
int uartstb2=1;
int uartspd1=57600;
int uartdb1=8;
char uartpr1='N';
int uartstb1=1;
int srunas1=4;
int TCPC_MAXCONNECT=65535;
char stordev[255];
int sqlite3_callback2(void *NotUsed, int argc, char **argv, char **azColName)
{
//sql result
/**/
int i;
int st=0;
int ct=0;
for(i=0; i<argc; i++)
{
printf("%s = %s , ", azColName[i], argv[i] ? argv[i] : "NULL");
if(strcmp(azColName[i],"des")==0)
{
if(strcmp(argv[i] ? argv[i] : "NULL","localip")==0)st=3;
else if(strcmp(argv[i] ? argv[i] : "NULL","serverip")==0)st=4;
else if(strcmp(argv[i] ? argv[i] : "NULL","lsport")==0)st=5;
else if(strcmp(argv[i] ? argv[i] : "NULL","dtport1")==0)st=16;//dtport 6
else if(strcmp(argv[i] ? argv[i] : "NULL","dtport2")==0)st=17;
else if(strcmp(argv[i] ? argv[i] : "NULL","dtport3")==0)st=18;
else if(strcmp(argv[i] ? argv[i] : "NULL","dtport4")==0)st=19;
else if(strcmp(argv[i] ? argv[i] : "NULL","uartspd2")==0)st=7;
else if(strcmp(argv[i] ? argv[i] : "NULL","uartdb2")==0)st=8;
else if(strcmp(argv[i] ? argv[i] : "NULL","uartpr2")==0)st=9;
else if(strcmp(argv[i] ? argv[i] : "NULL","uartstb2")==0)st=10;
else if(strcmp(argv[i] ? argv[i] : "NULL","uartspd1")==0)st=11;
else if(strcmp(argv[i] ? argv[i] : "NULL","uartdb1")==0)st=12;
else if(strcmp(argv[i] ? argv[i] : "NULL","uartpr1")==0)st=13;
else if(strcmp(argv[i] ? argv[i] : "NULL","uartstb1")==0)st=14;
else if(strcmp(argv[i] ? argv[i] : "NULL","srunas1")==0)st=15;
}
else if(strcmp(azColName[i],"conftype")==0)
{
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)ct=1;
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)ct=2;
else if(strcmp(argv[i] ? argv[i] : "NULL","3")==0)ct=3;
}
else if(strcmp(azColName[i],"val1")==0)
{
switch(st)
{
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
//uartspd2
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)uartspd2=115200;
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)uartspd2=57600;
else if(strcmp(argv[i] ? argv[i] : "NULL","3")==0)uartspd2=38400;
else if(strcmp(argv[i] ? argv[i] : "NULL","4")==0)uartspd2=19200;
else if(strcmp(argv[i] ? argv[i] : "NULL","5")==0)uartspd2=9600;
else if(strcmp(argv[i] ? argv[i] : "NULL","6")==0)uartspd2=4800;
else if(strcmp(argv[i] ? argv[i] : "NULL","7")==0)uartspd2=2400;
else if(strcmp(argv[i] ? argv[i] : "NULL","8")==0)uartspd2=1200;
else if(strcmp(argv[i] ? argv[i] : "NULL","9")==0)uartspd2=300;
printf("uartspd2 : %d ,",uartspd2);
break;
case 8:
//uartdb2
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)uartdb2=8;
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)uartdb2=7;
printf("uartdb2 : %d ,",uartdb2);
break;
case 9:
//uartpr2
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)uartpr2='N';
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)uartpr2='O';
else if(strcmp(argv[i] ? argv[i] : "NULL","3")==0)uartpr2='E';
printf("uartpr2 : %c ,",uartpr2);
break;
case 10:
//uartstb2
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)uartstb2=1;
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)uartstb2=2;
printf("uartstb2 : %d ,",uartstb2);
break;
case 11:
//uartspd1
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)uartspd1=115200;
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)uartspd1=57600;
else if(strcmp(argv[i] ? argv[i] : "NULL","3")==0)uartspd1=38400;
else if(strcmp(argv[i] ? argv[i] : "NULL","4")==0)uartspd1=19200;
else if(strcmp(argv[i] ? argv[i] : "NULL","5")==0)uartspd1=9600;
else if(strcmp(argv[i] ? argv[i] : "NULL","6")==0)uartspd1=4800;
else if(strcmp(argv[i] ? argv[i] : "NULL","7")==0)uartspd1=2400;
else if(strcmp(argv[i] ? argv[i] : "NULL","8")==0)uartspd1=1200;
else if(strcmp(argv[i] ? argv[i] : "NULL","9")==0)uartspd1=300;
printf("uartspd1 : %d ,",uartspd1);
break;
case 12:
//uartdb1
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)uartdb1=8;
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)uartdb1=7;
printf("uartdb1 : %d ,",uartdb1);
break;
case 13:
//uartpr1
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)uartpr1='N';
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)uartpr1='O';
else if(strcmp(argv[i] ? argv[i] : "NULL","3")==0)uartpr1='E';
printf("uartpr1 : %c ,",uartpr1);
break;
case 14:
//uartstb1
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)uartstb1=1;
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)uartstb1=2;
printf("uartstb1 : %d ,",uartstb1);
break;
case 15:
//srunas1
if(strcmp(argv[i] ? argv[i] : "NULL","1")==0)srunas1=1;
else if(strcmp(argv[i] ? argv[i] : "NULL","2")==0)srunas1=2;
else if(strcmp(argv[i] ? argv[i] : "NULL","3")==0)srunas1=3;
else if(strcmp(argv[i] ? argv[i] : "NULL","4")==0)srunas1=4;
else if(strcmp(argv[i] ? argv[i] : "NULL","5")==0)srunas1=5;
else if(strcmp(argv[i] ? argv[i] : "NULL","6")==0)srunas1=6;
else if(strcmp(argv[i] ? argv[i] : "NULL","7")==0)srunas1=7;
else if(strcmp(argv[i] ? argv[i] : "NULL","8")==0)srunas1=8;
else if(strcmp(argv[i] ? argv[i] : "NULL","9")==0)srunas1=9;
else if(strcmp(argv[i] ? argv[i] : "NULL","10")==0)srunas1=10;
else if(strcmp(argv[i] ? argv[i] : "NULL","11")==0)srunas1=11;
else if(strcmp(argv[i] ? argv[i] : "NULL","12")==0)srunas1=12;
printf("srunas1 : %d ,",srunas1);
break;
default:
printf("val1 unknown setting item. ,");
break;
}
}
else if(strcmp(azColName[i],"val2")==0)
{
switch(st)
{
case 3:
//localip
strcpy(localip,argv[i] ? argv[i] : "NULL");
printf("localip : %s ,",localip);
break;
case 4:
//serverip
strcpy(serverip,argv[i] ? argv[i] : "NULL");
printf("serverip : %s ,",serverip);
break;
case 5:
//lsport
strcpy(lsport,argv[i] ? argv[i] : "NULL");
printf("lsport : %s ,",lsport);
break;
case 6:
//dtport --old version
//strcpy(dtport,argv[i] ? argv[i] : "NULL");
//printf("dtport : %s ,",dtport);
break;
case 7:
break;
case 8:
break;
case 9:
break;
case 10:
break;
case 11:
break;
case 12:
break;
case 13:
break;
case 14:
break;
case 15:
break;
case 16:
//dtport1
strcpy(dtport1,argv[i] ? argv[i] : "NULL");
printf("dtport1 : %s ,",dtport1);
break;
case 17:
//dtport2
strcpy(dtport2,argv[i] ? argv[i] : "NULL");
printf("dtport2 : %s ,",dtport2);
break;
case 18:
//dtport3
strcpy(dtport3,argv[i] ? argv[i] : "NULL");
printf("dtport3 : %s ,",dtport3);
break;
case 19:
//dtport4
strcpy(dtport4,argv[i] ? argv[i] : "NULL");
printf("dtport4 : %s ,",dtport4);
break;
default:
printf("val2 unknown setting item. ,");
break;
}
}
else if(strcmp(azColName[i],"val3")==0)
{
st=0;
ct=0;
}
}
printf("\n");
return 0;
}
int main(int argc, char **argv)
{
//strings init
stordev[0]='\0';
//ipsetting[0]='\0';
strcat(stordev,"/mnt/cfcard/");
//init ipc shared memory map
//ipcm_init("/mnt/cfcard/datasys/gdata.dt",0x1000000,NULL);
//open database
char *s0=malloc(255*sizeof(char));
char *s1=malloc(255*sizeof(char));
char *s2=malloc(255*sizeof(char));
strcpy(s0,stordev);
strcpy(s1,stordev);
strcpy(s2,"");
strcat(s0,"datasys/data.db");
strcat(s1,"datasys/config.db");
strcat(s2,"select * from sysconfig;");
rc = sqlite3_open(s1, &db);
if( rc )
{
fprintf(stderr, "can't open config.db: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return (-1);
}
rc = sqlite3_open(s0, &db2);
if( rc )
{
fprintf(stderr, "can't open data.db: %s\n", sqlite3_errmsg(db2));
sqlite3_close(db2);
return (-1);
}
//sql execute, save configurations to vars
rc = sqlite3_exec(db, s2, sqlite3_callback2, 0, &zErrMsg);
if( rc!=SQLITE_OK )
{
fprintf(stderr, "s2 SQL error: %s\n", zErrMsg);
}
sqlite3_close(db);
//strcat(ipsetting,"eth0 ");
//strcat(ipsetting,localip);
if(execlp("ifconfig","ifconfig","eth0",localip,NULL)<0)
perror("\nexeclp error.\n");
sleep(1);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -