mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-08-30 14:52:51 +08:00
Added print_ip() to print IPv4 addresses.
This commit is contained in:
+24
-16
@@ -322,6 +322,22 @@ err:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print a IPv4 adress.
|
||||||
|
void print_ip(__xdata uint8_t * ptr)
|
||||||
|
{
|
||||||
|
uint8_t idx = 0;
|
||||||
|
uint8_t num;
|
||||||
|
|
||||||
|
while(1) {
|
||||||
|
num = *ptr++;
|
||||||
|
itoa(num);
|
||||||
|
if (++idx == 4)
|
||||||
|
break;
|
||||||
|
|
||||||
|
write_char('.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void parse_lag(void)
|
void parse_lag(void)
|
||||||
{
|
{
|
||||||
@@ -1379,8 +1395,7 @@ void parse_syslog(void)
|
|||||||
print_string("Current syslog status: ");
|
print_string("Current syslog status: ");
|
||||||
if (syslog_state.enabled) {
|
if (syslog_state.enabled) {
|
||||||
print_string("enabled, sending to ");
|
print_string("enabled, sending to ");
|
||||||
itoa(syslog_state.server_ip[0]); write_char('.'); itoa(syslog_state.server_ip[1]); write_char('.');
|
print_ip(syslog_state.server_ip);
|
||||||
itoa(syslog_state.server_ip[2]); write_char('.'); itoa(syslog_state.server_ip[3]);
|
|
||||||
write_char('\n');
|
write_char('\n');
|
||||||
} else {
|
} else {
|
||||||
print_string("disabled\n");
|
print_string("disabled\n");
|
||||||
@@ -1395,8 +1410,7 @@ void parse_syslog(void)
|
|||||||
} else if (cmd_compare(1, "ip")) {
|
} else if (cmd_compare(1, "ip")) {
|
||||||
if (cmd_words_len < 3) { // no additional arguemnt -> print current ip
|
if (cmd_words_len < 3) { // no additional arguemnt -> print current ip
|
||||||
print_string("Current syslog IP: ");
|
print_string("Current syslog IP: ");
|
||||||
itoa(syslog_state.server_ip[0]); write_char('.'); itoa(syslog_state.server_ip[1]); write_char('.');
|
print_ip(syslog_state.server_ip);
|
||||||
itoa(syslog_state.server_ip[2]); write_char('.'); itoa(syslog_state.server_ip[3]);
|
|
||||||
return;
|
return;
|
||||||
} else if (parse_ip(cmd_words_b[2]) != 0) {
|
} else if (parse_ip(cmd_words_b[2]) != 0) {
|
||||||
uint8_t was_enabled = syslog_state.enabled;
|
uint8_t was_enabled = syslog_state.enabled;
|
||||||
@@ -1565,8 +1579,7 @@ void cmd_parser(void) __banked
|
|||||||
dhcp_start();
|
dhcp_start();
|
||||||
} else if (cmd_words_len == 1) {
|
} else if (cmd_words_len == 1) {
|
||||||
print_string("Current IP: ");
|
print_string("Current IP: ");
|
||||||
itoa(uip_hostaddr[0]); write_char('.'); itoa(uip_hostaddr[0] >> 8); write_char('.');
|
print_ip(uip_hostaddr);
|
||||||
itoa(uip_hostaddr[1]); write_char('.'); itoa(uip_hostaddr[1] >> 8);
|
|
||||||
if (dhcp_state.state == DHCP_LEASING) {
|
if (dhcp_state.state == DHCP_LEASING) {
|
||||||
print_string(" (dhcp, renewal in sec: ");
|
print_string(" (dhcp, renewal in sec: ");
|
||||||
print_short(dhcp_state.dhcp_timer);
|
print_short(dhcp_state.dhcp_timer);
|
||||||
@@ -1581,8 +1594,7 @@ void cmd_parser(void) __banked
|
|||||||
if (parse_ip(cmd_words_b[1]) != 0) {
|
if (parse_ip(cmd_words_b[1]) != 0) {
|
||||||
uip_ipaddr(&uip_hostaddr, ip[0], ip[1], ip[2], ip[3]);
|
uip_ipaddr(&uip_hostaddr, ip[0], ip[1], ip[2], ip[3]);
|
||||||
print_string("Setting ip: ");
|
print_string("Setting ip: ");
|
||||||
itoa(ip[0]); write_char('.'); itoa(ip[1]); write_char('.');
|
print_ip(ip); write_char('\n');
|
||||||
itoa(ip[2]); write_char('.'); itoa(ip[3]); write_char('\n');
|
|
||||||
} else {
|
} else {
|
||||||
print_string("Invalid IP address\n" \
|
print_string("Invalid IP address\n" \
|
||||||
"Error: ip [<ip-address>|dhcp]\n" \
|
"Error: ip [<ip-address>|dhcp]\n" \
|
||||||
@@ -1593,14 +1605,12 @@ void cmd_parser(void) __banked
|
|||||||
} else if (cmd_compare(0, "gw")) {
|
} else if (cmd_compare(0, "gw")) {
|
||||||
if (cmd_words_len == 1) {
|
if (cmd_words_len == 1) {
|
||||||
print_string("Current gw: ");
|
print_string("Current gw: ");
|
||||||
itoa(uip_draddr[0]); write_char('.'); itoa(uip_draddr[0] >> 8); write_char('.');
|
print_ip(uip_draddr); write_char('\n');
|
||||||
itoa(uip_draddr[1]); write_char('.'); itoa(uip_draddr[1] >> 8); write_char('\n');
|
|
||||||
} else {
|
} else {
|
||||||
if (parse_ip(cmd_words_b[1]) != 0) {
|
if (parse_ip(cmd_words_b[1]) != 0) {
|
||||||
uip_ipaddr(&uip_draddr, ip[0], ip[1], ip[2], ip[3]);
|
uip_ipaddr(&uip_draddr, ip[0], ip[1], ip[2], ip[3]);
|
||||||
print_string("Setting gw: ");
|
print_string("Setting gw: ");
|
||||||
itoa(ip[0]); write_char('.'); itoa(ip[1]); write_char('.');
|
print_ip(ip); write_char('\n');
|
||||||
itoa(ip[2]); write_char('.'); itoa(ip[3]); write_char('\n');
|
|
||||||
} else {
|
} else {
|
||||||
print_string("Invalid IP address\n" \
|
print_string("Invalid IP address\n" \
|
||||||
"Error: gw <ip-address>\n");
|
"Error: gw <ip-address>\n");
|
||||||
@@ -1609,14 +1619,12 @@ void cmd_parser(void) __banked
|
|||||||
} else if (cmd_compare(0, "netmask")) {
|
} else if (cmd_compare(0, "netmask")) {
|
||||||
if (cmd_words_len == 1) {
|
if (cmd_words_len == 1) {
|
||||||
print_string("Current netmask: ");
|
print_string("Current netmask: ");
|
||||||
itoa(uip_netmask[0]); write_char('.'); itoa(uip_netmask[0] >> 8); write_char('.');
|
print_ip(uip_netmask); write_char('\n');
|
||||||
itoa(uip_netmask[1]); write_char('.'); itoa(uip_netmask[1] >> 8);
|
|
||||||
} else {
|
} else {
|
||||||
if (parse_ip(cmd_words_b[1]) != 0) {
|
if (parse_ip(cmd_words_b[1]) != 0) {
|
||||||
uip_ipaddr(&uip_netmask, ip[0], ip[1], ip[2], ip[3]);
|
uip_ipaddr(&uip_netmask, ip[0], ip[1], ip[2], ip[3]);
|
||||||
print_string("Setting netmask: ");
|
print_string("Setting netmask: ");
|
||||||
itoa(ip[0]); write_char('.'); itoa(ip[1]); write_char('.');
|
print_ip(ip); write_char('\n');
|
||||||
itoa(ip[2]); write_char('.'); itoa(ip[3]);
|
|
||||||
} else {
|
} else {
|
||||||
print_string("Invalid IP address\n");
|
print_string("Invalid IP address\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user