Linux Audio

Check our new training course

Loading...
  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