1nvme_mi_admin_admin_passthru(9)libnvme API manualnvme_mi_admin_admin_passthru(9)
2
3
4
6 nvme_mi_admin_admin_passthru - Submit an nvme admin passthrough command
7
9 int nvme_mi_admin_admin_passthru (nvme_mi_ctrl_t ctrl , __u8 opcode ,
10 __u8 flags , __u16 rsvd , __u32 nsid , __u32 cdw2 , __u32 cdw3 , __u32
11 cdw10 , __u32 cdw11 , __u32 cdw12 , __u32 cdw13 , __u32 cdw14 , __u32
12 cdw15 , __u32 data_len , void *data , __u32 metadata_len , void *meta‐
13 data , __u32 timeout_ms , __u32 *result );
14
16 ctrl Controller to send command to
17
18 opcode The nvme admin command to send
19
20 flags NVMe command flags (not used)
21
22 rsvd Reserved for future use
23
24 nsid Namespace identifier
25
26 cdw2 Command dword 2
27
28 cdw3 Command dword 3
29
30 cdw10 Command dword 10
31
32 cdw11 Command dword 11
33
34 cdw12 Command dword 12
35
36 cdw13 Command dword 13
37
38 cdw14 Command dword 14
39
40 cdw15 Command dword 15
41
42 data_len Length of the data transferred in this command in bytes
43
44 data Pointer to user address of the data buffer
45
46 metadata_len
47 Length of metadata transferred in this command(not used)
48
49 metadata Pointer to user address of the metadata buffer(not used)
50
51 timeout_ms How long to wait for the command to complete
52
53 result Optional field to return the result from the CQE dword 0
54
56 Send a customized NVMe Admin command request message and get the corre‐
57 sponding response message.
58
59 This interface supports no data, host to controller and controller to
60 host but it doesn't support bidirectional data transfer. Also this in‐
61 terface only supports data transfer size range [0, 4096] (bytes) so the
62 & data_len parameter must be less than 4097.
63
65 The nvme command status if a response was received (see enum nvme_sta‐
66 tus_field) or -1 with errno set otherwise.
67
68
69
70October 2023 nvme_mi_admin_admin_pasnsvtmher_umi_admin_admin_passthru(9)