51 lines
2.4 KiB
C
51 lines
2.4 KiB
C
/* 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 */
|