brintos

brintos / linux-shallow public Read only

0
0
Text · 2.0 KiB · 9631810 Raw
104 lines · c
1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */2// Copyright (C) 2018 Facebook3 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#endif104