| /* AFS network device helpers |
| * Copyright (c) 2007 Patrick McHardy <kaber@trash.net> |
| #include <linux/string.h> |
| #include <linux/rtnetlink.h> |
| #include <linux/inetdevice.h> |
| #include <linux/netdevice.h> |
| #include <linux/if_arp.h> |
| * get a MAC address from a random ethernet interface that has a real one |
| * - the buffer will normally be 6 bytes in size |
| int afs_get_MAC_address(u8 *mac, size_t maclen) |
| dev = __dev_getfirstbyhwtype(ARPHRD_ETHER); |
| memcpy(mac, dev->dev_addr, maclen); |
| * get a list of this system's interface IPv4 addresses, netmasks and MTUs |
| * - maxbufs must be at least 1 |
| * - returns the number of interface records in the buffer |
| int afs_get_ipv4_interfaces(struct afs_interface *bufs, size_t maxbufs, |
| if (dev->type == ARPHRD_LOOPBACK && !wantloopback) |
| idev = __in_dev_get_rtnl(dev); |
| bufs[n].address.s_addr = ifa->ifa_address; |
| bufs[n].netmask.s_addr = ifa->ifa_mask; |