ifaddrs
struct ifaddrs *ifa0, *ifa;
getlifaddrs2(struct ifaddrs **ifap,
struct ifaddrs *start = NULL, **end = &start;
static struct ifaddrs *
append_ifaddrs(struct ifaddrs *base, struct ifaddrs *supp) {
rk_getifaddrs(struct ifaddrs **ifap)
struct ifaddrs *v6addrs, *v4addrs;
rk_freeifaddrs(struct ifaddrs *ifp)
struct ifaddrs *p, *q;
print_ifaddrs(struct ifaddrs *x)
struct ifaddrs *p;
struct ifaddrs *a = NULL, *b;
rk_getifaddrs(struct ifaddrs **ifap)
struct ifaddrs *ifl = NULL, *ifa = NULL;
NLMSG_ALIGN(sizeof(struct ifaddrs[icnt]))
ifa = (struct ifaddrs *)data;
data += NLMSG_ALIGN(sizeof(struct ifaddrs)) * icnt;
rk_freeifaddrs(struct ifaddrs *ifp)
getifaddrs2(struct ifaddrs **ifap,
struct ifaddrs *start = NULL, **end = &start;
printifaddr(struct ifaddrs *ifp)
struct ifaddrs *ifp_head, *ifp, *ifp2;
struct ifaddrs *ifa, *ifaddrs = NULL;
if (getifaddrs(&ifaddrs) != 0) {
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
freeifaddrs(ifaddrs);
check_ifaddrs(const char *ifname, int af, const struct ifaddrs *ifaddrs,
const struct ifaddrs *ifa;
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
struct ifaddrs *ifaddrs = NULL;
if ((r = getifaddrs(&ifaddrs)) != 0) {
ifaddrs, &bindaddr, &bindaddrlen) != 0) {
if (ifaddrs != NULL)
freeifaddrs(ifaddrs);
struct ifaddrs *ifa_next;
extern int getifaddrs(struct ifaddrs **);
extern void freeifaddrs(struct ifaddrs *);
struct ifaddrs *ifaddrs, *ifa;
if (getifaddrs(&ifaddrs) != 0)
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
freeifaddrs(ifaddrs);
data = malloc(sizeof(struct ifaddrs) * icnt + dcnt + ncnt);
ifa = (struct ifaddrs *)(void *)data;
data += sizeof(struct ifaddrs) * icnt;
memset(ifa, 0, sizeof(struct ifaddrs) * icnt);
freeifaddrs(struct ifaddrs *ifp)
getifaddrs(struct ifaddrs **pif)
struct ifaddrs *cif;
struct ifaddrs *ifa, *ift;
struct ifaddrs *ifaddrs, *ifa;
if (getifaddrs(&ifaddrs) < 0)
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
freeifaddrs(ifaddrs);
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
freeifaddrs(ifaddrs);
struct ifaddrs *ifaddrs, *ifa;
if (getifaddrs(&ifaddrs) < 0)
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
struct ifaddrs *ifaddrs, *ifa;
if (getifaddrs(&ifaddrs) < 0)
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
freeifaddrs(ifaddrs);
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
freeifaddrs(ifaddrs);
struct ifaddrs *ifa;
struct ifaddrs *ifaddrs;
if (getifaddrs(&ifaddrs) < 0)
struct ifaddrs *ifap, *ifp;
struct ifaddrs *ifa;
ifconfig_foreach_ifaddr(ifconfig_handle_t *h, struct ifaddrs *ifa,
struct ifaddrs *ift;
struct ifaddrs *ifa, void *udata);
void ifconfig_foreach_ifaddr(ifconfig_handle_t *h, struct ifaddrs *ifa,
const char *name, struct ifaddrs *ifa, struct ifconfig_inet_addr *addr);
const char *name, struct ifaddrs *ifa, struct ifconfig_inet6_addr *addr);
struct ifaddrs;
const char *name __unused, struct ifaddrs *ifa,
const char *name, struct ifaddrs *ifa, struct ifconfig_inet6_addr *addr)
struct ifaddrs *ifap;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifa, *ifap;
in_status(if_ctx *ctx __unused, const struct ifaddrs *ifa)
struct ifaddrs *ifap, *ifa;
in6_status(if_ctx *ctx, const struct ifaddrs *ifa)
link_status(if_ctx *ctx, const struct ifaddrs *ifa)
struct ifaddrs *ifa;
status(if_ctx *ctx, const struct sockaddr_dl *sdl __unused, struct ifaddrs *ifa)
struct ifaddrs *ift;
print_vhid(const struct ifaddrs *ifa)
calcorders(struct ifaddrs *ifa, struct ifa_queue *q)
struct ifaddrs *prev;
cmpifaddrs(struct ifaddrs *a, struct ifaddrs *b, struct ifa_queue *q)
static struct ifaddrs *
sortifaddrs(struct ifaddrs *list,
int (*compare)(struct ifaddrs *, struct ifaddrs *, struct ifa_queue *),
struct ifaddrs *right, *temp, *last, *result, *next, *tail;
struct ifaddrs *ifap, *sifap, *ifa;
struct ifaddrs *ifa);
struct ifaddrs;
typedef void af_status_f(if_ctx *ctx, const struct ifaddrs *);
void print_vhid(const struct ifaddrs *);
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
print_inet6_addr(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_link_addr(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_ifaddr(ifconfig_handle_t *lifh, struct ifaddrs *ifa, void *udata __unused)
print_nd6(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_fib(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_lagg(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_laggport(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_groups(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_media(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_iface(ifconfig_handle_t *lifh, struct ifaddrs *ifa, void *udata __unused)
print_carp(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
print_inet4_addr(ifconfig_handle_t *lifh, struct ifaddrs *ifa)
struct ifaddrs *ifa0, *ifa;
struct ifaddrs *ifa0, *ifa;
struct ifaddrs *ifa, *ifap;
struct ifaddrs *ifa0, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifaphead, *ifap;
struct ifaddrs *ifap, *ifa;
process_ifa_addr(enum process_op op, struct ifaddrs *ifa, int *max_net_len,
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifa, *ifd, *ifas = NULL;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifa, *ifap;
struct ifaddrs *ifa;
struct ifaddrs *ifaddrs;
if (getifaddrs(&ifaddrs) < 0)
for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
freeifaddrs(ifaddrs);
struct ifaddrs *ifa, *ifap = NULL;
static void init_one(struct ifaddrs *, char *, int);
init_one(struct ifaddrs *ifa, char *target, int pass1)
struct ifaddrs *ifhead, *ifa;
struct ifaddrs *ifap, *ifa;
*ifaddr = (struct ifaddrs) {
struct ifaddrs *ifaddr = &mock_ifaddr_storage[ifaddr_count].ifaddr;
*ifaddr = (struct ifaddrs) {
struct ifaddrs ifaddr;
struct ifaddrs *mock_ifaddrs = NULL;
freeifaddrs(struct ifaddrs *ifp __unused)
getifaddrs(struct ifaddrs **ifap)
struct ifaddrs *ifaddr = &mock_ifaddr_storage[ifaddr_count].ifaddr;
struct ifaddrs *ifap, *ifp = NULL, *bestif;
struct ifaddrs *ifap, *ifp;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifap, *ifa;
struct ifaddrs *ifp, *p;