mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-08-30 14:52:51 +08:00
adapted syslog cmd_parsing to new method
This commit is contained in:
+47
-39
@@ -1189,6 +1189,52 @@ err:
|
|||||||
print_string("usage: bw [in|out|status] <port> [<hexvalue>|off|drop|fc]\n");
|
print_string("usage: bw [in|out|status] <port> [<hexvalue>|off|drop|fc]\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void parse_syslog(void)
|
||||||
|
{
|
||||||
|
if (cmd_words_len < 2) // no argument -> print status
|
||||||
|
{
|
||||||
|
print_string("Current syslog status: ");
|
||||||
|
if (syslog_state.enabled) {
|
||||||
|
print_string("enabled, sending to ");
|
||||||
|
itoa(syslog_state.server_ip[0]); write_char('.'); itoa(syslog_state.server_ip[1]); write_char('.');
|
||||||
|
itoa(syslog_state.server_ip[2]); write_char('.'); itoa(syslog_state.server_ip[3]);
|
||||||
|
write_char('\n');
|
||||||
|
} else {
|
||||||
|
print_string("disabled\n");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmd_compare(1, "on")) {
|
||||||
|
syslog_start();
|
||||||
|
} else if (cmd_compare(1, "off")){
|
||||||
|
syslog_stop();
|
||||||
|
} else if (cmd_compare(1, "ip")) {
|
||||||
|
if (cmd_words_len < 3) { // no additional arguemnt -> print current ip
|
||||||
|
print_string("Current syslog IP: ");
|
||||||
|
itoa(syslog_state.server_ip[0]); write_char('.'); itoa(syslog_state.server_ip[1]); write_char('.');
|
||||||
|
itoa(syslog_state.server_ip[2]); write_char('.'); itoa(syslog_state.server_ip[3]);
|
||||||
|
return;
|
||||||
|
} else if (!parse_ip(cmd_words_b[2])) {
|
||||||
|
uint8_t was_enabled = syslog_state.enabled;
|
||||||
|
if (was_enabled)
|
||||||
|
syslog_stop();
|
||||||
|
print_string("Setting new syslog IP.\n");
|
||||||
|
syslog_state.server_ip[0] = ip[0]; syslog_state.server_ip[1] = ip[1];
|
||||||
|
syslog_state.server_ip[2] = ip[2]; syslog_state.server_ip[3] = ip[3];
|
||||||
|
if (was_enabled)
|
||||||
|
syslog_start();
|
||||||
|
} else {
|
||||||
|
print_string("Invalid IP address\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print_string("Error: syslog [on|off|ip [ip-address]]\n");
|
||||||
|
print_string(" on/off enables or disables syslog, ip sets the syslog server IP address\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Parse command into words
|
// Parse command into words
|
||||||
// cmd_words_len contains the number of words found.
|
// cmd_words_len contains the number of words found.
|
||||||
// cmd_words_b[] contains only start of a word offset.
|
// cmd_words_b[] contains only start of a word offset.
|
||||||
@@ -1341,45 +1387,7 @@ void cmd_parser(void) __banked
|
|||||||
} else if (cmd_compare(0, "mtu")) {
|
} else if (cmd_compare(0, "mtu")) {
|
||||||
parse_mtu();
|
parse_mtu();
|
||||||
} else if (cmd_compare(0, "syslog")) {
|
} else if (cmd_compare(0, "syslog")) {
|
||||||
if (cmd_words_b[1] > 0 && cmd_compare(1, "on")) {
|
parse_syslog();
|
||||||
syslog_start();
|
|
||||||
} else if (cmd_words_b[1] > 0 && cmd_compare(1, "off")){
|
|
||||||
syslog_stop();
|
|
||||||
} else if (cmd_words_b[1] > 0 && cmd_compare(1, "ip")) {
|
|
||||||
if (cmd_words_b[3] < 0) {
|
|
||||||
print_string("Current syslog IP: ");
|
|
||||||
itoa(syslog_state.server_ip[0]); write_char('.'); itoa(syslog_state.server_ip[1]); write_char('.');
|
|
||||||
itoa(syslog_state.server_ip[2]); write_char('.'); itoa(syslog_state.server_ip[3]);
|
|
||||||
return;
|
|
||||||
} else if (!parse_ip(cmd_words_b[2])) {
|
|
||||||
uint8_t was_enabled = syslog_state.enabled;
|
|
||||||
if (was_enabled)
|
|
||||||
syslog_stop();
|
|
||||||
print_string("Setting new syslog IP.\n");
|
|
||||||
syslog_state.server_ip[0] = ip[0]; syslog_state.server_ip[1] = ip[1];
|
|
||||||
syslog_state.server_ip[2] = ip[2]; syslog_state.server_ip[3] = ip[3];
|
|
||||||
if (was_enabled)
|
|
||||||
syslog_start();
|
|
||||||
} else {
|
|
||||||
print_string("Invalid IP address\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (cmd_words_b[1] < 0) {
|
|
||||||
print_string("Error: syslog [on|off|ip [ip-address]]\n");
|
|
||||||
print_string(" on/off enables or disables syslog, ip sets the syslog server IP address\n");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print_string("Current syslog status: ");
|
|
||||||
if (syslog_state.enabled) {
|
|
||||||
print_string("enabled, sending to ");
|
|
||||||
itoa(syslog_state.server_ip[0]); write_char('.'); itoa(syslog_state.server_ip[1]); write_char('.');
|
|
||||||
itoa(syslog_state.server_ip[2]); write_char('.'); itoa(syslog_state.server_ip[3]);
|
|
||||||
write_char('\n');
|
|
||||||
} else {
|
|
||||||
print_string("disabled\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (cmd_compare(0, "ip")) {
|
} else if (cmd_compare(0, "ip")) {
|
||||||
if (cmd_compare(1, "dhcp")) {
|
if (cmd_compare(1, "dhcp")) {
|
||||||
dhcp_start();
|
dhcp_start();
|
||||||
|
|||||||
Reference in New Issue
Block a user