Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/bpf/bpftool/netlink_dumper.h
26285 views
1
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2
// Copyright (C) 2018 Facebook
3
4
#ifndef _NETLINK_DUMPER_H_
5
#define _NETLINK_DUMPER_H_
6
7
#define NET_START_OBJECT \
8
{ \
9
if (json_output) \
10
jsonw_start_object(json_wtr); \
11
}
12
13
#define NET_START_OBJECT_NESTED(name) \
14
{ \
15
if (json_output) { \
16
jsonw_name(json_wtr, name); \
17
jsonw_start_object(json_wtr); \
18
} else { \
19
fprintf(stdout, "%s {", name); \
20
} \
21
}
22
23
#define NET_START_OBJECT_NESTED2 \
24
{ \
25
if (json_output) \
26
jsonw_start_object(json_wtr); \
27
else \
28
fprintf(stdout, "{"); \
29
}
30
31
#define NET_END_OBJECT_NESTED \
32
{ \
33
if (json_output) \
34
jsonw_end_object(json_wtr); \
35
else \
36
fprintf(stdout, "}"); \
37
}
38
39
#define NET_END_OBJECT \
40
{ \
41
if (json_output) \
42
jsonw_end_object(json_wtr); \
43
}
44
45
#define NET_END_OBJECT_FINAL \
46
{ \
47
if (json_output) \
48
jsonw_end_object(json_wtr); \
49
else \
50
fprintf(stdout, "\n"); \
51
}
52
53
#define NET_START_ARRAY(name, fmt_str) \
54
{ \
55
if (json_output) { \
56
jsonw_name(json_wtr, name); \
57
jsonw_start_array(json_wtr); \
58
} else { \
59
fprintf(stdout, fmt_str, name); \
60
} \
61
}
62
63
#define NET_END_ARRAY(endstr) \
64
{ \
65
if (json_output) \
66
jsonw_end_array(json_wtr); \
67
else \
68
fprintf(stdout, "%s", endstr); \
69
}
70
71
#define NET_DUMP_UINT(name, fmt_str, val) \
72
{ \
73
if (json_output) \
74
jsonw_uint_field(json_wtr, name, val); \
75
else \
76
fprintf(stdout, fmt_str, val); \
77
}
78
79
#define NET_DUMP_UINT_ONLY(str) \
80
{ \
81
if (json_output) \
82
jsonw_uint(json_wtr, str); \
83
else \
84
fprintf(stdout, "%u ", str); \
85
}
86
87
#define NET_DUMP_STR(name, fmt_str, str) \
88
{ \
89
if (json_output) \
90
jsonw_string_field(json_wtr, name, str);\
91
else \
92
fprintf(stdout, fmt_str, str); \
93
}
94
95
#define NET_DUMP_STR_ONLY(str) \
96
{ \
97
if (json_output) \
98
jsonw_string(json_wtr, str); \
99
else \
100
fprintf(stdout, "%s ", str); \
101
}
102
103
#endif
104
105