]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
e9140aff | 2 | |
ca78ad1d ZJS |
3 | #include <stdio.h> |
4 | ||
cf0fbc49 | 5 | #include "af-list.h" |
b5efdb8a | 6 | #include "alloc-util.h" |
e9140aff LP |
7 | #include "in-addr-util.h" |
8 | #include "local-addresses.h" | |
6d7c4033 | 9 | #include "tests.h" |
e9140aff LP |
10 | |
11 | static void print_local_addresses(struct local_address *a, unsigned n) { | |
12 | unsigned i; | |
13 | ||
14 | for (i = 0; i < n; i++) { | |
15 | _cleanup_free_ char *b = NULL; | |
16 | ||
17 | assert_se(in_addr_to_string(a[i].family, &a[i].address, &b) >= 0); | |
18 | 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); | |
19 | } | |
20 | } | |
21 | ||
22 | int main(int argc, char *argv[]) { | |
23 | struct local_address *a; | |
24 | int n; | |
25 | ||
6d7c4033 | 26 | test_setup_logging(LOG_DEBUG); |
875274a4 | 27 | |
e9140aff | 28 | a = NULL; |
1d050e1e | 29 | n = local_addresses(NULL, 0, AF_UNSPEC, &a); |
e9140aff LP |
30 | assert_se(n >= 0); |
31 | ||
32 | printf("Local Addresses:\n"); | |
33 | print_local_addresses(a, (unsigned) n); | |
97b11eed | 34 | a = mfree(a); |
e9140aff | 35 | |
1d050e1e | 36 | n = local_gateways(NULL, 0, AF_UNSPEC, &a); |
e9140aff LP |
37 | assert_se(n >= 0); |
38 | ||
39 | printf("Local Gateways:\n"); | |
40 | print_local_addresses(a, (unsigned) n); | |
41 | free(a); | |
42 | ||
43 | return 0; | |
44 | } |