]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/libsystemd/sd-netlink/test-local-addresses.c
1 /* SPDX-License-Identifier: LGPL-2.1+ */
6 #include "alloc-util.h"
7 #include "in-addr-util.h"
8 #include "local-addresses.h"
10 static void print_local_addresses(struct local_address
*a
, unsigned n
) {
13 for (i
= 0; i
< n
; i
++) {
14 _cleanup_free_
char *b
= NULL
;
16 assert_se(in_addr_to_string(a
[i
].family
, &a
[i
].address
, &b
) >= 0);
17 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
);
21 int main(int argc
, char *argv
[]) {
22 struct local_address
*a
;
25 log_set_max_level(LOG_DEBUG
);
26 log_parse_environment();
30 n
= local_addresses(NULL
, 0, AF_UNSPEC
, &a
);
33 printf("Local Addresses:\n");
34 print_local_addresses(a
, (unsigned) n
);
37 n
= local_gateways(NULL
, 0, AF_UNSPEC
, &a
);
40 printf("Local Gateways:\n");
41 print_local_addresses(a
, (unsigned) n
);