summaryrefslogtreecommitdiffstats
path: root/plugins/ocp/ocp-print.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ocp/ocp-print.h')
-rw-r--r--plugins/ocp/ocp-print.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/plugins/ocp/ocp-print.h b/plugins/ocp/ocp-print.h
new file mode 100644
index 0000000..85655b9
--- /dev/null
+++ b/plugins/ocp/ocp-print.h
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef OCP_PRINT_H
+#define OCP_PRINT_H
+
+#include "ocp-hardware-component-log.h"
+#include "ocp-fw-activation-history.h"
+#include "ocp-telemetry-decode.h"
+#include "ocp-nvme.h"
+
+struct ocp_print_ops {
+ void (*hwcomp_log)(struct hwcomp_log *log, __u32 id, bool list);
+ void (*fw_act_history)(const struct fw_activation_history *fw_history);
+ void (*smart_extended_log)(void *data);
+ void (*telemetry_log)(struct ocp_telemetry_parse_options *options);
+ void (*c3_log)(struct nvme_dev *dev, struct ssd_latency_monitor_log *log_data);
+ void (*c5_log)(struct nvme_dev *dev, struct unsupported_requirement_log *log_data);
+ void (*c1_log)(struct ocp_error_recovery_log_page *log_data);
+ void (*c4_log)(struct ocp_device_capabilities_log_page *log_data);
+ void (*c9_log)(struct telemetry_str_log_format *log_data, __u8 *log_data_buf,
+ int total_log_page_size);
+ void (*c7_log)(struct nvme_dev *dev, struct tcg_configuration_log *log_data);
+ nvme_print_flags_t flags;
+};
+
+struct ocp_print_ops *ocp_get_stdout_print_ops(nvme_print_flags_t flags);
+struct ocp_print_ops *ocp_get_binary_print_ops(nvme_print_flags_t flags);
+
+#ifdef CONFIG_JSONC
+struct ocp_print_ops *ocp_get_json_print_ops(nvme_print_flags_t flags);
+#else /* !CONFIG_JSONC */
+static inline struct ocp_print_ops *ocp_get_json_print_ops(nvme_print_flags_t flags)
+{
+ return NULL;
+}
+#endif /* !CONFIG_JSONC */
+
+void ocp_show_hwcomp_log(struct hwcomp_log *log, __u32 id, bool list, nvme_print_flags_t flags);
+void ocp_fw_act_history(const struct fw_activation_history *fw_history, nvme_print_flags_t flags);
+void ocp_smart_extended_log(void *data, nvme_print_flags_t flags);
+void ocp_show_telemetry_log(struct ocp_telemetry_parse_options *options, nvme_print_flags_t flags);
+void ocp_c3_log(struct nvme_dev *dev, struct ssd_latency_monitor_log *log_data,
+ nvme_print_flags_t flags);
+void ocp_c5_log(struct nvme_dev *dev, struct unsupported_requirement_log *log_data,
+ nvme_print_flags_t flags);
+void ocp_c1_log(struct ocp_error_recovery_log_page *log_data, nvme_print_flags_t flags);
+void ocp_c4_log(struct ocp_device_capabilities_log_page *log_data, nvme_print_flags_t flags);
+void ocp_c9_log(struct telemetry_str_log_format *log_data, __u8 *log_data_buf,
+ int total_log_page_size, nvme_print_flags_t flags);
+void ocp_c7_log(struct nvme_dev *dev, struct tcg_configuration_log *log_data,
+ nvme_print_flags_t flags);
+#endif /* OCP_PRINT_H */