8 const char passwordKey[] = "NtgrSmartSwitchRock";
11 const char* const speed_str_tab[] = {
12 [SPEED_DOWN] = "down",
13 [SPEED_10_HD] = "10M half-duplex",
14 [SPEED_10_FD] = "10M full-duplex",
15 [SPEED_100_HD] = "100M half-duplex",
16 [SPEED_100_FD] = "100M full-duplex",
17 [SPEED_1000_FD] = "1000M full-duplex",
22 const char* const vlan_type_str_tab[] = {
23 [VLAN_DISABLED] = "disabled",
24 [VLAN_PORT_BASIC] = "basic port based",
25 [VLAN_PORT_ADV] = "advanced port based",
26 [VLAN_DOT_BASIC] = "basic 802.1Q",
27 [VLAN_DOT_ADV] = "advanced 802.1Q",
32 const char* const vlan_code_str_tab[] = {
34 [VLAN_UNTAGGED] = "untagged",
35 [VLAN_TAGGED] = "tagged",
40 const char* const qos_type_str_tab[] = {
47 const char* const qos_prio_str_tab[] = {
49 [PRIO_MED] = "medium",
50 [PRIO_NORM] = "normal",
56 const char* const bitrate_str_tab[] = {
57 [BITRATE_NOLIMIT] = "nl",
58 [BITRATE_512K] = "512K",
63 [BITRATE_16M] = "16M",
64 [BITRATE_32M] = "32M",
65 [BITRATE_64M] = "64M",
66 [BITRATE_128M] = "128M",
67 [BITRATE_256M] = "256M",
68 [BITRATE_512M] = "512M",
73 const char* const code_str_tab[] = {
74 [CODE_READ_REQ] = "read request",
75 [CODE_READ_REP] = "read reply",
76 [CODE_WRITE_REQ] = "write request",
77 [CODE_WRITE_REP] = "write reply",
82 const char* const error_str_tab[] = {
83 [ERROR_NONE] = "none",
84 [ERROR_READONLY] = "read only",
85 [ERROR_INVALID_VALUE] = "invalid value",
86 [ERROR_DENIED] = "access denied",
91 int parseValueStr (const char* const* tab, unsigned char mini, unsigned char maxi, const char *str)
95 for (i = mini; i <= maxi; i++) {
96 if (tab[i] != NULL && strcasecmp(str, tab[i]) == 0)
104 bool isStringPrintable (const char *str, unsigned int len)
108 for (p = str; len > 0; len--) {
117 void passwordEndecode (char *buf, unsigned int len)
119 const char *k = passwordKey;
122 if (buf == NULL || len <= 0)
125 for (i = 0; i < len; i++) {
133 int trim (char *txt, int start)
141 for (p--; p >= txt && (*p == ' ' || *p == '\n'); *p-- = '\0');