1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Definitions for the NVM Express interface: libnvme/libnvme-mi device
* wrappers.
*/
#ifndef _NVME_WRAP_H
#define _NVME_WRAP_H
#include "nvme.h"
int nvme_cli_identify(struct nvme_dev *dev, struct nvme_identify_args *args);
int nvme_cli_identify_ctrl(struct nvme_dev *dev, struct nvme_id_ctrl *ctrl);
int nvme_cli_identify_ctrl_list(struct nvme_dev *dev, __u16 ctrl_id,
struct nvme_ctrl_list *list);
int nvme_cli_identify_nsid_ctrl_list(struct nvme_dev *dev, __u32 nsid,
__u16 ctrl_id,
struct nvme_ctrl_list *list);
int nvme_cli_identify_ns(struct nvme_dev *dev, __u32 nsid,
struct nvme_id_ns *ns);
int nvme_cli_identify_allocated_ns(struct nvme_dev *dev, __u32 nsid,
struct nvme_id_ns *ns);
int nvme_cli_identify_active_ns_list(struct nvme_dev *dev, __u32 nsid,
struct nvme_ns_list *list);
int nvme_cli_identify_allocated_ns_list(struct nvme_dev *dev, __u32 nsid,
struct nvme_ns_list *list);
int nvme_cli_ns_mgmt_delete(struct nvme_dev *dev, __u32 nsid);
int nvme_cli_ns_mgmt_create(struct nvme_dev *dev, struct nvme_id_ns *ns,
__u32 *nsid, __u32 timeout, __u8 csi);
int nvme_cli_ns_attach(struct nvme_dev *dev, struct nvme_ns_attach_args *args);
int nvme_cli_ns_attach_ctrls(struct nvme_dev *dev, __u32 nsid,
struct nvme_ctrl_list *ctrlist);
int nvme_cli_ns_detach_ctrls(struct nvme_dev *dev, __u32 nsid,
struct nvme_ctrl_list *ctrlist);
int nvme_cli_format_nvm(struct nvme_dev *dev, struct nvme_format_nvm_args *args);
int nvme_cli_sanitize_nvm(struct nvme_dev *dev,
struct nvme_sanitize_nvm_args *args);
int nvme_cli_get_features(struct nvme_dev *dev,
struct nvme_get_features_args *args);
int nvme_cli_get_log(struct nvme_dev *dev, struct nvme_get_log_args *args);
int nvme_cli_get_nsid_log(struct nvme_dev *dev, bool rae,
enum nvme_cmd_get_log_lid lid,
__u32 nsid, __u32 len, void *log);
int nvme_cli_get_log_simple(struct nvme_dev *dev,
enum nvme_cmd_get_log_lid lid,
__u32 len, void *log);
int nvme_cli_get_log_supported_log_pages(struct nvme_dev *dev, bool rae,
struct nvme_supported_log_pages *log);
int nvme_cli_get_log_error(struct nvme_dev *dev, unsigned int nr_entries,
bool rae, struct nvme_error_log_page *err_log);
int nvme_cli_get_log_smart(struct nvme_dev *dev, __u32 nsid, bool rae,
struct nvme_smart_log *smart_log);
int nvme_cli_get_log_fw_slot(struct nvme_dev *dev, bool rae,
struct nvme_firmware_slot *fw_log);
int nvme_cli_get_log_changed_ns_list(struct nvme_dev *dev, bool rae,
struct nvme_ns_list *ns_log);
int nvme_cli_get_log_cmd_effects(struct nvme_dev *dev, enum nvme_csi csi,
struct nvme_cmd_effects_log *effects_log);
int nvme_cli_get_log_device_self_test(struct nvme_dev *dev,
struct nvme_self_test_log *log);
int nvme_cli_get_log_create_telemetry_host(struct nvme_dev *dev,
struct nvme_telemetry_log *log);
int nvme_cli_get_log_telemetry_host(struct nvme_dev *dev, __u64 offset,
__u32 len, void *log);
int nvme_cli_get_log_telemetry_ctrl(struct nvme_dev *dev, bool rae,
__u64 offset, __u32 len, void *log);
int nvme_cli_get_log_endurance_group(struct nvme_dev *dev, __u16 endgid,
struct nvme_endurance_group_log *log);
int nvme_cli_get_log_predictable_lat_nvmset(struct nvme_dev *dev,
__u16 nvmsetid,
struct nvme_nvmset_predictable_lat_log *log);
int nvme_cli_get_log_predictable_lat_event(struct nvme_dev *dev, bool rae,
__u32 offset, __u32 len, void *log);
int nvme_cli_get_log_ana(struct nvme_dev *dev,
enum nvme_log_ana_lsp lsp, bool rae,
__u64 offset, __u32 len, void *log);
int nvme_cli_get_log_ana_groups(struct nvme_dev *dev, bool rae, __u32 len,
struct nvme_ana_group_desc *log);
int nvme_cli_get_log_lba_status(struct nvme_dev *dev, bool rae,
__u64 offset, __u32 len, void *log);
int nvme_cli_get_log_endurance_grp_evt(struct nvme_dev *dev, bool rae,
__u32 offset, __u32 len, void *log);
int nvme_cli_get_log_fid_supported_effects(struct nvme_dev *dev, bool rae,
struct nvme_fid_supported_effects_log *log);
int nvme_cli_get_log_mi_cmd_supported_effects(struct nvme_dev *dev, bool rae,
struct nvme_mi_cmd_supported_effects_log *log);
int nvme_cli_get_log_boot_partition(struct nvme_dev *dev, bool rae, __u8 lsp,
__u32 len,
struct nvme_boot_partition *part);
int nvme_cli_get_log_discovery(struct nvme_dev *dev, bool rae,
__u32 offset, __u32 len, void *log);
int nvme_cli_get_log_media_unit_stat(struct nvme_dev *dev, __u16 domid,
struct nvme_media_unit_stat_log *mus);
int nvme_cli_get_log_support_cap_config_list(struct nvme_dev *dev,
__u16 domid,
struct nvme_supported_cap_config_list_log *cap);
int nvme_cli_get_log_reservation(struct nvme_dev *dev, bool rae,
struct nvme_resv_notification_log *log);
int nvme_cli_get_log_sanitize(struct nvme_dev *dev, bool rae,
struct nvme_sanitize_log_page *log);
int nvme_cli_get_log_zns_changed_zones(struct nvme_dev *dev, __u32 nsid,
bool rae,
struct nvme_zns_changed_zone_log *log);
int nvme_cli_get_log_persistent_event(struct nvme_dev *dev,
enum nvme_pevent_log_action action,
__u32 size, void *pevent_log);
int nvme_cli_fw_download(struct nvme_dev *dev,
struct nvme_fw_download_args *args);
int nvme_cli_fw_commit(struct nvme_dev *dev,
struct nvme_fw_commit_args *args);
int nvme_cli_get_feature_length2(int fid, __u32 cdw11, enum nvme_data_tfr dir,
__u32 *len);
#endif /* _NVME_WRAP_H */
|