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. */ /* Display an Internet socket address. */
static const char* FAST_FUNC INET_sprint(struct sockaddr *sap, int numeric) static const char* FAST_FUNC INET_sprint(struct sockaddr *sap, int numeric)
{ {
static char *buff; static char *buff; /* defaults to NULL */
free(buff); free(buff);
if (sap->sa_family == 0xFFFF || sap->sa_family == 0) if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
@ -916,6 +916,84 @@ 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); printf("X bytes:%llu (%llu.%u %sB)%s", ull, int_part, frac_part, ext, end);
} }
#ifdef HAVE_AFINET6
#define IPV6_ADDR_ANY 0x0000U
#define IPV6_ADDR_UNICAST 0x0001U
#define IPV6_ADDR_MULTICAST 0x0002U
#define IPV6_ADDR_ANYCAST 0x0004U
#define IPV6_ADDR_LOOPBACK 0x0010U
#define IPV6_ADDR_LINKLOCAL 0x0020U
#define IPV6_ADDR_SITELOCAL 0x0040U
#define IPV6_ADDR_COMPATv4 0x0080U
#define IPV6_ADDR_SCOPE_MASK 0x00f0U
#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)
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],
addr6p[5], addr6p[6], addr6p[7], &if_idx, &plen, &scope,
&dad_status, devname) != EOF
) {
if (!strcmp(devname, ptr->name)) {
sprintf(addr6, "%s:%s:%s:%s:%s:%s:%s:%s",
addr6p[0], addr6p[1], addr6p[2], addr6p[3],
addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
inet_pton(AF_INET6, addr6,
(struct sockaddr *) &sap.sin6_addr);
sap.sin6_family = AF_INET6;
printf(" inet6 addr: %s/%d",
INET6_sprint((struct sockaddr *) &sap, 1),
plen);
printf(" Scope:");
switch (scope & IPV6_ADDR_SCOPE_MASK) {
case 0:
puts("Global");
break;
case IPV6_ADDR_LINKLOCAL:
puts("Link");
break;
case IPV6_ADDR_SITELOCAL:
puts("Site");
break;
case IPV6_ADDR_COMPATv4:
puts("Compat");
break;
case IPV6_ADDR_LOOPBACK:
puts("Host");
break;
default:
puts("Unknown");
}
}
}
fclose(f);
}
#else
static void ife_print6(struct interface *ptr) {}
#endif
static void ife_print(struct interface *ptr) static void ife_print(struct interface *ptr)
{ {
const struct aftype *ap; const struct aftype *ap;
@ -923,14 +1001,6 @@ static void ife_print(struct interface *ptr)
int hf; int hf;
int can_compress = 0; 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); ap = get_afntype(ptr->addr.sa_family);
if (ap == NULL) if (ap == NULL)
ap = get_afntype(0); ap = get_afntype(0);
@ -947,9 +1017,11 @@ static void ife_print(struct interface *ptr)
printf("%-9.9s Link encap:%s ", ptr->name, hw->title); printf("%-9.9s Link encap:%s ", ptr->name, hw->title);
/* For some hardware types (eg Ash, ATM) we don't print the /* For some hardware types (eg Ash, ATM) we don't print the
hardware address if it's null. */ hardware address if it's null. */
if (hw->print != NULL && (!(hw_null_address(hw, ptr->hwaddr) && if (hw->print != NULL
hw->suppress_null_addr))) && !(hw_null_address(hw, ptr->hwaddr) && hw->suppress_null_addr)
) {
printf("HWaddr %s ", hw->print((unsigned char *)ptr->hwaddr)); printf("HWaddr %s ", hw->print((unsigned char *)ptr->hwaddr));
}
#ifdef IFF_PORTSEL #ifdef IFF_PORTSEL
if (ptr->flags & IFF_PORTSEL) { if (ptr->flags & IFF_PORTSEL) {
printf("Media:%s", if_port_text[ptr->map.port] /* [0] */); printf("Media:%s", if_port_text[ptr->map.port] /* [0] */);
@ -971,68 +1043,7 @@ static void ife_print(struct interface *ptr)
printf(" Mask:%s\n", ap->sprint(&ptr->netmask, 1)); printf(" Mask:%s\n", ap->sprint(&ptr->netmask, 1));
} }
#ifdef HAVE_AFINET6 ife_print6(ptr);
#define IPV6_ADDR_ANY 0x0000U
#define IPV6_ADDR_UNICAST 0x0001U
#define IPV6_ADDR_MULTICAST 0x0002U
#define IPV6_ADDR_ANYCAST 0x0004U
#define IPV6_ADDR_LOOPBACK 0x0010U
#define IPV6_ADDR_LINKLOCAL 0x0020U
#define IPV6_ADDR_SITELOCAL 0x0040U
#define IPV6_ADDR_COMPATv4 0x0080U
#define IPV6_ADDR_SCOPE_MASK 0x00f0U
#define IPV6_ADDR_MAPPED 0x1000U
#define IPV6_ADDR_RESERVED 0x2000U /* reserved address space */
f = fopen_for_read(_PATH_PROCNET_IFINET6);
if (f != NULL) {
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],
addr6p[5], addr6p[6], addr6p[7], &if_idx, &plen, &scope,
&dad_status, devname) != EOF
) {
if (!strcmp(devname, ptr->name)) {
sprintf(addr6, "%s:%s:%s:%s:%s:%s:%s:%s",
addr6p[0], addr6p[1], addr6p[2], addr6p[3],
addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
inet_pton(AF_INET6, addr6,
(struct sockaddr *) &sap.sin6_addr);
sap.sin6_family = AF_INET6;
printf(" inet6 addr: %s/%d",
INET6_sprint((struct sockaddr *) &sap, 1),
plen);
printf(" Scope:");
switch (scope & IPV6_ADDR_SCOPE_MASK) {
case 0:
puts("Global");
break;
case IPV6_ADDR_LINKLOCAL:
puts("Link");
break;
case IPV6_ADDR_SITELOCAL:
puts("Site");
break;
case IPV6_ADDR_COMPATv4:
puts("Compat");
break;
case IPV6_ADDR_LOOPBACK:
puts("Host");
break;
default:
puts("Unknown");
}
}
}
fclose(f);
}
#endif
printf(" "); printf(" ");
/* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */ /* 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"); printf("\n R");
print_bytes_scaled(ptr->stats.rx_bytes, " T"); print_bytes_scaled(ptr->stats.rx_bytes, " T");
print_bytes_scaled(ptr->stats.tx_bytes, "\n"); print_bytes_scaled(ptr->stats.tx_bytes, "\n");
} }
if ((ptr->map.irq || ptr->map.mem_start || ptr->map.dma || if (ptr->map.irq || ptr->map.mem_start
ptr->map.base_addr)) { || ptr->map.dma || ptr->map.base_addr
) {
printf(" "); printf(" ");
if (ptr->map.irq) if (ptr->map.irq)
printf("Interrupt:%d ", ptr->map.irq); printf("Interrupt:%d ", ptr->map.irq);
@ -1147,7 +1158,6 @@ static void ife_print(struct interface *ptr)
bb_putchar('\n'); bb_putchar('\n');
} }
static int do_if_print(struct interface *ife) /*, int *opt_a)*/ static int do_if_print(struct interface *ife) /*, int *opt_a)*/
{ {
int res; int res;

View File

@ -160,7 +160,7 @@ static ALWAYS_INLINE unsigned div_roundup(unsigned size, unsigned n)
static int minix_bit(const char* a, unsigned i) static int minix_bit(const char* a, unsigned i)
{ {
return a[i >> 3] & (1<<(i & 7)); return a[i >> 3] & (1<<(i & 7));
} }
static void minix_setbit(char *a, unsigned i) static void minix_setbit(char *a, unsigned i)