networking/interface.c: better readability (by Walter Harms)

mkfs_minix: whitespace fix
This commit is contained in:
Denis Vlasenko 2008-11-22 18:58:11 +00:00
parent ae6e135ae8
commit 12ff9dc714
2 changed files with 88 additions and 78 deletions

View File

@ -91,7 +91,7 @@ struct in6_ifreq {
/* Display an Internet socket address. */
static const char* FAST_FUNC INET_sprint(struct sockaddr *sap, int numeric)
{
static char *buff;
static char *buff; /* defaults to NULL */
free(buff);
if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
@ -916,63 +916,8 @@ static void print_bytes_scaled(unsigned long long ull, const char *end)
printf("X bytes:%llu (%llu.%u %sB)%s", ull, int_part, frac_part, ext, end);
}
static void ife_print(struct interface *ptr)
{
const struct aftype *ap;
const struct hwtype *hw;
int hf;
int can_compress = 0;
#ifdef HAVE_AFINET6
FILE *f;
char addr6[40], devname[20];
struct sockaddr_in6 sap;
int plen, scope, dad_status, if_idx;
char addr6p[8][5];
#endif
ap = get_afntype(ptr->addr.sa_family);
if (ap == NULL)
ap = get_afntype(0);
hf = ptr->type;
if (hf == ARPHRD_CSLIP || hf == ARPHRD_CSLIP6)
can_compress = 1;
hw = get_hwntype(hf);
if (hw == NULL)
hw = get_hwntype(-1);
printf("%-9.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((unsigned char *)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)");
}
#endif
bb_putchar('\n');
if (ptr->has_ip) {
printf(" %s addr:%s ", ap->name,
ap->sprint(&ptr->addr, 1));
if (ptr->flags & IFF_POINTOPOINT) {
printf(" P-t-P:%s ", ap->sprint(&ptr->dstaddr, 1));
}
if (ptr->flags & IFF_BROADCAST) {
printf(" Bcast:%s ", ap->sprint(&ptr->broadaddr, 1));
}
printf(" Mask:%s\n", ap->sprint(&ptr->netmask, 1));
}
#ifdef HAVE_AFINET6
#define IPV6_ADDR_ANY 0x0000U
#define IPV6_ADDR_UNICAST 0x0001U
@ -990,8 +935,20 @@ static void ife_print(struct interface *ptr)
#define IPV6_ADDR_MAPPED 0x1000U
#define IPV6_ADDR_RESERVED 0x2000U /* reserved address space */
static void ife_print6(struct interface *ptr)
{
FILE *f;
char addr6[40], devname[20];
struct sockaddr_in6 sap;
int plen, scope, dad_status, if_idx;
char addr6p[8][5];
f = fopen_for_read(_PATH_PROCNET_IFINET6);
if (f != NULL) {
if (f == NULL)
return;
while (fscanf
(f, "%4s%4s%4s%4s%4s%4s%4s%4s %08x %02x %02x %02x %20s\n",
addr6p[0], addr6p[1], addr6p[2], addr6p[3], addr6p[4],
@ -1031,8 +988,62 @@ static void ife_print(struct interface *ptr)
}
}
fclose(f);
}
#else
static void ife_print6(struct interface *ptr) {}
#endif
static void ife_print(struct interface *ptr)
{
const struct aftype *ap;
const struct hwtype *hw;
int hf;
int can_compress = 0;
ap = get_afntype(ptr->addr.sa_family);
if (ap == NULL)
ap = get_afntype(0);
hf = ptr->type;
if (hf == ARPHRD_CSLIP || hf == ARPHRD_CSLIP6)
can_compress = 1;
hw = get_hwntype(hf);
if (hw == NULL)
hw = get_hwntype(-1);
printf("%-9.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((unsigned char *)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)");
}
#endif
bb_putchar('\n');
if (ptr->has_ip) {
printf(" %s addr:%s ", ap->name,
ap->sprint(&ptr->addr, 1));
if (ptr->flags & IFF_POINTOPOINT) {
printf(" P-t-P:%s ", ap->sprint(&ptr->dstaddr, 1));
}
if (ptr->flags & IFF_BROADCAST) {
printf(" Bcast:%s ", ap->sprint(&ptr->broadaddr, 1));
}
printf(" Mask:%s\n", ap->sprint(&ptr->netmask, 1));
}
ife_print6(ptr);
printf(" ");
/* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */
@ -1124,11 +1135,11 @@ static void ife_print(struct interface *ptr)
printf("\n R");
print_bytes_scaled(ptr->stats.rx_bytes, " T");
print_bytes_scaled(ptr->stats.tx_bytes, "\n");
}
if ((ptr->map.irq || ptr->map.mem_start || ptr->map.dma ||
ptr->map.base_addr)) {
if (ptr->map.irq || ptr->map.mem_start
|| ptr->map.dma || ptr->map.base_addr
) {
printf(" ");
if (ptr->map.irq)
printf("Interrupt:%d ", ptr->map.irq);
@ -1147,7 +1158,6 @@ static void ife_print(struct interface *ptr)
bb_putchar('\n');
}
static int do_if_print(struct interface *ife) /*, int *opt_a)*/
{
int res;