| From eb04ef31571f6c707eacaba6846feeebfab518e6 Mon Sep 17 00:00:00 2001 |
| From: Bernd Eckenfels <net-tools@lina.inka.de> |
| Date: Thu, 29 May 2003 02:09:14 +0000 |
| Subject: [PATCH] added 'ull' prefix to unsigned long long constants to make |
| gcc 3.3 happy |
| |
| Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> |
| Upstream-Status: Backport [https://sourceforge.net/p/net-tools/code/ci/eb04ef31571f6c707eacaba6846feeebfab518e6] |
| --- |
| lib/interface.c | 299 ++++++++++++++++++++++++++---------------------- |
| 1 file changed, 161 insertions(+), 138 deletions(-) |
| |
| diff -uNr net-tools-1.60.orig/lib/interface.c net-tools-1.60/lib/interface.c |
| --- net-tools-1.60.orig/lib/interface.c 2020-06-16 10:04:16.308411879 +0000 |
| +++ net-tools-1.60/lib/interface.c 2020-06-16 10:05:15.697264291 +0000 |
| @@ -23,7 +23,6 @@ |
| #include <string.h> |
| #include <unistd.h> |
| #include <ctype.h> |
| -#include <string.h> |
| |
| #if HAVE_AFIPX |
| #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) |
| @@ -654,6 +653,8 @@ |
| const char *Rext = "B"; |
| const char *Text = "B"; |
| |
| + static char flags[200]; |
| + |
| #if HAVE_AFIPX |
| static struct aftype *ipxtype = NULL; |
| #endif |
| @@ -685,32 +686,68 @@ |
| if (hw == NULL) |
| hw = get_hwntype(-1); |
| |
| - printf(_("%-9s Link encap:%s "), ptr->name, hw->title); |
| - /* For some hardware types (eg Ash, ATM) we don't print the |
| - hardware address if it's null. */ |
| - if (hw->print != NULL && (! (hw_null_address(hw, ptr->hwaddr) && |
| - hw->suppress_null_addr))) |
| - printf(_("HWaddr %s "), hw->print(ptr->hwaddr)); |
| -#ifdef IFF_PORTSEL |
| - if (ptr->flags & IFF_PORTSEL) { |
| - printf(_("Media:%s"), if_port_text[ptr->map.port][0]); |
| - if (ptr->flags & IFF_AUTOMEDIA) |
| - printf(_("(auto)")); |
| - } |
| + sprintf(flags, "flags=%d<", ptr->flags); |
| + /* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */ |
| + if (ptr->flags == 0) |
| + strcat(flags,">"); |
| + if (ptr->flags & IFF_UP) |
| + strcat(flags,_("UP,")); |
| + if (ptr->flags & IFF_BROADCAST) |
| + strcat(flags,_("BROADCAST,")); |
| + if (ptr->flags & IFF_DEBUG) |
| + strcat(flags,_("DEBUG,")); |
| + if (ptr->flags & IFF_LOOPBACK) |
| + strcat(flags,_("LOOPBACK,")); |
| + if (ptr->flags & IFF_POINTOPOINT) |
| + strcat(flags,_("POINTOPOINT,")); |
| + if (ptr->flags & IFF_NOTRAILERS) |
| + strcat(flags,_("NOTRAILERS,")); |
| + if (ptr->flags & IFF_RUNNING) |
| + strcat(flags,_("RUNNING,")); |
| + if (ptr->flags & IFF_NOARP) |
| + strcat(flags,_("NOARP,")); |
| + if (ptr->flags & IFF_PROMISC) |
| + strcat(flags,_("PROMISC,")); |
| + if (ptr->flags & IFF_ALLMULTI) |
| + strcat(flags,_("ALLMULTI,")); |
| + if (ptr->flags & IFF_SLAVE) |
| + strcat(flags,_("SLAVE,")); |
| + if (ptr->flags & IFF_MASTER) |
| + strcat(flags,_("MASTER,")); |
| + if (ptr->flags & IFF_MULTICAST) |
| + strcat(flags,_("MULTICAST,")); |
| +#ifdef HAVE_DYNAMIC |
| + if (ptr->flags & IFF_DYNAMIC) |
| + strcat(flags,_("DYNAMIC,")); |
| +#endif |
| + /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */ |
| + if (flags[strlen(flags)-1] == ',') |
| + flags[strlen(flags)-1] = '>'; |
| + else |
| + flags[strlen(flags)-1] = 0; |
| + |
| + |
| + printf(_("%s: %s mtu %d metric %d"), |
| + ptr->name, flags, ptr->mtu, ptr->metric ? ptr->metric : 1); |
| +#ifdef SIOCSKEEPALIVE |
| + if (ptr->outfill || ptr->keepalive) |
| + printf(_(" outfill %d keepalive %d"), |
| + ptr->outfill, ptr->keepalive); |
| #endif |
| printf("\n"); |
| |
| #if HAVE_AFINET |
| if (ptr->has_ip) { |
| - printf(_(" %s addr:%s "), ap->name, |
| + printf(_(" %s %s"), ap->name, |
| ap->sprint(&ptr->addr, 1)); |
| - if (ptr->flags & IFF_POINTOPOINT) { |
| - printf(_(" P-t-P:%s "), ap->sprint(&ptr->dstaddr, 1)); |
| - } |
| + printf(_(" netmask %s"), ap->sprint(&ptr->netmask, 1)); |
| if (ptr->flags & IFF_BROADCAST) { |
| - printf(_(" Bcast:%s "), ap->sprint(&ptr->broadaddr, 1)); |
| + printf(_(" broadcast %s"), ap->sprint(&ptr->broadaddr, 1)); |
| } |
| - printf(_(" Mask:%s\n"), ap->sprint(&ptr->netmask, 1)); |
| + if (ptr->flags & IFF_POINTOPOINT) { |
| + printf(_(" destination %s"), ap->sprint(&ptr->dstaddr, 1)); |
| + } |
| + printf("\n"); |
| } |
| #endif |
| |
| @@ -727,29 +764,30 @@ |
| addr6p[0], addr6p[1], addr6p[2], addr6p[3], |
| addr6p[4], addr6p[5], addr6p[6], addr6p[7]); |
| inet6_aftype.input(1, addr6, (struct sockaddr *) &sap); |
| - printf(_(" inet6 addr: %s/%d"), |
| - inet6_aftype.sprint((struct sockaddr *) &sap, 1), plen); |
| - printf(_(" Scope:")); |
| - switch (scope) { |
| - case 0: |
| - printf(_("Global")); |
| - break; |
| - case IPV6_ADDR_LINKLOCAL: |
| - printf(_("Link")); |
| - break; |
| - case IPV6_ADDR_SITELOCAL: |
| - printf(_("Site")); |
| - break; |
| - case IPV6_ADDR_COMPATv4: |
| - printf(_("Compat")); |
| - break; |
| - case IPV6_ADDR_LOOPBACK: |
| - printf(_("Host")); |
| - break; |
| - default: |
| - printf(_("Unknown")); |
| + printf(_(" %s %s prefixlen %d"), |
| + inet6_aftype.name, |
| + inet6_aftype.sprint((struct sockaddr *) &sap, 1), |
| + plen); |
| + printf(_(" scopeid 0x%x"), scope); |
| + |
| + flags[0] = '<'; flags[1] = 0; |
| + if (scope & IPV6_ADDR_COMPATv4) { |
| + strcat(flags, _("compat,")); |
| + scope -= IPV6_ADDR_COMPATv4; |
| } |
| - printf("\n"); |
| + if (scope == 0) |
| + strcat(flags, _("global,")); |
| + if (scope & IPV6_ADDR_LINKLOCAL) |
| + strcat(flags, _("link,")); |
| + if (scope & IPV6_ADDR_SITELOCAL) |
| + strcat(flags, _("site,")); |
| + if (scope & IPV6_ADDR_LOOPBACK) |
| + strcat(flags, _("host,")); |
| + if (flags[strlen(flags)-1] == ',') |
| + flags[strlen(flags)-1] = '>'; |
| + else |
| + flags[strlen(flags)-1] = 0; |
| + printf("%s\n", flags); |
| } |
| } |
| fclose(f); |
| @@ -762,17 +800,17 @@ |
| |
| if (ipxtype != NULL) { |
| if (ptr->has_ipx_bb) |
| - printf(_(" IPX/Ethernet II addr:%s\n"), |
| - ipxtype->sprint(&ptr->ipxaddr_bb, 1)); |
| + printf(_(" %s Ethernet-II %s\n"), |
| + ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_bb, 1)); |
| if (ptr->has_ipx_sn) |
| - printf(_(" IPX/Ethernet SNAP addr:%s\n"), |
| - ipxtype->sprint(&ptr->ipxaddr_sn, 1)); |
| + printf(_(" %s Ethernet-SNAP %s\n"), |
| + ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_sn, 1)); |
| if (ptr->has_ipx_e2) |
| - printf(_(" IPX/Ethernet 802.2 addr:%s\n"), |
| - ipxtype->sprint(&ptr->ipxaddr_e2, 1)); |
| + printf(_(" %s Ethernet802.2 %s\n"), |
| + ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_e2, 1)); |
| if (ptr->has_ipx_e3) |
| - printf(_(" IPX/Ethernet 802.3 addr:%s\n"), |
| - ipxtype->sprint(&ptr->ipxaddr_e3, 1)); |
| + printf(_(" %s Ethernet802.3 %s\n"), |
| + ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_e3, 1)); |
| } |
| #endif |
| |
| @@ -781,7 +819,7 @@ |
| ddptype = get_afntype(AF_APPLETALK); |
| if (ddptype != NULL) { |
| if (ptr->has_ddp) |
| - printf(_(" EtherTalk Phase 2 addr:%s\n"), ddptype->sprint(&ptr->ddpaddr, 1)); |
| + printf(_(" %s %s\n"), ddptype->name, ddptype->sprint(&ptr->ddpaddr, 1)); |
| } |
| #endif |
| |
| @@ -790,53 +828,30 @@ |
| ectype = get_afntype(AF_ECONET); |
| if (ectype != NULL) { |
| if (ptr->has_econet) |
| - printf(_(" econet addr:%s\n"), ectype->sprint(&ptr->ecaddr, 1)); |
| + printf(_(" %s %s\n"), ectype->name, ectype->sprint(&ptr->ecaddr, 1)); |
| } |
| #endif |
| |
| - printf(" "); |
| - /* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */ |
| - if (ptr->flags == 0) |
| - printf(_("[NO FLAGS] ")); |
| - if (ptr->flags & IFF_UP) |
| - printf(_("UP ")); |
| - if (ptr->flags & IFF_BROADCAST) |
| - printf(_("BROADCAST ")); |
| - if (ptr->flags & IFF_DEBUG) |
| - printf(_("DEBUG ")); |
| - if (ptr->flags & IFF_LOOPBACK) |
| - printf(_("LOOPBACK ")); |
| - if (ptr->flags & IFF_POINTOPOINT) |
| - printf(_("POINTOPOINT ")); |
| - if (ptr->flags & IFF_NOTRAILERS) |
| - printf(_("NOTRAILERS ")); |
| - if (ptr->flags & IFF_RUNNING) |
| - printf(_("RUNNING ")); |
| - if (ptr->flags & IFF_NOARP) |
| - printf(_("NOARP ")); |
| - if (ptr->flags & IFF_PROMISC) |
| - printf(_("PROMISC ")); |
| - if (ptr->flags & IFF_ALLMULTI) |
| - printf(_("ALLMULTI ")); |
| - if (ptr->flags & IFF_SLAVE) |
| - printf(_("SLAVE ")); |
| - if (ptr->flags & IFF_MASTER) |
| - printf(_("MASTER ")); |
| - if (ptr->flags & IFF_MULTICAST) |
| - printf(_("MULTICAST ")); |
| -#ifdef HAVE_DYNAMIC |
| - if (ptr->flags & IFF_DYNAMIC) |
| - printf(_("DYNAMIC ")); |
| -#endif |
| - /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */ |
| - printf(_(" MTU:%d Metric:%d"), |
| - ptr->mtu, ptr->metric ? ptr->metric : 1); |
| -#ifdef SIOCSKEEPALIVE |
| - if (ptr->outfill || ptr->keepalive) |
| - printf(_(" Outfill:%d Keepalive:%d"), |
| - ptr->outfill, ptr->keepalive); |
| + /* For some hardware types (eg Ash, ATM) we don't print the |
| + hardware address if it's null. */ |
| + if (hw->print != NULL && (! (hw_null_address(hw, ptr->hwaddr) && |
| + hw->suppress_null_addr))) |
| + printf(_(" %s %s"), hw->name, hw->print(ptr->hwaddr)); |
| + else |
| + printf(_(" %s"), hw->name); |
| + if (ptr->tx_queue_len != -1) |
| + printf(_(" txqueuelen %d"), ptr->tx_queue_len); |
| + printf(" (%s)\n", hw->title); |
| + |
| +#ifdef IFF_PORTSEL |
| + if (ptr->flags & IFF_PORTSEL) { |
| + printf(_(" media %s"), if_port_text[ptr->map.port][0]); |
| + if (ptr->flags & IFF_AUTOMEDIA) |
| + printf(_("autoselect")); |
| + printf("\n"); |
| + } |
| #endif |
| - printf("\n"); |
| + |
| |
| /* If needed, display the interface statistics. */ |
| |
| @@ -845,19 +860,9 @@ |
| * not for the aliases, although strictly speaking they're shared |
| * by all addresses. |
| */ |
| - printf(" "); |
| - |
| - printf(_("RX packets:%llu errors:%lu dropped:%lu overruns:%lu frame:%lu\n"), |
| - ptr->stats.rx_packets, ptr->stats.rx_errors, |
| - ptr->stats.rx_dropped, ptr->stats.rx_fifo_errors, |
| - ptr->stats.rx_frame_errors); |
| - if (can_compress) |
| - printf(_(" compressed:%lu\n"), ptr->stats.rx_compressed); |
| |
| rx = ptr->stats.rx_bytes; |
| - tx = ptr->stats.tx_bytes; |
| short_rx = rx * 10; |
| - short_tx = tx * 10; |
| if (rx > 1125899906842624ull) { |
| short_rx /= 1125899906842624ull; |
| Rext = "PiB"; |
| @@ -874,6 +879,8 @@ |
| short_rx /= 1024; |
| Rext = "KiB"; |
| } |
| + tx = ptr->stats.tx_bytes; |
| + short_tx = tx * 10; |
| if (tx > 1125899906842624ull) { |
| short_tx /= 1125899906842624ull; |
| Text = "PiB"; |
| @@ -891,37 +898,50 @@ |
| Text = "KiB"; |
| } |
| |
| - printf(" "); |
| - printf(_("TX packets:%llu errors:%lu dropped:%lu overruns:%lu carrier:%lu\n"), |
| - ptr->stats.tx_packets, ptr->stats.tx_errors, |
| - ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors, |
| - ptr->stats.tx_carrier_errors); |
| - printf(_(" collisions:%lu "), ptr->stats.collisions); |
| - if (can_compress) |
| - printf(_("compressed:%lu "), ptr->stats.tx_compressed); |
| - if (ptr->tx_queue_len != -1) |
| - printf(_("txqueuelen:%d "), ptr->tx_queue_len); |
| - printf("\n "); |
| - printf(_("RX bytes:%llu (%lu.%lu %s) TX bytes:%llu (%lu.%lu %s)\n"), |
| + printf(" "); |
| + printf(_("RX packets %llu bytes %llu (%lu.%lu %s)\n"), |
| + ptr->stats.rx_packets, |
| rx, (unsigned long)(short_rx / 10), |
| - (unsigned long)(short_rx % 10), Rext, |
| - tx, (unsigned long)(short_tx / 10), |
| - (unsigned long)(short_tx % 10), Text); |
| + (unsigned long)(short_rx % 10), Rext); |
| + if (can_compress) { |
| + printf(" "); |
| + printf(_("RX compressed:%lu\n"), ptr->stats.rx_compressed); |
| + } |
| + printf(" "); |
| + printf(_("RX errors %lu dropped %lu overruns %lu frame %lu\n"), |
| + ptr->stats.rx_errors, ptr->stats.rx_dropped, |
| + ptr->stats.rx_fifo_errors, ptr->stats.rx_frame_errors); |
| + |
| + |
| + printf(" "); |
| + printf(_("TX packets %llu bytes %llu (%lu.%lu %s)\n"), |
| + ptr->stats.tx_packets, |
| + tx, (unsigned long)(short_tx / 10), |
| + (unsigned long)(short_tx % 10), Text); |
| + if (can_compress) { |
| + printf(" "); |
| + printf(_("TX compressed %lu\n"), ptr->stats.tx_compressed); |
| + } |
| + printf(" "); |
| + printf(_("TX errors %lu dropped %lu overruns %lu carrier %lu collisions %lu\n"), |
| + ptr->stats.tx_errors, |
| + ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors, |
| + ptr->stats.tx_carrier_errors, ptr->stats.collisions); |
| } |
| |
| if ((ptr->map.irq || ptr->map.mem_start || ptr->map.dma || |
| ptr->map.base_addr >= 0x100)) { |
| - printf(" "); |
| + printf(" device "); |
| if (ptr->map.irq) |
| - printf(_("Interrupt:%d "), ptr->map.irq); |
| + printf(_("interrupt %d "), ptr->map.irq); |
| if (ptr->map.base_addr >= 0x100) /* Only print devices using it for |
| I/O maps */ |
| - printf(_("Base address:0x%x "), ptr->map.base_addr); |
| + printf(_("base 0x%x "), ptr->map.base_addr); |
| if (ptr->map.mem_start) { |
| - printf(_("Memory:%lx-%lx "), ptr->map.mem_start, ptr->map.mem_end); |
| + printf(_("memory 0x%lx-%lx "), ptr->map.mem_start, ptr->map.mem_end); |
| } |
| if (ptr->map.dma) |
| - printf(_("DMA chan:%x "), ptr->map.dma); |
| + printf(_(" dma 0x%x"), ptr->map.dma); |
| printf("\n"); |
| } |
| printf("\n"); |