📄 lcmd.c
字号:
memset(tmp, 0, 4); n = data[3]; tmp[0] = (n % 1000) / 100; tmp[1] = (n % 100) / 10; tmp[2] = n % 10; sum = 0; while(i < 15) { num = atop_digit(tmp[i - 12], i); if (num != -1) { sum += num * pow(10, 14 - i); i++; } else return 0; } tmp2[3] = sum; if (sum > 255) return -1; if (tmp2[0] == 0 && tmp2[1] == 0 && tmp2[2] == 0 && tmp2[3] == 0) return -1; if (tmp2[0] == data[0] && tmp2[1] == data[1] && tmp2[2] == data[2] && tmp2[3] == data[3]) return 0; for (i = 0; i < 4; i++) data[i] = tmp2[i]; return 1;}//---------------------------------------------------------------------------// input five digitint input_five_digit(unsigned int data) { int i = 0; int num = 0, sum = 0, n = 0; int tmp[5]; memset(tmp, 0, 5); n = data; tmp[0] = (n % 100000) / 10000; tmp[1] = (n % 10000) / 1000; tmp[2] = (n % 1000) / 100; tmp[3] = (n % 100) / 10; tmp[4] = n % 10; while(i < 5) { num = atop_digit(tmp[i], i); if (num != -1) { sum += num * pow(10, 4 - i); i++; } else return -1; } return sum;}//---------------------------------------------------------------------------int save_restart(int ethx) { int i = 1; int select = 0; while ( select != 1) { switch (select) { case 1: return 0; break; case 2: i = i - 1; if (i < 1) i = 1; break; case 3: i = i + 1; if (i > 2) i = 2; break; case 4: switch (i){ case 1: goto not_save; break; case 2: if(ip_flag == ethx) set_ip(ethx, &ip_tmp); if(netmask_flag == ethx) set_netmask(ethx, &netmask_tmp); if(gateway_flag == ethx) set_gateway(ethx, &gateway_tmp); system("restart"); return 0; break; } break; } lcm_out("Save/Restart", 1, 0); switch (i){ case 1: lcm_out("1.NO", 2, 0); break; case 2: lcm_out("2.YES", 2, 0); break; } select = lcm_in(); } not_save: ip_flag = -1; netmask_flag = -1; gateway_flag = -1; return 0;}//---------------------------------------------------------------------------int serial_number() { int select = 0; while ( select != 1) { lcm_out("Serial number", 1, 0); lcm_out("unknow", 2, 0); select = lcm_in(); } return 0;}#if 0//---------------------------------------------------------------------------int server_name() { int select = 0; unsigned char username[16]; memset(username, 0, 16); while (select != 1) { lcm_out("Server name", 1, 0); get_username(&username); lcm_out(username, 2, 0); select = lcm_in(); } return 0;}#endif//---------------------------------------------------------------------------int model_name() { int select = 0; while ( select != 1) { lcm_out("Model name", 1, 0); lcm_out("SE5116", 2, 0); select = lcm_in(); } return 0;}//---------------------------------------------------------------------------int server_state() { int i = 1; int select = 0; while ( select != 1) { switch (select) { case 1: return 0; break; case 2: i = i - 1; if (i < 1) i = 1; break; case 3: i = i + 1; if (i > 1) i = 1; break; case 4: switch (i){ case 1: model_name(); break; //case 2: // server_name(); // break; } break; } lcm_out("Server state", 1, 0); switch (i){ case 1: lcm_out("1.Model name", 2, 0); break; //case 2: // lcm_out("2.Server name", 2, 0); // break; } select = lcm_in(); } return 0;}//---------------------------------------------------------------------------int ethernet_states() { int select = 0; while ( select != 1) { switch (select) { case 1: return 0; break; } lcm_out("Ethernet states", 1, 0); lcm_out("No link", 2, 0); select = lcm_in(); } return 0;}//---------------------------------------------------------------------------int lan_mac(int ethx) { int select = 0; unsigned char mac[6]; char tmp[16]; get_mac(ethx, &mac); sprintf(tmp, "%02X%02X%02X%02X%02X%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); while ( select != 1) { lcm_out("Lan Mac", 1, 0); lcm_out_a_char(0x31 + ethx, 1, 4); lcm_out(tmp, 2, 0); select = lcm_in(); } return 0;}//---------------------------------------------------------------------------int ip_mode(int ethx){ unsigned char i; int select = 0; i = get_ipmode(ethx); if( i == 0xFF) i = 1; else if( i == 0) i = 2; else { set_ipmode(ethx, 0xFF); i = 1; } while ( select != 1) { switch (select) { case 1: return 0; break; case 2: i = i - 1; if (i < 1) i = 1; break; case 3: i = i + 1; if (i > 2) i = 2; break; case 4: switch (i){ case 1: set_ipmode(ethx, 0xFF); break; case 2: set_ipmode(ethx, 0); break; } lcm_out("Save success", 2, 0); sleep(1); return 0; break; } lcm_out("Lan IP Config", 1, 0); lcm_out_a_char(0x31 + ethx, 1, 4); switch (i){ case 1: lcm_out("1.Static", 2, 0); break; case 2: lcm_out("2.DHCP", 2, 0); break; } select = lcm_in(); } return 0;}//---------------------------------------------------------------------------// input Lan 1 or Lan 2 IP address.int ip_address(int ethx) { int i; unsigned char tmp[16]; lcm_out("Lan IP", 1, 0); lcm_out_a_char(0x31 + ethx, 1, 4); sprintf(tmp, "%03d.%03d.%03d.%03d",ip_tmp[0], ip_tmp[1], ip_tmp[2], ip_tmp[3]); lcm_out(tmp, 2, 0); // if i = 1, ip address is legal; if i = -1, ip address is illegal; // if i = 0, ip address is not changed. i = input_address(&ip_tmp); if ( i == 1) { ip_flag = ethx; } else if (i == -1) { lcm_out("Input error", 2, 0); sleep(1); } return 0;}//---------------------------------------------------------------------------// input Lan 1 or Lan 2 Netmask.int net_mask(int ethx) { int i; unsigned char tmp[16]; lcm_out("Lan Net Mask", 1, 0); lcm_out_a_char(0x31 + ethx, 1, 4); sprintf(tmp, "%03d.%03d.%03d.%03d",netmask_tmp[0], netmask_tmp[1], netmask_tmp[2], netmask_tmp[3]); lcm_out(tmp, 2, 0); i = input_address(&netmask_tmp); if (i == 1) { netmask_flag = ethx; } else if ( i == -1) { lcm_out("Input error", 2, 0); sleep(1); } return 0;}//---------------------------------------------------------------------------int lan_gateway(int ethx) { int i; unsigned char tmp[16]; lcm_out("Lan Gateway", 1, 0); lcm_out_a_char(0x31 + ethx, 1, 4); sprintf(tmp, "%03d.%03d.%03d.%03d",gateway_tmp[0], gateway_tmp[1], gateway_tmp[2], gateway_tmp[3]); lcm_out(tmp, 2, 0); i = input_address(&gateway_tmp); if ( i == 1) { gateway_flag = ethx; } else if (i == -1) { lcm_out("Input error", 2, 0); sleep(1); } return 0;}//---------------------------------------------------------------------------int lan(int ethx) { int i = 1, n = 0; int select = 0; unsigned char ip[4]; unsigned char netmask[4]; unsigned char gateway[4]; get_ip(ethx, &ip); get_netmask(ethx, &netmask); get_gateway(ethx, &gateway); for (n = 0; n < 4; n++) { ip_tmp[n] = ip[n]; netmask_tmp[n] = netmask[n]; gateway_tmp[n] = gateway[n]; } while ( select != 1) { switch (select) { case 1: return 0; break; case 2: i = i - 1; if (i < 1) i = 1; break; case 3: i = i + 1; if (i > 5) i = 5; break; case 4: switch (i){ case 1: lan_mac(ethx); break; case 2: ip_mode(ethx); break; case 3: ip_address(ethx); break; case 4: net_mask(ethx); break; case 5: lan_gateway(ethx); break; } break; } lcm_out("Lan", 1, 0); lcm_out_a_char(0x31 + ethx, 1, 4); switch (i){ case 1: lcm_out("1.MAC", 2, 0); break; case 2: lcm_out("2.IP config", 2, 0); break; case 3: lcm_out("3.IP address", 2, 0); break; case 4: lcm_out("4.Net mask", 2, 0); break; case 5: lcm_out("5.Gateway", 2, 0); break; } select = lcm_in(); } if(ip_flag != -1 || netmask_flag != -1 || gateway_flag != -1) save_restart(ethx); return 0;}//---------------------------------------------------------------------------int dns_server(int ethx){ int i; unsigned char dns_ip[4]; unsigned char tmp[16]; get_dns_ip(ethx, &dns_ip); lcm_out("DNS Server ", 1, 0); lcm_out_a_char(0x31 + ethx, 1, 11); sprintf(tmp, "%03d.%03d.%03d.%03d",dns_ip[0], dns_ip[1], dns_ip[2], dns_ip[3]); lcm_out(tmp, 2, 0); i = input_address(&dns_ip); if ( i == 1) { set_dns_ip(ethx, &dns_ip); lcm_out("Save success", 2, 0); sleep(1); } else if (i == -1) { lcm_out("Input error", 2, 0); sleep(1); } return 0;}//---------------------------------------------------------------------------int network_ntp(){ int select = 0, i = ntp_value; while ( select != 1) { switch (select) { case 1: return 0; break; case 2: i = i - 1; if (i < 1) i = 1; break; case 3: i = i + 1; if (i > 13) i = 13; break; case 4: ntp_value = i; return 0; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -