X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ap-utils.git;a=blobdiff_plain;f=lib%2Fscr.c;fp=lib%2Fscr.c;h=6ad506a3bcbefc3b2da320e9658380e4d9ac96b5;hp=b0eeb0ca69164c7d8bc54911de5b0058c661b801;hb=1aac4ac30a9a0d6cd2182013d2b3fd48b65ed2fd;hpb=5c77e013a46530bb3650f61d768dfed0dd3b72cb diff --git a/lib/scr.c b/lib/scr.c index b0eeb0c..6ad506a 100644 --- a/lib/scr.c +++ b/lib/scr.c @@ -25,6 +25,7 @@ #include extern WINDOW *main_sub, *win_for_help, *main_win; +extern short ap_type, ap_vendorext; enum { dBm, percentage, rawval } sts_viewtype = dBm; @@ -36,22 +37,16 @@ scroll_rows(struct MacListStat *first, int begin, int end, int row, struct MacListStat *curr = first; char message[100]; - clear_main(3); + clear_main(row); while (i++ < begin) curr = curr->next; i = 0; while (end-- > begin) { if (stat == 1) { - /* NWN view */ + /* NWN STAtions listing */ sprintf(message, - (sts_viewtype == dBm) ? - "%4u %02X%02X%02X%02X%02X%02X %3u%5u %3udBm" - : - (sts_viewtype == percentage) ? - "%4u %02X%02X%02X%02X%02X%02X %3u%5u %3u%%" - : - "%4u %02X%02X%02X%02X%02X%02X %3u%5u %3u", + "%4u %02X%02X%02X%02X%02X%02X %3u%5u %3d", begin + i, curr->addr[0] & 0xFF, curr->addr[1] & 0xFF, curr->addr[2] & 0xFF, curr->addr[3] & 0xFF, curr->addr[4] & 0xFF, curr->addr[5] & 0xFF, @@ -60,56 +55,50 @@ scroll_rows(struct MacListStat *first, int begin, int end, int row, conv_rssi(curr->rssi) ); } else if (stat == 2) { - /* ATMEL410_SBRIDGES (firmware 1.4k.1) view */ - sprintf(message, - (sts_viewtype == dBm) ? - "%2u %02X%02X%02X%02X%02X%02X %3d%% %4ddBm %3u %2u %s" - : - (sts_viewtype == percentage) ? - "%2u %02X%02X%02X%02X%02X%02X %3d%% %3u%% %3u %2u %s" - : - "%2u %02X%02X%02X%02X%02X%02X %3d%% %3u %3u %2u %s", - begin + i, - curr->addr[0] & 0xFF, curr->addr[1] & 0xFF, - curr->addr[2] & 0xFF, curr->addr[3] & 0xFF, - curr->addr[4] & 0xFF, curr->addr[5] & 0xFF, - curr->quality, - conv_rssi(curr->rssi), - curr->Status, - curr->Port, - inet_ntoa(curr->IP) - ); - } else if (stat == 3) { - /* ATMEL12350_VERNET view */ - sprintf(message, - (sts_viewtype == dBm) ? - "%2u %02X%02X%02X%02X%02X%02X %02X%02X%02X%02X%02X%02X " - "%4ddBm %3u %2u %s" - : - (sts_viewtype == percentage) ? - "%2u %02X%02X%02X%02X%02X%02X %02X%02X%02X%02X%02X%02X " - " %3u%% %3u %2u %s" - : - "%2u %02X%02X%02X%02X%02X%02X %02X%02X%02X%02X%02X%02X " - " %3u %3u %2u %s", + /* ATMEL STAtions listing */ + char parentmac[13] = " - "; + char rssi[5] = " -"; + char quality[5] = " -"; + char status[4] = " -"; + char port[4] = " -"; + char ip[16] = " - "; + + if (curr->ParentMacAddress[0] | curr->ParentMacAddress[1] | + curr->ParentMacAddress[2] | curr->ParentMacAddress[3] | + curr->ParentMacAddress[4] | curr->ParentMacAddress[5]) + sprintf(parentmac, "%02X%02X%02X%02X%02X%02X", + curr->ParentMacAddress[0] & 0xFF, + curr->ParentMacAddress[1] & 0xFF, + curr->ParentMacAddress[2] & 0xFF, + curr->ParentMacAddress[3] & 0xFF, + curr->ParentMacAddress[4] & 0xFF, + curr->ParentMacAddress[5] & 0xFF); + + if (curr->rssi) + sprintf(rssi, "%4d", conv_rssi(curr->rssi)); + + if (curr->quality) + sprintf(quality, "%3u%%", curr->quality); + + if (curr->Status) + sprintf(status, "%3u", curr->Status); + + if (curr->Port) + sprintf(port, "%2u", curr->Port); + + if(curr->IP.s_addr) + sprintf(ip, "%s", inet_ntoa(curr->IP)); + + sprintf(message, "%3u %02X%02X%02X%02X%02X%02X %s %s %s %s %s %s", begin + i, curr->addr[0] & 0xFF, curr->addr[1] & 0xFF, curr->addr[2] & 0xFF, curr->addr[3] & 0xFF, curr->addr[4] & 0xFF, curr->addr[5] & 0xFF, - curr->ParentMacAddress[0] & 0xFF, - curr->ParentMacAddress[1] & 0xFF, - curr->ParentMacAddress[2] & 0xFF, - curr->ParentMacAddress[3] & 0xFF, - curr->ParentMacAddress[4] & 0xFF, - curr->ParentMacAddress[5] & 0xFF, - conv_rssi(curr->rssi), - curr->Status, - curr->Port, - inet_ntoa(curr->IP) + parentmac, rssi, quality, status, port, ip ); } else { - /* generic ATMEL view */ - sprintf(message, "%2u %02X%02X%02X%02X%02X%02X", + /* MAC auth table listing */ + sprintf(message, " %3u %02X%02X%02X%02X%02X%02X", begin + i, curr->addr[0] & 0xFF, curr->addr[1] & 0xFF, curr->addr[2] & 0xFF, curr->addr[3] & 0xFF, curr->addr[4] & 0xFF, curr->addr[5] & 0xFF @@ -139,9 +128,9 @@ void print_help(char *mess) void print_helperr(char *mess) { - wattrset(win_for_help, COLOR_PAIR(4) | A_BOLD); + wattrset(win_for_help, COLOR_PAIR(14) | A_BOLD); print_help(mess); - wattrset(win_for_help, COLOR_PAIR(1)); + wattrset(win_for_help, COLOR_PAIR(11)); } void print_bold(WINDOW *wptr, char *mess) @@ -199,16 +188,16 @@ void print_top_rssi(char *message_r) { char message_l[200]; - sprintf(message_l, "%s", VIEW); + sprintf(message_l, "%s", "RSSI: "); switch (sts_viewtype) { case dBm: - strcat(message_l, "RSSI in dBm"); + strcat(message_l, "dBm"); break; case percentage: - strcat(message_l, "RSSI in percentage"); + strcat(message_l, "%"); break; case rawval: - strcat(message_l, "RSSI in raw values"); + strcat(message_l, "raw"); } print_top(message_l, message_r); } @@ -232,7 +221,7 @@ int conv_rssi(int raw_rssi) { switch (sts_viewtype) { case dBm: - return (-96 + raw_rssi); + return (dbmconv(raw_rssi)); case percentage: return ((int)((minimum (raw_rssi, 40)) * (float)2.5)); case rawval: