#include "stdafx.h" #include "netpara.h" #include "gprs.h" extern int net_connect_first; extern afn04_F3_st comm_04F3_param; /* 网络参数 */ struct netpara_struct { u8 type; u8 ip1[4]; //主ip u16 port1; u8 ip2[4]; //备用ip u16 port2; u8 ip3[4]; //网关 u16 port3; u8 ip4[4]; //代理服务器 u16 port4; u8 apn[16]; u8 localip[4]; //本地ip u16 localport; //本地端口 u8 mask[4]; //子网掩码 u8 localmac[6]; //mac地址 }; static struct netpara_struct netpara; u8 netpara_gettype() { return netpara.type; } //主ip u8 * netpara_getip1() { return netpara.ip1; } u16 netpara_getport1() { return netpara.port1; } //备用ip u8 * netpara_getip2() { return netpara.ip2; } u16 netpara_getport2() { return netpara.port2; } //网关 u8 * netpara_getip3() { return netpara.ip3; } u16 netpara_getport3() { return netpara.port3; } //代理服务器 u8 * netpara_getip4() { return netpara.ip4; } u16 netpara_getport4() { return netpara.port4; } //apn u8 * netpara_getapn() { return netpara.apn; } //本地 u8 * netpara_getlocalip() { return netpara.localip; } u16 netpara_getlocalport() { return netpara.localport; } u8 * netpara_getmask() { return netpara.mask; } u8 * netpara_getlocalmac() { return netpara.localmac; } ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// //设置 void netpara_settype(u8 type) { netpara.type = type; } //主ip void netpara_setip1(u8 * ip1) { memmove(netpara.ip1,ip1,4); } void netpara_setport1(u16 port1) { netpara.port1 = port1; } //备用ip void netpara_setip2(u8 * ip2) { memmove(netpara.ip2,ip2,4); } void netpara_setport2(u16 port2) { netpara.port2 = port2; } //网关 void netpara_setip3(u8 * ip3) { memmove(netpara.ip3,ip3,4); } void netpara_setport3(u16 port3) { netpara.port3 = port3; } //代理服务器 void netpara_setip4(u8 * ip4) { memmove(netpara.ip4,ip4,4); } void netpara_setport4(u16 port4) { netpara.port4 = port4; } void netpara_setapn(u8 * apn) { memmove(netpara.apn,apn,16); } //本地 void netpara_setlocalip(u8 * localip) { memmove(netpara.localip,localip,4); } void netpara_setlocalport(u16 port) { netpara.localport = port; } void netpara_setmask(u8 * mask) { memmove(netpara.mask,mask,4); } void netpara_setlocalmac(u8 * mac) { memmove(netpara.localmac,mac,6); } void netpara_setval(u8 *val) { //0 //1 2 3 4 5 6 ip1 //7 8 9 10 11 12 ip2 //13 14 15 16 17 18 ip3 //19 20 21 22 23 24 ip4 //25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 //41 42 43 44 45 46 //47 48 49 50 //51 52 53 54 55 56 u16 port = 0; netpara_settype(val[0]); port = (val[6]<<8)|val[5]; netpara_setip1(&val[1]); netpara_setport1(port); port = (val[12]<<8)|val[11]; netpara_setip2(&val[7]); netpara_setport2(port); port = (val[18]<<8)|val[17]; netpara_setip3(&val[13]); netpara_setport3(port); port = (val[24]<<8)|val[23]; netpara_setip4(&val[19]); netpara_setport4(port); netpara_setapn(&val[25]); port = (val[46]<<8)|val[45]; netpara_setlocalip(&val[41]); netpara_setlocalport(port); netpara_setmask(&val[47]); netpara_setlocalmac(&val[51]); //* // comm_04F3_param.primary.ip1 = netpara.ip1[0]; comm_04F3_param.primary.ip2 = netpara.ip1[1]; comm_04F3_param.primary.ip3 = netpara.ip1[2]; comm_04F3_param.primary.ip4 = netpara.ip1[3]; comm_04F3_param.primary.port = netpara.port1; comm_04F3_param.reserve.ip1 = netpara.ip2[0];; comm_04F3_param.reserve.ip2 = netpara.ip2[1]; comm_04F3_param.reserve.ip3 = netpara.ip2[2]; comm_04F3_param.reserve.ip4 = netpara.ip2[3]; comm_04F3_param.reserve.port = netpara.port2; memcpy(comm_04F3_param.APN, netpara.apn, sizeof(netpara.apn)); //*/ } void net_para_save() { /* ipflag.ip3 = 1;//延时更新ip ipflag.ipchange = 1; //M3761_Param_To_UIP(); //NET 重新连接 net_connect_first = 0; //GPRS 重新连接 gprs_init_flag= 0; gprs_connect_flag = 0; gprs_socket_flag = 0; system_save(); */ ipport_write(); ipport_init(); } void netpara_getval(u8 *val) { //0 //1 2 3 4 5 6 ip1 //7 8 9 10 11 12 ip2 //13 14 15 16 17 18 ip3 //19 20 21 22 23 24 ip4 //25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 //41 42 43 44 45 46 //47 48 49 50 //51 52 53 54 55 56 //11 + 3 = 14 + 57 = 71 = 0x47 netpara.ip1[0] = comm_04F3_param.primary.ip1; netpara.ip1[1] =comm_04F3_param.primary.ip2; netpara.ip1[2] = comm_04F3_param.primary.ip3; netpara.ip1[3] =comm_04F3_param.primary.ip4 ; netpara.port1 = comm_04F3_param.primary.port; netpara.ip2[0] = comm_04F3_param.reserve.ip1;; netpara.ip2[1] = comm_04F3_param.reserve.ip2; netpara.ip2[2] =comm_04F3_param.reserve.ip3 ; netpara.ip2[3] = comm_04F3_param.reserve.ip4; netpara.port2 = comm_04F3_param.reserve.port; memcpy(netpara.apn,comm_04F3_param.APN , sizeof(netpara.apn)); u16 port = 0; u8 * p = NULL; val[0] = netpara_gettype(); p = netpara_getip1(); memmove(&val[1],p,4); port = netpara_getport1(); val[5] = port&0xFF; val[6] = (port>>8)&0xFF; p = netpara_getip2(); memmove(&val[7],p,4); port = netpara_getport2(); val[11] = port&0xFF; val[12] = (port>>8)&0xFF; p = netpara_getip3(); memmove(&val[13],p,4); port = netpara_getport3(); val[17] = port&0xFF; val[18] = (port>>8)&0xFF; p = netpara_getip4(); memmove(&val[19],p,4); port = netpara_getport4(); val[23] = port&0xFF; val[24] = (port>>8)&0xFF; p = netpara_getapn(); memmove(&val[25],p,16); p = netpara_getlocalip(); memmove(&val[41],p,4); port = netpara_getlocalport(); val[45] = port&0xFF; val[46] = (port>>8)&0xFF; p = netpara_getmask(); memmove(&val[47],p,4); p = netpara_getlocalmac(); memmove(&val[51],p,6); } void netpara_write() { } void netpara_read() { }