1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include "libnm-glib-aux/nm-default-glib-i18n-prog.h"
#include "libnm-log-core/nm-logging.h"
#include "libnm-platform/nm-netlink.h"
#include "libnm-platform/nmp-netns.h"
#include "nm-utils/nm-test-utils.h"
/*****************************************************************************/
void
_nm_logging_clear_platform_logging_cache(void)
{
/* this symbols is required by nm-log-core library. */
}
/*****************************************************************************/
static void
test_use_symbols(void)
{
static void (*const SYMBOLS[])(void) = {
(void (*)(void)) nl_nlmsghdr_to_str,
(void (*)(void)) nlmsg_hdr,
(void (*)(void)) nlmsg_reserve,
(void (*)(void)) nla_reserve,
(void (*)(void)) nlmsg_alloc_size,
(void (*)(void)) nlmsg_alloc,
(void (*)(void)) nlmsg_alloc_convert,
(void (*)(void)) nlmsg_alloc_simple,
(void (*)(void)) nlmsg_free,
(void (*)(void)) nlmsg_append,
(void (*)(void)) nlmsg_parse,
(void (*)(void)) nlmsg_put,
(void (*)(void)) nla_strlcpy,
(void (*)(void)) nla_memcpy,
(void (*)(void)) nla_put,
(void (*)(void)) nla_find,
(void (*)(void)) nla_nest_cancel,
(void (*)(void)) nla_nest_start,
(void (*)(void)) nla_nest_end,
(void (*)(void)) nla_parse,
(void (*)(void)) nlmsg_get_proto,
(void (*)(void)) nlmsg_set_proto,
(void (*)(void)) nlmsg_set_src,
(void (*)(void)) nlmsg_get_creds,
(void (*)(void)) nlmsg_set_creds,
(void (*)(void)) genlmsg_put,
(void (*)(void)) genlmsg_data,
(void (*)(void)) genlmsg_user_hdr,
(void (*)(void)) genlmsg_hdr,
(void (*)(void)) genlmsg_user_data,
(void (*)(void)) genlmsg_attrdata,
(void (*)(void)) genlmsg_len,
(void (*)(void)) genlmsg_attrlen,
(void (*)(void)) genlmsg_valid_hdr,
(void (*)(void)) genlmsg_parse,
(void (*)(void)) genl_ctrl_resolve,
(void (*)(void)) nl_socket_alloc,
(void (*)(void)) nl_socket_free,
(void (*)(void)) nl_socket_get_fd,
(void (*)(void)) nl_socket_get_local_port,
(void (*)(void)) nl_socket_get_msg_buf_size,
(void (*)(void)) nl_socket_set_passcred,
(void (*)(void)) nl_socket_set_msg_buf_size,
(void (*)(void)) nlmsg_get_dst,
(void (*)(void)) nl_socket_set_nonblocking,
(void (*)(void)) nl_socket_set_buffer_size,
(void (*)(void)) nl_socket_add_memberships,
(void (*)(void)) nl_socket_set_ext_ack,
(void (*)(void)) nl_socket_disable_msg_peek,
(void (*)(void)) nl_connect,
(void (*)(void)) nl_wait_for_ack,
(void (*)(void)) nl_recvmsgs,
(void (*)(void)) nl_sendmsg,
(void (*)(void)) nl_send_iovec,
(void (*)(void)) nl_complete_msg,
(void (*)(void)) nl_send,
(void (*)(void)) nl_send_auto,
(void (*)(void)) nl_recv,
(void (*)(void)) nmp_netns_bind_to_path,
(void (*)(void)) nmp_netns_bind_to_path_destroy,
(void (*)(void)) nmp_netns_get_current,
(void (*)(void)) nmp_netns_get_fd_mnt,
(void (*)(void)) nmp_netns_get_fd_net,
(void (*)(void)) nmp_netns_get_initial,
(void (*)(void)) nmp_netns_is_initial,
(void (*)(void)) nmp_netns_new,
(void (*)(void)) nmp_netns_pop,
(void (*)(void)) nmp_netns_push,
(void (*)(void)) nmp_netns_push_type,
NULL,
};
/* The only (not very exciting) purpose of this test is to see that
* we can use various symbols and don't get a linker error. */
assert(G_N_ELEMENTS(SYMBOLS) == NM_PTRARRAY_LEN(SYMBOLS) + 1);
}
/*****************************************************************************/
NMTST_DEFINE();
int
main(int argc, char **argv)
{
nmtst_init(&argc, &argv, TRUE);
g_test_add_func("/nm-platform/test_use_symbols", test_use_symbols);
return g_test_run();
}
|