]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/libsystemd/sd-netlink/test-local-addresses.c
6008bb4b199db47a580aa1e7ddb50b8240a4ade8
1 /* SPDX-License-Identifier: LGPL-2.1+ */
3 This file is part of systemd.
5 Copyright 2014 Lennart Poettering
9 #include "alloc-util.h"
10 #include "in-addr-util.h"
11 #include "local-addresses.h"
13 static void print_local_addresses(struct local_address
*a
, unsigned n
) {
16 for (i
= 0; i
< n
; i
++) {
17 _cleanup_free_
char *b
= NULL
;
19 assert_se(in_addr_to_string(a
[i
].family
, &a
[i
].address
, &b
) >= 0);
20 printf("%s if%i scope=%i metric=%u address=%s\n", af_to_name(a
[i
].family
), a
[i
].ifindex
, a
[i
].scope
, a
[i
].metric
, b
);
24 int main(int argc
, char *argv
[]) {
25 struct local_address
*a
;
28 log_set_max_level(LOG_DEBUG
);
29 log_parse_environment();
33 n
= local_addresses(NULL
, 0, AF_UNSPEC
, &a
);
36 printf("Local Addresses:\n");
37 print_local_addresses(a
, (unsigned) n
);
40 n
= local_gateways(NULL
, 0, AF_UNSPEC
, &a
);
43 printf("Local Gateways:\n");
44 print_local_addresses(a
, (unsigned) n
);